按图中举例求出各项个数,数据很多,公式、PQ、VBA都可以。粘贴党必举报。还有一种情况,就是某公司的税种中,同一名的税种,假如增值税,有两行,也要算做1
可以只计算出数量,也可以把满足条件的所有数据提取到旁边的单元格里
这里应用公式法,如图,E列取出公司名,F列统计税种个数
1、E2公式如下,输完后按下CTRL+SHIFT+ENTER生成数组公式,再下拖复制直到值为空时止。(为空表示取完所有公司名了)
=IFERROR(INDEX($B$2:$B$14,MATCH(,COUNTIF(E$1:E1,$B$2:$B$14),))&"","")
2、F3公式如下,下拖复制即可。
=MAX(COUNTIFS(B:B,E2,C:C,"<>城市维护建设税"),1)
-----------------------------------------------------------------
改后公式:
=MAX(SUMPRODUCT(($B$2:$B$14=E2)*($C$2:$C$14<>"城市维护建设税")/COUNTIFS($C$2:$C$14,$C$2:$C$14,$B$2:$B$14,$B$2:$B$14)),1)
追问还有一种情况,就是某公司的税种中,同一的税种,假如增值税,有两行,也要算做1
假设C公司中的两行都是增值税,个数要算做1
改下F3公式即可,追答这里提交公式会漏字符,完整公式请看上方回答中的改后公式。
追问修改后的公式没问题,可以正确得到结果。但是感觉您这个E列取公司的公式比较卡啊,十来行的数据,按完回车之后,得停顿个两三秒才能显示出来。
追答1、十来行都要停顿两三秒的话,不应该是这里的问题,这是数组公式,只能说它有一定的卡顿加成。你可以这么试试,把excel全关了,再只打开这个文件。看看卡不卡顿。
2、如果这么试还是卡的话,说明你开的程序太多了,或是电脑配置太低了。我这一般般的十几年前的电脑配置,别说十几行,几百行都不卡,几千行以上的数组公式才稍微能看到慢那么一点点。
3、实在不行,你可以对公司列去重复,然后复制到那个公司列上。或者不用另外加表格,只在D列用上面F3的公式,把公式里的E2改为B2,再下拉就好。
4、最后再多说一句,其实只是取个去重复的公司名就好。公式下拉完后,如果觉的卡,全选E列点复制,再原地点选择性粘贴,选数值,把公式用文字覆盖掉就好。除非新增新的公司行,否则这E列都可以不动的了。
公式完美
公式没问题,可以得到正确结果