“TEXTJOIN”函数配合“FILTER”函数替代“VLOOKUP”函数实现多结果匹配


在Excel中,VLOOKUP函数用于查找并返回某个值在指定查找区域中的对应值,但是,VLOOKUP函数仅能返回查找到的第一个匹配项,如果存在多个匹配项,它只会返回第一个匹配项。如果你需要替代VLOOKUP函数,并且希望能够输出多个结果并用逗号隔开,可以使用"TEXTJOIN"函数配合"FILTER"函数来实现。

假设你有一个查找值放在单元格A1,查找区域在A2:A10,对应的结果区域在B2:B10。你可以使用以下公式来实现:

=TEXTJOIN(",",TRUE,FILTER(B2:B10,C2:C10=A1))

这个公式的意思是:查找C列中等于A1单元格的值,并将对应的B列的唯一值连接成一个以逗号分隔的字符串。

请注意,这个公式会将所有符合条件的结果用逗号隔开,如果没有匹配的结果,它将返回一个空字符串。

在使用这个公式之前,确保你的Excel版本支持"TEXTJOIN"和"FILTER"函数。这两个函数在较新的Excel版本中都有提供。

这样返回的结果可能存在重复值,可以嵌套UNIQUE函数,它会返回筛选后的唯一值。这样,你得到的文本字符串将不包含重复的项。

=TEXTJOIN(",", TRUE, UNIQUE(FILTER(B2:B10, C2:C10=A1)))

确保 A1C2:C10 中的值数据类型一致。你可以使用 TRIM 函数去除多余的空格,使用 VALUE 函数确保它们都是数值,或使用 TEXT 函数确保它们都是文本。

=TEXTJOIN(",", TRUE, UNIQUE(FILTER(B2:B10, TRIM(C2:C10)=TRIM(A1))))


当你使用Excel的VLOOKUP函数时,它可以查找某个值在指定查找区域中的对应值。但是,VLOOKUP函数仅能返回查找到的第一个匹配项,如果存在多个匹配项,它只会返回第一个匹配项。

假设我们有以下的Excel表格:

A

B

Name

Score

Alice

85

Bob

90

Alice

92

Bob

88

Alice

78

现在,我们想要查找姓名为"Alice"的所有分数,并将这些分数用逗号隔开输出。

传统的VLOOKUP函数无法实现这一点,因为它只返回第一个匹配到的分数。但我们可以使用"TEXTJOIN"函数配合"FILTER"函数来达成目标。

首先,我们需要理解"FILTER"函数的作用。"FILTER"函数用于筛选指定数组或范围中满足特定条件的元素,并返回筛选结果。它的基本语法如下:

FILTER(array, condition)

其中,array是要筛选的数组或范围,condition是筛选条件。在我们的例子中,我们希望筛选出姓名为"Alice"的分数,因此condition为A2:A6="Alice"。

接下来,我们使用"TEXTJOIN"函数来将筛选得到的分数用逗号隔开。"TEXTJOIN"函数的语法如下:

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

其中,delimiter是用于连接文本的分隔符,ignore_empty表示是否忽略空白单元格,text1, [text2], ... 是要连接的文本参数。在我们的例子中,我们希望用逗号作为分隔符,并忽略空白单元格,将筛选得到的分数连接起来。

综合起来,我们的公式为:

=TEXTJOIN(",", TRUE, FILTER(B2:B6, A2:A6="Alice"))

这个公式的意思是:在B2:B6中筛选出与A2:A6中值为"Alice"的分数,并用逗号将它们连接起来。

执行这个公式后,将得到以下结果:

85,92,78

这就是姓名为"Alice"的所有分数,用逗号隔开输出的结果。

请注意,"TEXTJOIN"函数和"FILTER"函数在较新的Excel版本中才有提供,如果你使用的Excel版本较旧,可能无法使用这些函数。在这种情况下,你可以考虑升级到较新的Excel版本或者使用其他的方法来实现类似的功能。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jared Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值