美文网首页
index+small+if+row函数:单条件查找,返回多个符

index+small+if+row函数:单条件查找,返回多个符

作者: 王生28 | 来源:发表于2018-10-09 10:47 被阅读0次

    公式:=INDEX(A:A,SMALL(IF($D$2:$D$8=$F$2,ROW($D$2:$D$8),4^8),ROW(1:1)))&""

    公式生效:ctrl+shift+回车键

    操作方式:

    1.A列为“返回列”

    2.D列为“查找列”

    3.F2单元格为“查找条件”

    先写IF函数

     IF(条件,满足条件的行号,较大的值的行号)

    在H2单元格输入公式=IF($A$2:$A$29=$G$2,ROW($A$2:$A$29),4^8)

    函数解释:

    如果A2:A29单元格满足条件(等于G2单元格),那么显示满足条件的行号否则显示较大值的行号

    4^8表示4的8次方(4*4*4*4*4*4*4*4=65536,“^”符号是乘方符号,在大写环境下按shift+键盘上方的数字6写出乘方符号“^”。Excel2003版最大行数是65536行,2007及以上的是1048576行,在这里用65536也可以表示最大的数值,一般的表没这么多行数据用65536表示最大也够了)。

    在编辑栏中抹黑公式=IF($A$2:$A$29=$G$2,ROW($A$2:$A$29),4^8),然后按F9键,出现对此公式的解读,

    {65536;3;4;65536;65536;65536;65536;65536;10;65536;12;13;14;15;16;17;65536;65536;65536;65536;65536;65536;65536;65536;26;27;65536;29}我们发现单元格A3/A4/A10/A12/A13/A14/A15/A16/A17/A26/A27/A29都是符合条件的显示其行号3/4/10/12/13/15/16/17/26/27/29,其余的不符合条件的都显示的是最大值65536

    small函数加入其中

    small函数在此用途:对if函数得出的结果进行排序 Small(IF,ROW(1:1))

     ROW(1:1)返回{1},ROW(2:2)返回{2},在这里用small函数加row函数可以把返回的行号数组从小到大一次排序

    H2单元格输入公式=SMALL(IF($A$2:$A$29=$G$2,ROW($A$2:$A$29),4^8),ROW(1:1))然后按ctrl+shift+回车键结束。

    在编辑栏抹黑公式=SMALL(IF($A$2:$A$29=$G$2,ROW($A$2:$A$29),4^8),ROW(1:1)),然后按F9键,得到解析=small({65536;3;4;65536;65536;65536;65536;65536;10;65536;12;13;14;15;16;17;65536;65536;65536;65536;65536;65536;65536;65536;26;27;65536;29},ROW(1:1))

    ROW(1:1))得出最小的是3,倒是第二小的是4,….最大的是65536.

    index函数加入其中

    =Index(结果列,small函数运行的到的行号)

    =返回行号所对应的结果列中的数据

    在H2单元格输入公式

    =INDEX(B:B,SMALL(IF($A$2:$A$29=$G$2,ROW($A$2:$A$29),4^8),ROW(1:1)))按ctrl+shift+回车键结束

    把公式往右再往下填充,发现符合主单号784-18214346的所有结果都显示出来了。超出结果部分,我们发现显示的是0,如何使得为空呢?

    index( )&""

    添加&"",使得超出结果部分显示为空。H2单元格修改公式为

    =INDEX(B:B,SMALL(IF($A$2:$A$29=$G$2,ROW($A$2:$A$29),4^8),ROW(1:1)))&""然后按ctrl+shift+回车键结束。

     至此index+small+if+row函数就介绍完毕,有兴趣的可以去试着做一做。

    相关文章

      网友评论

          本文标题:index+small+if+row函数:单条件查找,返回多个符

          本文链接:https://www.haomeiwen.com/subject/aikeaftx.html