看拼写ToRow的作用该是转换为行,的确如此,它可以把一个表格转换为一行。=TOROW(A1:C6)
之所以敢挑Vlookup,是因为它的第2个参数为2时可以忽略错误值。=TOROW(F9:F13,2)
所以要查找出符合条件的,只需要把不符合条件的变成错误值,用ToRow忽略错误值的特点提取数据。
如何把不符合条件的变成错误值?用IF函数。如下图所示把非A的行变为错误值。=IF(A2:A7=D1,B2:B7,X)
公式说明:如果满足条件就显示对应的值,不满足就随便用一个不带引号的文本转换为错误值。公式中的X可替换为任一个文本字符。
查找原理明白了,下面看3个Vlookup很难实现的例子。
1、一对多查找
【例1】所下图所示,根据D列的部门,把本部门的姓名放在一行中,如下图黄色区域。
=TOROW(IF(A$2:A16=D2,B$2:B16,X),2)
2、多条件查找
【例2】如下图所示,根据部门和姓名查找对应工资
=TOROW(IF(A$2:A10&B$2:B10=E2&F2,C$2:C10,X),2)
3、多条件多列查找
【例3】根据部门和姓名查找后面所有列的值。
=TOROW(IF(A$2:A10&B$2:B10=A16&B16,C$2:F10,X),2)