日常整理表格时,为了版面整洁,我们常会用合并单元格展示分类数据。
但这样一来,后续查找数据时就容易遇到麻烦,那么,如何在既不增加辅助列、也不改变原表结构的前提下,轻松实现合并单元格的数据查找呢?
一、举例-(返回结果是合并单元格的情况):
左侧 A-B 列为原始数据表:A 列分组做了合并单元格,B 列存储对应人员姓名;
右侧 H列为姓名,根据姓名查找其所属分组,返回结果为合并单元格对应的分组名称

SCAN+LAMBDA 组合自上而下遍历区域,形成下图结果;
合并单元格转变成普通区域,然后再搭配查找函数XLOOKUP,实现精确查找。

A2:A10:要处理的单元格区域,即分组列(包含合并单元格)。LAMBDA(x, y, IF(y="", x, y)):自定义运算规则。x(累加器):存储上一个非空的分组名称。y(当前值):当前正在处理的单元格内容。逻辑:如果当前单元格
y是空的,就返回x(即上一个分组名);否则返回y本身。SCAN函数:遍历数组的每一个元素,按LAMBDA规则计算,并输出每一步的结果。
3. 逐步推算过程
4.函数语法:[]内为可选填参数,剩余参数为必选项
1.SCAN([初始值], 数组, LAMBDA(累加器, 当前值, 计算逻辑))
作用:对数组逐元素扫描运算,每一步都保留结果,最终返回一个与原始数组同维度的结果数组
2.LAMBDA(参数1,[ 参数2], ..., 计算表达式)
LAMBDA 本身不能单独使用,必须被其他函数调用(如 SCAN、MAP、REDUCE)。
二、举例-(查找区域是合并单元格的情况):
左侧 L-M 列为原始数据表;
右侧 O列为分组,做了合并单元格,如何O列查找对应提成系数

合并单元格仅首行存有文本,其余空白,用普通 VLOOKUP/XLOOKUP 匹配时直接返回空值,通过增加IF判断,如果查找区域为空,则自动沿用上一行的值,如果不为空,则使用常规查找函数查找。
合并单元格的详细内容可参考这篇文章EXCEL篇-合并单元格求和!一个公式搞定!
夜雨聆风