Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3328|回复: 11

[已解决]非常绕人的数据统计,跪求帮助!

[复制链接]
发表于 2015-6-22 19:27 | 显示全部楼层 |阅读模式
正在进行一个非常绕人的数据统计,转来转去晕死了,求哪位高人帮忙写个按钮程序,万分感谢!

大原则
1.       B:F为手工填入的基础数据,一行为一组数据,该数据为数字1-11中的任意5个,不会有重复数字,该组按从左到右排序分为5个位置序号,即B1:F1所显示的位置序号;
2.       H:K的数据以B:F为参考数据获得;L:O的数据以P:U为参考数据获得;
3.       整个需求涉及3个工作表,总共3个部分的内容

希望自动以按钮实现以下取数
第一部分:“J”工作表中B:U部分
1.       P:U取数规则:1-11中除B:F中出现的数字之外的剩余数字,每行对应;
例如:B2:F2是2,3,4,6,10
             1-11这些数字中剩余的是1,5,7,8,9,11
则P:U就自动显示1 5 7 8 9 11
2.       H2取数规则:将B2:F2和B3:F3的数据进行比对,出现重复的数字在B2:F2中所代表的位置序号显示于H2中,以空格分开
例如:B2:F2是2,3,4,6,10
          B3:F3是4,5,6,10,11
重复的数字是4,6,10  这三个数字在B2:F2中的位置是第3,4,5位
则H2中显示3 4 5
3.       J2取数规则:1-5个数字中,除H2中显示的数字外剩余的数字显示于J2中,并以空格分开
   接上例:1-5中排除3 4 5后剩下1 2在J2中显示
4.       L2取数规则:将P2:U2和B3:F3的数据进行比对,重复的数字在P2:U2中代表的位置序号显示于L2中,并以空格分开;
   接上例:P2:U2是1,5,7,8,9,11
                B3:F3是4,5,6,10,11
重复的数字是5,11  这2个数字在P2:U2的位置顺序是第2,6位
则L2显示2 6
5.       N2取数规则:1-6数字中,除L2中显示的数字外剩余的数字显示于N2中,并以空格分开;
   接上例:1-6中排除2 6后剩下的1 3 4 5显示于N2中
6.       i2取数规则:将H2和H3的数据进行比对,相同数字在H2中所代表的位置序号,并以空格分开;
   接上例:通过B2:F4的三行数据才能获得H2和H3的数据
                H2是3 4 5;H3是1 3,重复的数字是3;
                3在H2中在第1位,所以i2显示为1
7.       K2取数规则:将J2和J3的数据进行比对,相同数字在J2中所代表的位置序号,并以空格分开;
接上例:J2是1 2;J3是2 4 5,重复的数字是2;
             2在J2中是在第2位的,所以K2显示为2
8.       M2取数规则:将L2和L3的数据进行比对,相同数字在L2中所代表的位置序号,并以空格分开;
接上例:L2是2 6;L3是1 2 3,重复的数字是2;
             2在L2中是在第1位的,所以M2显示为1
9.       O2取数规则:将N2和N3的数据进行比对,相同数字在N2中所代表的位置序号,并以空格分开;
接上例:N2是1 3 4 5;N3是4 5 6,重复的数字是4 5;
             4 5在N2中是在第3,4位的,所以O2显示为3 4
10.    以上数据,当没有重复位置时,该单元格以橙色块填充;
例:H3是1 3;H4是4 5,没有重复的数字;
则i2就以橙色填充
11.    当还没有出下面的新数据,无法比对时,数据暂空,如H20:O21;

第二部分:“J”工作表中W:EF部分
在“J”工作表中,这个部分是以B:F为基础数据分别将每个区域按不同的取数规则用代码显示出来,请参看“条件设定”表;
理想方式:可以在“条件设定”表中更换每个代码所代表的数字,“J”和“W”表中的翻译数据可以根据不同条件设定进行翻译和表现,这2个表是采用相同标准进行翻译。
如果不能按自行设定的条件灵活翻译,就请以条件设定表中现在设定的规则进行翻译:
l  2号区域区域(即  W:AG):
1.       将B:F中的数字按以下规则翻译出来,分别显示于W:AA中(即2号区域的绿色区中)
1)       1,10,11=1( B:F中出现的1,10,11均用1来代表,以下同理)
2)       2,9=2
3)       3,8=3
4)       4,7=4
5)       5,6=5
2.       将W:AA中翻译出的结果合并重复数字并按从小到大的顺序显示于AC:AG中(即2号区域的灰蓝色区中),位数不够5位的末尾以0补齐,若同一行出现2个及2个以上0的,以橙色填充;
  3号区域只要出现0就用橙色填充,其他区域出现2个及2个以上0的,以橙色填充
例如:“J”表中B2:F2数字分别是2 3 4 6 10,按规则翻译出来的代码分别是2 3 4 5 1(即W:AA的结果)
整理后为1 2 3 4 5,填列在AC:AG中
其他区域原理相同,只是每个区域1-5这5个数所代表的数字是不一样的

第三部分:“W”工作表
各区域翻译条件完全等同于第二部分各分区的规则;
区别只是其翻译的数据是“W”表中N:S的数字,也就是每行有6个数字需要按规则翻译为对应代码,翻译完成后的要求也和第二部分完全相同。

数据量很大,大概有上万条记录需要统计!
说明可能有些啰嗦,主要是怕表达不清楚,跪求高人出手!

数据统计表.zip (499.08 KB, 下载次数: 71)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-6-24 21:37 | 显示全部楼层
sgyzzz 发表于 2015-6-24 21:01
完成了H:L,R:V,AV:BA三个区域数据

对的,对的!就是我希望实现的效果,如果方便,是否可以请您帮我把H:AU的内容都完成,万分感激!
回复

使用道具 举报

 楼主| 发表于 2015-6-24 21:21 | 显示全部楼层
baksy 发表于 2015-6-24 16:02
回帖时请接着对应贴回,不然对方看不到提示。

万分感谢您的帮助,以后我会注意,谢谢!

回复

使用道具 举报

发表于 2015-6-24 21:01 | 显示全部楼层
完成了H:L,R:V,AV:BA三个区域数据

数据统计表-调整.rar

312.24 KB, 下载次数: 47

回复

使用道具 举报

发表于 2015-6-24 16:02 | 显示全部楼层    本楼为最佳答案   
cgregion 发表于 2015-6-24 11:42
万分感谢您在百忙之中抽出时间帮我写了那么多公式,现在唯一有一个小问题,就是数字10在7-2区域现在翻译后 ...

回帖时请接着对应贴回,不然对方看不到提示。

数据统计表-调整.rar

490.22 KB, 下载次数: 43

回复

使用道具 举报

 楼主| 发表于 2015-6-24 11:42 | 显示全部楼层
cgregion 发表于 2015-6-22 21:23
我已经把表格重新进行了调整,把H:O的部分,每个数字安排在一个单元格里面了!
我知道主要是第一部分比较 ...

万分感谢您在百忙之中抽出时间帮我写了那么多公式,现在唯一有一个小问题,就是数字10在7-2区域现在翻译后表达为2,正确的表达应该为3,由于水平有限,实在没能看明白IF((E23=7)+(E23=11),4,MOD((MOD(E23-1,3)+1)*-1^INT((E23-1)/3)-(E23>7),4))这个公式所表达的意思,没办法自己调整,能不能请您再帮我改一下,谢谢,谢谢!
回复

使用道具 举报

发表于 2015-6-23 21:10 | 显示全部楼层
cgregion 发表于 2015-6-22 21:23
我已经把表格重新进行了调整,把H:O的部分,每个数字安排在一个单元格里面了!
我知道主要是第一部分比较 ...

附件

数据统计表-调整.rar

483.31 KB, 下载次数: 74

回复

使用道具 举报

 楼主| 发表于 2015-6-22 21:23 | 显示全部楼层
baksy 发表于 2015-6-22 20:43
1.表格设计需要改善,H:O列不要一个单元格好几个数据隔空合并,
目前的每个单元格都分成5~6个单元格标记, ...

我已经把表格重新进行了调整,把H:O的部分,每个数字安排在一个单元格里面了!
我知道主要是第一部分比较绕人,但相对量要小些,如果太麻烦,是否可以帮忙先写个第二、三部分的程序,这2个部分数据量比较大,很耗时间和精力!!
万分感谢!

数据统计表-调整.zip (457.54 KB, 下载次数: 46)
回复

使用道具 举报

 楼主| 发表于 2015-6-22 21:01 | 显示全部楼层
baksy 发表于 2015-6-22 20:43
1.表格设计需要改善,H:O列不要一个单元格好几个数据隔空合并,
目前的每个单元格都分成5~6个单元格标记, ...

非常感谢你给我的建议,主要是我自己一点都不懂,拆开后我没有办法自己合并,所以才全部放在了一起!
我会重新调整表格并拆分开,非常感谢!
回复

使用道具 举报

发表于 2015-6-22 20:43 | 显示全部楼层
1.表格设计需要改善,H:O列不要一个单元格好几个数据隔空合并,
目前的每个单元格都分成5~6个单元格标记,处理比较容易。

2.一下子处理这么多问题,不会有人帮你,
把问题一个一个分开解决。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 05:34 , Processed in 0.484057 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表