| 楼主 gouweicao78 |
【题目】 已知数据区域如A2:F10,共有3列代码,均为数字且包含空单元格。 请在H3单元格用一个公式求出不重复代码的个数。不用定义名称、辅助列、VBA即其它操作。 如有版本限制,请说明。 【得分】 答案正确+3技能分,视精彩程度可再获得3~5技能分。 【期限】 本题暂不设期限,已采用回复仅楼主可见方式,答题后一周内即可获评分。 练习:求多区域不重复代码个数.rar |
| 2楼 rongjun |
|
| 3楼 wise |
![]() ![]() 不会函数,还是用VBA弄一下,尽管不能得分
|
| 4楼 liuguansky |
|
| 5楼 zm0115 |
=SUM(--(FREQUENCY(A3:F10,IF(A2:F2="代码",A3:F10,0))<>0)) 这个可行?借鉴了黄版的一个帖子 还可以短2个字符 =SUM(--(FREQUENCY(A3:F10,IF(A2:F2="代码",A3:F10))<>0)) 练习:求多区域不重复代码个数.rar |
| 6楼 biaotiger1 |
|
| 7楼 mn860429 |
草版,编码有0这个情况吗,没有的话写了这个。
|
| 8楼 rongjun |
|
| 9楼 rongjun |
严格来讲,8楼的数组公式还是有缺陷的,比如B3输入0值,得到的结果是15(正确答案应该是14),公式可以更正如下:
|
| 10楼 wangg913 |
|
| 11楼 wjc2090742 |
只想的出来一个。 练习:求多区域不重复代码个数.rar |
| 12楼 阿卢 |
=COUNT(1/FREQUENCY(区域,区域)),一列就懂,多列还真没想法 |
| 13楼 foodorwater |
=COUNT(1/FREQUENCY(A3:F10,IF(A2:F2="代码",A3:F10))) 數組 |
| 14楼 wqfzqgk |
=COUNT(IF(FREQUENCY((A3:A10,C3:C10,F3:F10),(A3:A10,C3:C10,F3:F10)),1)) |
| 15楼 棉花糖 |
=COUNT(1/FREQUENCY((A3:A10,C3:C10,F3:F10),(A3:A10,C3:C10,F3:F10))) |
| 16楼 foodorwater |
再有一個解法,利用offset構建多維引用,再N()降維,然後frequency求不重復值 =COUNT(1/(FREQUENCY(N(OFFSET(INDIRECT({"A3","C3","F3"}),ROW(A3:F10)-ROW(A3:F3),,,)),N(OFFSET(INDIRECT({"A3","C3","F3"}),ROW(A3:F10)-ROW(A3:F3),,,))))) 數組 |
| 17楼 mxqchina |
数组公式
|
| 18楼 Zaezhong |
练习:求多区域不重复代码个数.rar |
| 19楼 zsj119 |
看看答案 |
| 20楼 syz105729913 |
参与一下
|
| 21楼 涅磐86970 |
=SUM(1/IF(A3:F10="",9E+307,COUNTIF(A3:F10,A3:F10))) |
| 22楼 wangxf9209 |
=COUNT(1/FREQUENCY(IF(A2:F2="代码",A3:F10,),IF(A2:F2="代码",A3:F10,)))-1 |
| 23楼 涅磐86970 |
=47-SUM(N(SMALL(IF((A2:F2="代码")*(A3:F10<>""),A3:F10,9E+307),ROW(1:47))=SMALL(IF((A2:F2="代码")*(A3:F10<>""),A3:F10,9E+307),ROW(2:48)))) 好长的公式- -。 =SUM(N(FREQUENCY(IF((A2:F2="代码")*(A3:F10<>""),A3:F10),IF((A2:F2="代码")*(A3:F10<>""),A3:F10))>0)) |
| 24楼 LoveJinLee |
看了草版的一些帖子,还是很有收获的~ 谢谢草版~ 先传上附件 希望草版指正~ 练习:求多区域不重复代码个数.rar |
| 25楼 Deksan |
H3 单元格 的公式 如下 =COUNT(1/FREQUENCY(IF((COLUMN(A3:F10)=IF(A2:F2="代码",COLUMN(A3:F10))*ISNUMBER(A3:F10)),A3:F10,"A"),IF((COLUMN(A3:F10)=IF(A2:F2="代码",COLUMN(A3:F10))*ISNUMBER(A3:F10)),A3:F10,"A"))) 数组公式 按 Ctrl+Shift+Enter |
| 26楼 syz105729913 |
之前没考虑到0值,再来一个
优化2
|
| 27楼 piny |
=SUM(--(MATCH(SMALL(IF(A2:F2="代码",IF(A3:F10<>"",A3:F10,9^9)),ROW(1:24)),SMALL(IF(A2:F2="代码",IF(A3:F10<>"",A3:F10,9^9)),ROW(1:24)),)=ROW(1:24)))-OR((A2:F2="代码")*(A3:F10="")) 數組 =========================================================================== 簡化二 =COUNT(1/FREQUENCY(IF(A2:F2="代码",IF(A3:F10<>"",A3:F10)),IF(A2:F2="代码",IF(A3:F10<>"",A3:F10)))) |
| 28楼 Cuikool |
=SUM(IF(FREQUENCY((A3:A10,C3:C10,F3:F10),(A3:A10,C3:C10,F3:F10))>0,1)) 练习:求多区域不重复代码个数.rar |
| 29楼 Violet_Universe |
觉得排序重复了一遍,没时间简化了,有时间再试一试,请草版指教 刚才代码有点问题修正一下呵呵
|
| 30楼 Violet_Universe |
如果偷懒一下的话,代码这样呵呵
|
| 31楼 Violet_Universe |
这个公式是不是还能优化呢
|
| 32楼 Violet_Universe |
我知道为什么了,我忘记真空跟假空的区别了,不知道是不是这个意思,新公式,请指教
|
| 33楼 LOGO |
或
练习:求多区域不重复代码个数@.rar |
| 34楼 piny |
27樓有新增一個簡化一些的公式 請協助測試 謝謝 |
| 35楼 dengxiujuan |
|
| 36楼 dengxiujuan |
怎么看不到他们回复的消息呢! |
| 37楼 XIAO_JUN |
=SUM(N(FREQUENCY(IF(A2:F2=F2,A3:F10,0),A3:F10)>0)) 数组 |
| 38楼 涅磐86970 |
=SUM(N(FREQUENCY(IF((A2:F2="代码")*(A3:F10<>""),A3:F10),IF((A2:F2="代码")*(A3:F10<>""),A3:F10))>0)) |
| 39楼 laowuwyx |
=COUNT(0/FREQUENCY(IF(A2:F2="代码",A3:F10),A3:F10))数组。 |
| 40楼 LCinderella |
|
| 41楼 bluexuemei |
=COUNT(1/FREQUENCY((A3:A10,C3:C10,F3:F10),(A3:A10,C3:C10,F3:F10))) |
| 42楼 xgg2001 |
方法蠢了点,见笑了哈,如果代码有0的话,我想不出有什么好办法解决,请草版指教! 练习:求多区域不重复代码个数.rar |
| 43楼 xcd |
看看并学习。好久没上社区磨刀,锈了,公式老长。顺便向各位问个好! H3 =COUNT(0/(MATCH(SMALL(IF((A2:F2="代码")*(A3:F10<>""),A3:F10+1),ROW(1:50)),SMALL(IF((A2:F2="代码")*(A3:F10<>""),A3:F10+1),ROW(1:50)),)=ROW(1:50))) 数组公式。 |
| 44楼 xcd |
再来一个,请陈版指正。 H3 =COUNT(0/FREQUENCY(IF(A2:F2="代码",A3:F10),A3:F10)) 数组公式。 |
| 45楼 fangjianp |
H3=COUNT(1/FREQUENCY(A3:F10,IF(A2:F2="代码",A3:F10))) 数组公式,下拉。 |
| 46楼 yuxin78 |
=COUNT(0/FREQUENCY(INDEX(A3:F10,N(IF(1,ROW(1:8))),N(IF(1,{1,3,6}))),INDEX(A3:F10,N(IF(1,ROW(1:8))),N(IF(1,{1,3,6}))))) |
| 47楼 gouweicao78 |
【结题】本题结题,此后答案如无其他思路和更好解法,将不再评分。 本题答案为8楼的2个答案: =COUNT(0/FREQUENCY(IF(A2:F2="代码",A3:F10),A3:F10)) =COUNT(0/FREQUENCY((A3:A10,C3:C10,F3:F10),A3:F10)) 主要考核FREQUENCY参数中设置条件和使用合并区域两种用法。 |

