发布网友 发布时间:2022-04-23 03:21
共5个回答
热心网友 时间:2023-08-10 05:53
在I1输入公式:
=INDEX($A$1:$G$1,MATCH(,COUNTIF($H$1:H1,$A$1:$G$1),))
数组公式,公式按Ctrl+Shift+回车结束输入。
向右拉复制公式。
热心网友 时间:2023-08-10 05:53
此公式适合个位数判断。
H1=IF(COLUMN(A1)>SUM(1/COUNTIF($A$1:$G$1,$A$1:$G$1)),"",SMALL(IF(COUNTIF($A$1:$G$1,MOD(ROW($A$10:$A$19),10)),MOD(ROW($A$10:$A$19),10)),COLUMN(A1)))
数组公式。在编辑状态CTRL+SHIFT+回车。
公式右拉。
公式说明:
MOD(ROW($A$10:$A$19),10) 表示0-9
COUNTIF($A$1:$G$1,MOD(ROW($A$10:$A$19),10))判断0-9在A1:G1中是否存在
IF(COUNTIF($A$1:$G$1,MOD(ROW($A$10:$A$19),10)),MOD(ROW($A$10:$A$19),10)) 如果存在,返回0-9相应的数字,否则为FALSE
因此,这是一组以0-9之间的数字(在A1:G1中出现)与FALSE(替换没有出现的数字)交替组成的10位序列,其中,数字升序排列。
SMALL(XXX,COLUMN(A1)) 上面序列中最小的数字,其中COLUMN(A1)表示1。公式向右拉,公式中的COLUMN(A1)会变成B1,C1...即代表第二小/第三小。。。的值
SUM(1/COUNTIF($A$1:$G$1,$A$1:$G$1)) 统计A1:G1中唯一值的个数。上例为5
IF(COLUMN(A1)>SUM(1/COUNTIF($A$1:$G$1,$A$1:$G$1)),"",XXX) 纠错处理。比如在上面IF语句中,第六个出现的应该是FALSE,但由于此单元格公式中的COLUMN(F1)--6大于5,因此先一步返回空值,不再继续执行SMALL语句,从而避免错误值的出现。
热心网友 时间:2023-08-10 05:54
栋栋爸公式有个缺陷,就是往后拉如果有重复数字会出现 #NUM,解决方法是加一个ISERROR()判断一下,H1公式如下,CTRL+SHIFT+回车结束,然后向后拉。。。
=IF(ISERROR(IF(COLUMN(A1)>SUM(1/COUNTIF($A$1:$G$1,$A$1:$G$1)),"",SMALL(IF(COUNTIF($A$1:$G$1,MOD(ROW($A$10:$A$19),10)),MOD(ROW($A$10:$A$19),10)),COLUMN(A1)))),"",IF(COLUMN(A1)>SUM(1/COUNTIF($A$1:$G$1,$A$1:$G$1)),"",SMALL(IF(COUNTIF($A$1:$G$1,MOD(ROW($A$10:$A$19),10)),MOD(ROW($A$10:$A$19),10)),COLUMN(A1))))
热心网友 时间:2023-08-10 05:54
栋栋爸Excel水平不错,能够运用数组解答,不过这个解答理解上过于复杂。
我提供一个容易理解的解答思路参考:
1、在A2:G2增加辅助行去除数组中的重复
=IF(MATCH(A1,$A$1:$G$1,0)=COLUMN(A1),A1,"")
2、在A3:G3增加辅助行得到这些数字的顺序
=RANK(A1,$A$2:$G$2,1)
3、在H1:L1得到结果
=INDEX($A$1:$G$1,,MATCH(COLUMN(A1),$A$3:$G$3,0))
热心网友 时间:2023-08-10 05:55
学习了~