Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

我又来教大家一对多查找了,今天教大家一个新函数,用这个函数实现一对多查找,且查找结果列在同一个单元格中,相较其他几种方法更为简单。

有关这个需求的其他解决方案,可参见

Excel – 用vlookup一对多查找,且结果汇总在同一个单元格中

Excel – 如何将同班同学名字汇总到同一个单元格中?

案例:

将下图 1 中的姓名按照班级提取到同一个单元格中,姓名之间用顿号隔开。效果如下图 2 所示。

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药
Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

解决方案:

1. 复制班级列至 D 列 --> 选择菜单栏的“数据”-->“删除重复项”将班级名去重,然后调整顺序 --> 复制“姓名”表头至 E1 单元格

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

2. 在 E2 单元格输入以下公式 --> 按 Ctrl+Shift+Enter 生成数组公式:

=TEXTJOIN("、",1,IF($A$2:$A$15=D2,B$2:B$15,""))

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药
Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

3. 下拉复制公式:

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

公式释义:

作用:

TEXTJOIN 函数的作用是将多个区域和/或字符串的文本组合起来,其中包括在文本值之间指定的分隔符。只有 Excel 2019 或 Office 365 版本才有 TEXTJOIN 函数。

语法:

TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)

参数:

delimiter:必需,文本字符串,可以为空或一个或多个用双引号括起来的字符,或对有效文本字符串的引用。如果是数字,它将被视为文本。ignore_empty:必需,如果为 TRUE,则忽略空白单元格。text1:必需,要加入的文本项。通常是文本字符串或字符串数组,例如单元格区域。[text2], …:可选,要加入的其他文本项。文本项最多可以包含 252 个文本参数,其中包括 text1。每个文本参数都可以是文本字符串或字符串数组,例如单元格区域。

本例用法详解:

IF($A$2:$A$15=D2,B$2:B$15,""):以 E2 单元格为例,选中 if 函数部分,按 F9 看一下结果就能一目了然理解这部分公式作用将 D2 的班级名称与 A 列依次匹配,如果班级相同,则依次提出 B 列对应的姓名

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

TEXTJOIN("、",1,...):对应上述参数描述可以知道,这部分公式含义如下:将 if 函数提取的内容连接起来"、":用“、”作为分隔符1:忽略空白单元格

本案例的详解至此已经结束了。textjoin 是个比较新的函数,为了更好地帮助大家理解其用法,下面再用一个示例来帮助大家加深理解。

用法示例:

如下图所示,如果要将这一列不连续的区域合并到一个单元格里,用 textjoin 函数就非常容易。

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药

在目标单元格内输入以下公式即可:

=TEXTJOIN("",1,H1:H4)

公式释义:

将 H1:H4 区域内的单元格组合起来,不加分隔符,且忽略空白单元格

Excel一对多查找的结果写入同一单元格,这个函数正好对症下药
Excel一对多查找的结果写入同一单元格,这个函数正好对症下药
每日壁纸

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注