ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 数据透视表 > 如何根据同一单号中某个指定代码来进行特殊分类统计?

如何根据同一单号中某个指定代码来进行特殊分类统计?

作者:绿色风 分类: 时间:2022-08-18 浏览:136
楼主
whsfhwm
Q:如何根据同一单号中某个指定代码来进行特殊分类统计?
A:数据源为“销售明细”工作表的A:D列和“分类对应表”;需要的结果为“需求的结果”工作表中的第1到3行的样式。要求采用透视表实现统计。
最后的解决分如下三步来实现:
一、首先定义两个名称:
1. lianhe=销售明细!$A$2:$A$14&销售明细!$C$2:$C$14
2. data=OFFSET(销售明细!$A$1,,,COUNTA(销售明细!$A:$A),COUNTA(销售明细!$1:$1))
●因为公式=MATCH(A5&"d",销售明细!$A$2:$A$14&销售明细!$C$2:$C$14,)不能直接使用,需要定义lianhe=…才能使用的。这样就有了根据MATCH(A2&"d",lianhe,)返回结果是否为错误值来判断同组是否存在指定代码d(或i)
●由于需求中要根据d或i出现在代码列后,其同一单号的分类都要与d对应的分类一致,所以就在A列和C列合并成的字符数组中进行查找每行的A列和d或i是否存在。
●data——定义这个名称是用于数据透视表的动态数据源,这样数据源增加时,透视表不用重新选取数据区域就能自动更新。至于为什么这样定义,可以找找相关的帖子。或者自己看看offset函数的帮助。
二、然后使用辅助列,销售明细E2公式:
1. =IF(ISNUMBER(MATCH(A2&"d",lianhe,)),VLOOKUP("d",分类对应表!A:B,2,),IF(ISNUMBER(MATCH(A2&"i",lianhe,)),VLOOKUP("i",分类对应表!A:B,2,),VLOOKUP(C2,分类对应表!A:B,2,)))
●上述公式中,最外层的if的含义是判断同一单号中,是否存在代码d:如果是,执行为d的处理;如果不是,则执行下一级的if判断。
●第二层的if的含义是判断同一单号中,是否存在代码i:如果是,执行为i的处理;如果不是,说明本单号里既没有代码d,也没有代码i,故取该行代码对应的分类。
●有了上述几步,联合起来就是E列的公式了
三、最后用透视表得到需要的最终结果

例子1.rar
2楼
开心E点
i学习一下,感谢分享

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap