谁能帮我解释一下excel的一个公式
答案:2 悬赏:0 手机版
解决时间 2021-05-01 17:07
- 提问者网友:兔牙战士
- 2021-05-01 04:39
=INDEX(A:A,SMALL(IF(COUNTIF(OFFSET(A$1,,,ROW(A$1:A$14)),A$1:A$14)=1,ROW(A$1:A$14),5000),ROW()))&"" 谁能帮我解释一下这个公式啊,谢谢了
最佳答案
- 五星知识达人网友:酒安江南
- 2021-05-01 05:26
这是一个很复杂的数组公式(回车时得同时按Ctrl和Shift键),返回A列中不重复的数据。
把公式分解为:
=INDEX(A:A,X)&""
返回A列中第X个数据,加&""可能是要把数字转换为文本。举例:=INDEX(A:A,4)返回A4的值。如果A4的值是数字 23,那么
=INDEX(A:A,4)&""返回的就是文本的 23(这个和数字是不一样的,比如在C1输入 23,在C2输入
'23,即前面有一英文单引号,在C3输入 =IF(C1=C2,"相同","不相同"),结果是不相同)。
其中X为
SMALL(Y,ROW())
函数ROW()返回公式所在单元格的行数,比如这个公式在单元格B1,返回是1。
SMALL函数返回Y这个数组中第ROW()小的值,举例,在D1到D4分别输入 2、5、1、8,在E1输入 =SMALL(D1:D4,3),结果是5,即四个数里第3小的数字。
其中Y为
IF(Z=1,ROW(A$1:A$14),5000)
ROW(A$1:A$14)返回的是一个数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14}
IF函数是,如果Z等于1,返回ROW(A$1:A$14),否则返回5000。
其中Z为
COUNTIF(T,A$1:A$14)返回数组,分别是A1在T中的个数、A2在T中的个数、....
其中T为
OFFSET(A$1,,,ROW(A$1:A$14))
改变单元格A1,向下0行向右0列,行高依次变为1、2、....,即A$1:A$1、A$1:A$2、....、A$1:A$14
函数OFFSET(单元格,参数1,参数2,参数3,参数4),在单元格基础上向下参数1行、向右参数2列、行高参数3、列宽参数4;其中参数3和参数4可省略
如OFFSET(B1,2,3)返回E3
把公式分解为:
=INDEX(A:A,X)&""
返回A列中第X个数据,加&""可能是要把数字转换为文本。举例:=INDEX(A:A,4)返回A4的值。如果A4的值是数字 23,那么
=INDEX(A:A,4)&""返回的就是文本的 23(这个和数字是不一样的,比如在C1输入 23,在C2输入
'23,即前面有一英文单引号,在C3输入 =IF(C1=C2,"相同","不相同"),结果是不相同)。
其中X为
SMALL(Y,ROW())
函数ROW()返回公式所在单元格的行数,比如这个公式在单元格B1,返回是1。
SMALL函数返回Y这个数组中第ROW()小的值,举例,在D1到D4分别输入 2、5、1、8,在E1输入 =SMALL(D1:D4,3),结果是5,即四个数里第3小的数字。
其中Y为
IF(Z=1,ROW(A$1:A$14),5000)
ROW(A$1:A$14)返回的是一个数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14}
IF函数是,如果Z等于1,返回ROW(A$1:A$14),否则返回5000。
其中Z为
COUNTIF(T,A$1:A$14)返回数组,分别是A1在T中的个数、A2在T中的个数、....
其中T为
OFFSET(A$1,,,ROW(A$1:A$14))
改变单元格A1,向下0行向右0列,行高依次变为1、2、....,即A$1:A$1、A$1:A$2、....、A$1:A$14
函数OFFSET(单元格,参数1,参数2,参数3,参数4),在单元格基础上向下参数1行、向右参数2列、行高参数3、列宽参数4;其中参数3和参数4可省略
如OFFSET(B1,2,3)返回E3
全部回答
- 1楼网友:笑迎怀羞
- 2021-05-01 05:48
查找不重复数据 数组公式
1步 :从A1开始在A1到A14找与A1相同的个数为1 返回A1单元格的行号 负责返回5000 直到 迭代到A14 最终返回一个数组 2步:在这个数组中拿最小的 在A列找 直到这个数组迭代完成
想知道公式怎么工作 在 菜单 》公式》公式求值 可以一步一步看
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯