反向匹配Excel合并单元格,将重复单元格拆分成列表,竟然都靠它

文摘   2024-08-14 19:00   上海  

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!


点击上方蓝字 --> 点击“...”--> 选择“设为星标


按关键字查找,在工作中是很常见的诉求,随着 365 函数的出现,公式越来越简化。但是要说到查找届能集大成者,这个函数不得不提。


案例:


根据下图 1 中 E 列的姓名,从左侧的数据表中查找出对应的部门,效果如下图 2 所示。


解决方案:


1. 在 F2 单元格中输入以下公式 --> 下拉复制公式:

=LOOKUP("々",INDIRECT("a$1:A"&MATCH(E2,$B$1:$B$14,0)))


* 公式中的“々”也可以换成“座”,通常用来表示编码最大的汉字。


为了更好地让大家理解公式,我会从内到外一边解析一边演示结果给大家看。


公式释义:

  • MATCH(E2,$B$1:$B$14,0):在区域 $B$1:$B$14 中精确查找 E2 单元格的值,返回查找结果在整个序列中的排序序号;

  • INDIRECT("a$1:A"&...):

    • 将 "a$1:A" 与上述匹配结果用 & 符号连接起来,结果为 A$1:A8;

    • 用 indirect 函数提取出区域中的值;

  • LOOKUP("々",...):

    • 在上述结果中从后向前查找“々”;

    • lookup 的作用是从单行或单列或数组中查找符合条件的值,如果找不到需要查询的值,就返回比查询值小的最接近的一个;

    • 由于 lookup 要求第二个参数按升序排序,所以不管排没排,它都认为已经排好了,因此默认最后一个是最大值;

    • 在区域中查找“々”,如果找不到,且最后一个字符的字符集编码小于“々”,LOOKUP 函数就默认将最后一个字符当成区域中所有字符中最大的一个,并且返回该字符。


解析完毕后,再来个彩蛋。


利用 lookup 的这个查找特性,就可以连续填充合并单元格的值。


2. 在 D2 单元格中输入以下公式 --> 下拉复制公式:

=LOOKUP("々",$A$2:A2)

=LOOKUP("座",$A$2:A2)


公式释义:

  • 在区域 $A$2:A2 中自下往上查找“々”或“座”,如果找不到则返回比它小的最大值,即区域内最后一个单元格的值;

  • 参数中的区域需要第一个单元格绝对引用,而第二个单元格相对引用


转发、点赞、在看也是爱!

Excel学习世界
你遇到的所有 Excel 坑,我都帮你趟过了。
 最新文章