如何运用万金油公式

今天跟大家讲下万金油公式的运用,下面直接以例子来说明。 一、问题描述:根据给定条件查询结果,如图:查找类别为“牙膏”的所有商品。


如何运用万金油公式 二、问题解答:=IFERROR(INDEX($A$1:$D$32,SMALL(IF($B$1:$B$32=$G$2,ROW($1:$32),4^8),ROW(A1)),COLUMN(A1)),"")=IFERROR(INDEX(数据区域,SMALL(IF(条件判断,满足条件返回所在行号,否则),第n个匹配项),返回数据所在列号),"")。三、步骤解析: 第一步:IF($B$1:$B$32=$G$2,ROW($1:$32),4^8)判断B列数据是否与所给条件一致,如果一致则返回数据所在行号,否则返回65536。见下页图

如何运用万金油公式 第二步:SMALL(IF(…),ROW(A1))得到第一步结果中的第1小的值,即最小值,也就是2。PS:随着公式的下拉填充ROW(A1)会变成ROW(A2),ROW(A3)….,依次得到第2小,第3小,第n小值。此处依次得到2,7,8,65536,65536,65536,….. 第三步 :INDEX($A$1:$D$32,SMALL(…),COLUMN(A1))获取区域$A$1:$D$32中第n行,第m列的数据。n为第二步计算结果,m为COLUMN(A1)的结果。第一个公式即F4单元格对应的n为2,m为1;H5对应n为7,m为3;I9单元格对应n为65536,m为4。PS:随着公式的向右填充,COLUMN(A1)会依次变为COLUMN(B1), COLUMN(C1),COLUMN(D1)。对于所有n为65536的单元格都会出现错误,因为这已经超越了区域$A$1:$D$32的行数,最后一步用IFERROR函数将错误值转换为空值。 以上这个数值公式相对比较复杂,如有更简洁的公式,欢迎留言。


分享到:


相關文章: