查找带合并单元格的区域,公式应该怎么写?
案例:
根据下图 1 中 D 列的姓名,查找出每个人所在的部门。
效果如下图 2 所示。


解决方案:
反向匹配,vlookup 不太管用,通常用 xlookup 或 index+match 对吧?那我们先试试。
在 E2 单元格中输入以下公式 --> 下拉复制公式:
=INDEX($A$2:$A$14,MATCH(D2,$B$2:$B$14,0))
结果只查找除了“王钢蛋”的部门,因为正常情况下,合并单元格仅在合并区域的第一行有值,其余行都是空值。


上述公式行不通,就得另辟蹊径。
将公式修改如下:
=LOOKUP("座",INDIRECT("A1:A"&MATCH(D2,$B$1:$B$14,0)))



公式释义:
MATCH(D2,$B$1:$B$14,0):在 $B$1:$B$14 区域中精确查找 D2 单元格,返回它在区域中所处的位置;
"A1:A"&...:将 "A1:A" 与上述位置数值连接,形成了 A 列对应的区域;
INDIRECT(...):通过 INDIRECT 函数将文本字符串变成了单元格引用;
LOOKUP(“座”,...):在上述区域中查找“座”字,找不到就返回区域中的最后一个文本;“座”通常用来表示很大的中文字符,当没有完全匹配的值,也没有比它更大的文本时,lookup 函数会在所选区域内查找直至最后一个文本单元格,就是该员工所属的部门。