ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 函数与公式 > 利用函数提取黄色区域内不重复数据

利用函数提取黄色区域内不重复数据

作者:绿色风 分类: 时间:2022-08-18 浏览:129
楼主
lrlxxqxa
利用函数提取黄色区域内不重复数据

效果如下:


 

说明:

利用函数实现

直接给出公式即可。

回答正确者+6技能分,精彩者额外加分。

2012年3月24日18:00开题。
区域提取不重复.rar
2楼
sylzldd
=INDIRECT(TEXT(SMALL(IF($A$1:$E$20<>"",ROW($1:$20)*100+COLUMN(A:E),99999),ROW(1:1)),"r0c00"),)&""
3楼
xgg2001
  1. =IF(OR((A$1:E$20<>"")*(COUNTIF(G$1:G1,A$1:E$20)=0)),INDIRECT(TEXT(MIN(IF((A$1:E$20<>"")*(COUNTIF(G$1:G1,A$1:E$20)=0),ROW($1:$20)*10+COLUMN(A:E))),"r0c0"),),"")
4楼
hylees
参与一下,很长的数组公式
  1. =IF(OR((A$1:E$20<>"")*(COUNTIF(G$1:G1,A$1:E$20)=0)),INDIRECT(TEXT(MIN(IF((A$1:E$20<>"")*(COUNTIF(G$1:G1,A$1:E$20)=0),ROW(A$1:E$20)*1000+COLUMN(A:E))),"r0c???"),),"")
5楼
一嘟噜钥匙
  1. =IF(AND(COUNTIF(G$1:G1,$A$1:$E$20)+($A$1:$E$20="")),"",INDIRECT(TEXT(MIN(IF((COUNTIF(G$1:G1,$A$1:$E$20)=0)*($A$1:$E$20<>""),ROW($1:$20)*10+COLUMN(A:E))),"r0c0"),))
6楼
piny
  1. =IF(AND((A$1:E$20<>"")*(COUNTIF(G$1:G1,A$1:E$20)=0)=0),"",INDIRECT(TEXT(MIN(IF((A$1:E$20<>"")*(COUNTIF(G$1:G1,A$1:E$20)=0),ROW($1:$20)*100+COLUMN(A:E))),"!R0C00"),))
不過此公式無法識別文字型態與數字型態的數字
7楼
bluexuemei
  1. =IF(ROW()>SUM(1/COUNTIF(A$1:E$20,A$1:E$20&"")),"",INDIRECT(TEXT(MIN(IF(COUNTIF(G$1:G1,A$1:E$20&""),4^8&2^8,ROW($1:$20)*1000+COLUMN(A:E))),"r0c000"),))
8楼
tyxh0916
  1. =IF(ROW(A1)>SUM(($A$1:$E$20<>"")/COUNTIF($A$1:$E$20,$A$1:$E$20)),"",INDIRECT(TEXT(MIN(IF(($A$1:$E$20<>"")*(COUNTIF($G$1:G1,$A$1:$E$20)=0),ROW($1:$20)*10+{1,2,3,4,5})),"r0c0"),))
9楼
魔魔
  1. =IF(AND(COUNTIF(G$1:G1,$A$1:$E$20)),"",INDEX($A$1:$E$21,MIN(IF((COUNTIF(G$1:G1,$A$1:$E$20)=0)*($A$1:$E$20<>""),ROW($1:$20))),RIGHT(MIN(IF((COUNTIF(G$1:G1,$A$1:$E$20)=0)*($A$1:$E$20<>""),ROW($1:$20)+COLUMN(A:E)%)))))
终于改成下面这样了
  1. =IF(AND(COUNTIF(G$1:G1,$A$1:$E$20)),"",INDIRECT(TEXT(MIN(IF((COUNTIF(G$1:G1,$A$1:$E$20)=0)*($A$1:$E$20<>""),ROW($1:$20)*10+COLUMN(A:E))),"r0c0"),))
10楼
gouweicao78
  1. =INDIRECT(TEXT(MIN(IF((A$1:E$20<>"")*ISNA(MATCH("~"&A$1:E$20,G$1:G1,)),ROW($1:$20)/1%+COLUMN(A:E),99999)),"R0C00"),)&""
11楼
gouweicao78
哦,未考虑~~的情况。
看来,COUNTIF函数的问题,多加个判断解决吧。
12楼
CheryBTL
注最后的防止为空时输出0没有好办法,只能偷懒了,呵呵,:123字符
=INDIRECT(TEXT(MIN(IF((COUNTIF(G$1:G1,A$1:E$20)=0)*(A$1:E$20<>""),ROW($1:$20)/1%+COLUMN(A:E),9999)),"[=9999]R21C1;R0C00"),)

如果非要一个公式完成,需要增加IF来判断MIN的返回值是否=9999时,在满足时返回""

把IF省略:119字符
=INDIRECT(TEXT(MIN(((COUNTIF(H$1:H1,A$1:E$20)>0)+(A$1:E$20=""))/1%%+ROW($1:$20)/1%+COLUMN(A:E)),"[>9999]R21C1;R0C00"),)

再增加IF判断:169字符
=IF(MIN(((COUNTIF(H$1:H1,A$1:E$20)>0)+(A$1:E$20=""))/1%%)>0,"",INDIRECT(TEXT(MIN(((COUNTIF(H$1:H1,A$1:E$20)>0)+(A$1:E$20=""))/1%%+ROW($1:$20)/1%+COLUMN(A:E)),"R0C00"),))

再次优化,省了8个字符,161:
=IF(MIN((COUNTIF(H$1:H1,A$1:E$20)>0)+(A$1:E$20="")),"",INDIRECT(TEXT(MIN(((COUNTIF(H$1:H1,A$1:E$20)>0)+(A$1:E$20=""))/1%%+ROW($1:$20)/1%+COLUMN(A:E)),"R0C00"),))


区域提取不重复-CheryBTL.rar
13楼
mathspirt
学习高手答案
14楼
深蓝色的海洋
看看
15楼
huaerzi
16楼
凉爽
  1. =IFERROR(INDIRECT(TEXT(MIN(IF((COUNTIF(G$1:G1,A$1:E$20)=0)*(A$1:E$20<>""),ROW($1:$20)*10+{1,2,3,4,5})),"R0C0"),),"")
17楼
梦想的风
昨晚多几分钟的准备,今天少几小时的麻烦。
18楼
qicpw
好贴,值得收藏,大家都顶
19楼
humao
这只是很普通的练习题了。
20楼
123joki
velmi dobre forum
21楼
wangg913
这个,我等开贴。

免责声明

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

评论列表
sitemap