使用excel万金油公式的注意事项

如何使用万金油请查看:Excel万金油公式INDEX-SMALL-IF-ROW筛选函数公式解读-部落窝教育

如图,我想实现如下效果:

选择类型的TestAction,将A3:D10范围中所有符合条件的数据展示在A18:D18下放

万金油公式说明

=IFERROR(
   INDEX( $A$3:$D$10,    
          SMALL(  IF($B$3:$B$10 = $A$13, ROW($1:$8),  999999999 ),  1  ),     
          MATCH(  A$18:$D$18,  $A$2:$D$2,0)  
   )&"", 
   ""
)
  • index公式:包括三个参数

                所查询的范围Arr1                      即上面公式的 $A$3:$D$10

                Arr1 中的第 row(int型) 行     即上面公式的SMALL(...)

                Arr1中的column(int型)列      即上面公式的MATCH(...)

       就是查询arr1 中第row行第column列

  • small公式:SMALL(  IF($B$3$B$10 = $A$13, ROW($1:$8),  999999999 ),  ROW(A1))。  该函数含义是:在 b2:b9列中,查找出所有等于a12单元格的数据中倒数第一小的数据。  small第二个参数填1就行了,意思是small函数处理后的Arr1中取最小值,即我们查出来的值。
  • if公式:      IF(  $B$2:$B$9 = $A$12,   ROW($1:$8) ,  99999) 。该函数含义是:根据b2:b9列,整理成一个这样的数组,如果b2:b9中某个单元格=a12,那么就显示他的行数,否则显示一个尽可能大的数值。if的第二个参数,row($1:$8),一定是从1开始,否则会出错  ,$1与¥8的之间的行数与Arr1的行数相同。  if的第三个参数99999999 必须>Arr1的行数
  • match公式:match 公式的结果是 int (数字) 类型,这里要匹配a19-d22列的结果,所以用match一个个查询。如果只查一列结果,该处填写 column(Arr1中对应结果列)即可。比如,如果只查询 D18 父任务主题 下的结果, match直接替换成数字4即可,代表获取第四列结果
  • 注意输入完公式后不要按enter键,而应该按ctrl+alt+enter键,这样才能计算正确的值,否则SAMLL函数得出的永远都是后面那个最大值。比如上面 的公式SMALL( IF($B$3:$B$10 = $A$13, ROW($1:$8), 999999999 ), 1  ),永远显示的都是999999999
  • index最后接了&"",如果不加,空单元格就会被转化为0,加了之后就会保持空白,但是注意,如果转换前的单元格中本来就是0,或者Fales之类非真的值,都会转换为空白,如果单元格中有这些值要慎用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值