如何在Excel中如果单元格包含列表中的文本则返回值

  • Share This
Hugh West

如果你有一个文本列表,并想根据列表搜索单元格并返回数值,你需要建立一个公式,因为Excel没有提供简单的方法。 在这篇文章中,我已经解决了这个问题,并提供了五个不同的公式来执行这个操作,这样你就可以根据你的情况选择一个完美的公式,如果单元格包含某些文本,则返回数值从一个列表中。

下载实践工作手册

你可以从下面的按钮中下载我在本文中使用的工作手册,自己用它来练习。

如果单元格包含来自List.xlsx的文本

本文使用的函数介绍

我在这里使用的公式使用了以下函数。

  • COUNTIFS功能。

该函数对符合多个条件的单元格进行计数。 其语法为 COUNTIFS功能 详见下文。

=COUNTIFS (range1, criteria1, [range2], [criteria2], ...)

  • 范围1 - 要评估的第一个范围。
  • 标准1 - 在第一个范围内使用的标准。
  • range2 [可选]: 第二个范围,就像范围1一样。
  • 标准2 [可选]。 在第2个范围内使用的标准。 该功能最多允许127个。 范围和标准对 .
  • TEXTJOIN功能。

该函数用一个分隔符连接文本值。 TEXTJOIN功能 详见下文。

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

  • 分隔符。 该函数要合并的文本之间的分隔符。
  • ignore_empty: 这个参数指定函数是否忽略空单元格。
  • text1: 第1个文本值(或范围)。
  • text2 [可选]: 第2个文本值(或范围)。
  • MATCH功能。

该函数获取一个数组中某项的位置。 其语法为 MATCH功能 详见下文。

=MATCH (lookup_value, lookup_array, [match_type])

  • lookup_value: 中要匹配的值 lookup_array .
  • lookup_array: 一个单元格的范围或一个数组的引用。
  • match_type [可选]。 1=完全或次小,0=完全匹配,-1=完全或次大。 默认情况下,match_type=1。
  • INDEX功能。

该函数根据位置获取列表或表格中的值。 语法为 INDEX功能 详见下文。

=INDEX (array, row_num, [col_num], [area_num])

  • 阵列。 单元格的范围,或一个数组常数。
  • row_num: 参考中的行位置。
  • col_num [可选] : 参考文献中的列位置。
  • area_num [可选]。 应该使用的参考范围。
  • IFERROR函数。

该函数捕获并处理错误。 其语法为 IFERROR函数 详见下文。

=IFERROR (value, value_if_error)

  • 价值。 要检查错误的值、参考值或公式。
  • value_if_error。 如果发现错误要返回的值。
  • 搜索功能。

该函数获取文本在字符串中的位置。 其语法为 搜索功能 详见下文。

=SEARCH (find_text, within_text, [start_num])

  • 查找文本 : 这个参数指定了要查找的文本。
  • within_text: 这指定了在哪里可以找到文本。
  • start_num [可选]。 通过这个,你将指定--从文本字符串中的哪个位置开始计算指定文本的位置。 可选,默认为从左数1。

5个公式:如果单元格中包含列表中的某些文本,则在Excel中返回值

我将尝试在这个数据集中介绍一个真实的例子。 这里代表了一些饮料。 薯片 , 冷饮 ,以及 谷物 是这个数据集中的三类饮料。 在一个名为 所有产品 ,饮料的名称和类别是联系在一起的。 其中有两个类别。 薯片 冷饮 属于 "不合格",也属于 "不合格"。 列表 列。 根据 列表 栏,所需的输出将显示在第二栏。

1.结合COUNTIF, IF & OR函数,如果一个单元格包含一个列表中的文本,则返回值

如果你想在匹配后返回整个单元格的值,这是最有用的公式。

在这里,我获取了以下单元格的值 产品 匹配的 列表 列标准,并向他们展示了 基于该清单的产品 列。

该公式如下。

=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

公式分解。

  • =IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")

在这里, 星号标志 ( )是一个通配符。 它搜索到的是" 薯片 "和 "冷饮 "内的子串 细胞B5 这就是 " 拉夫饼干 - 薯片 " 字符串。

  • =IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "" )

ǞǞǞ COUNTIF 函数对每个子串的匹配都返回一个。 由于 " 薯片 " 被发现在 细胞B5 ,它返回{ 1:0 }.

  • =if(or({1;0}), b5, "")

ǞǞǞ 函数返回一个 为真 的值,如果任何参数是 为真 在这种情况下,一(1)= 为真 .

  • =IF(TRUE, "Ruffles - Chips", "")

由于 基金会 函数的值是 为真 ,它返回第一个参数,即期望的输出。

最后 输出 : 拉夫饼干 - 薯片

请注意。

这里,我显示了匹配的单元格,但你可以通过改变以下内容来显示你想要的任何输出 基金会 用你想要的输出功能输出。

=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*") ),TRUE,FALSE)

阅读更多。 如果单元格中含有单词,则在Excel中赋值(4个公式)。

2.使用IF-OR与搜索函数的组合来返回具有多个条件的值

在这里,我获取了以下单元格的值 产品 匹配的 列表 列标准,并向他们展示了 基于该清单的产品 列。

该公式如下。

=if(or(isnumber(search($e$5,b5)),isnumber(search($e$6,b5)),b5,")

公式分解。

  • =if(or(isnumber(search($e$5,b5)),isnumber(search($e$6,b5)),b5,")

ǞǞǞ 搜索 函数搜索了 列表 栏目中的 细胞B5 ......对于" 薯片 "它返回 11 是子串的起始位置。 对于 冷饮 ,它返回一个错误。

  • =if(or(isnumber(11),isnumber(search(#value))),b5," ")

ǞǞǞ 身份证号码 功能转换 11 进入 为真 值,并将误差计入 失败 价值。

  • =if(or(true,false)),b5,"" )

ǞǞǞ 函数返回一个 为真 的值,如果任何参数是 为真 因为有一个 为真 参数,它还返回 为真 在这种情况下的值。

  • =IF(TRUE, "Ruffles - Chips",")

由于 基金会 函数的值是 为真 ,它返回第一个参数,即期望的输出。

最终产出:松饼 - 薯片

请注意。

  • 在这里,我显示了匹配的单元格,但你可以通过改变以下内容来显示你想要的任何输出 基金会 用你想要的输出功能输出。
=if(or(isnumber(search($e$5,b5)),isnumber(search($e$6,b5)),1,0)

  • 这个公式的主要好处是,这不是一个数组公式,但如果你有很多单元格在 列表 因为你必须输入每个单元格的 列表 手动。
  • 对于区分大小写的情况,我们可以使用下面的公式,基于 查找功能 而不是 搜索 功能。
=if(or(isnumber(find($e$5,b5)),isnumber(find($e$6,b5)),b5,")

阅读更多。 淘宝网上有很多卖家,他们都是在淘宝网上买的,但是淘宝网上有很多卖家,他们都是在淘宝网上买的。

类似的阅读。

  • 如何在Excel中对包含特定文本的单元格进行求和(6种方法)
  • 在Excel中,如果单元格中含有文字,就使用VLOOKUP
  • 如何在Excel范围内查找文本&返回单元格引用(3种方法)

3.使用TEXTJOIN公式返回另一个单元格中的值,如果一个单元格有一个列表中的文本的话

这个公式在你必须显示什么字符串或字符串从 列表 匹配。

在这里,我从以下方面获取了单元格值 列表 列,它们与 产品 并将其显示为来自的匹配值 列表 列。

该公式如下。

=TEXTJOIN(",",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,"))

公式分解。

  • =TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,")

在这里, 星号标志 ( )是一个通配符。 它搜索到的是" 薯片 "和 "冷饮 "在单元格B5内的子串是" 拉夫饼干 - 薯片 "字符串。

  • TEXTJOIN(",",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,"))

ǞǞǞ COUNTIF 函数为每个子串匹配返回一个。 由于" 薯片 "见于 细胞B5 ,它返回{ 1:0 }.

  • textjoin(", ",true,if({1;0},$e$5:$e$6,"))

ǞǞǞ 基金会 函数只返回" 薯片 "的值,因为它的参数中只有第一个值是1 = .

  • TEXTJOIN(", ",TRUE,{"Chips";""})

ǞǞǞ 文本编辑器(TEXTJOIN 函数在这里没有做任何事情,因为只有一个值从 列表 如果有许多值需要匹配,它将返回所有的值,并在它们之间用逗号(,)作为分隔符。

最终产出: 芯片

阅读更多。 在Excel中,如果单元格中包含文本,则在另一个单元格中添加文本

4.使用INDEX MATCH公式在单元格包含特定文本时返回数值

这是对 文本编辑器(TEXTJOIN 这个公式还显示了从一个或多个字符串的 列表 匹配。

在这里,我已经从以下方面获取了单元格值 列表 列,它们与 产品 并将其显示为来自的匹配值 列表 列。

该公式如下。

=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0),""

公式分解。

  • =IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0)), "")

在这里, 星号标志 ( )是一个通配符。 它搜索到的是" 薯片 "和" 冷饮 " 内的子串 细胞B5 这就是" 拉夫饼干 - 薯片 "字符串。

  • IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),""

ǞǞǞ COUNTIF 函数为每个子串匹配返回一个。 由于" 薯片 "见于 细胞B5 ,它返回{ 1:0 }.

  • iferror(index($e$5:$e$6,match(1,{1;0}),0)), "")

ǞǞǞ 匹配 函数返回一个,因为只有一个值" 薯片 ",符合要求。

  • iferror(index($e$5:$e$6,1),"" )

ǞǞǞ 索引 函数返回" 薯片 ",因为它是在的价值。 列表 阵列。

  • IFERROR("Chips",")

在这里, 误差(IFERROR 函数用于处理在没有匹配的情况下会出现的错误。

最终产出: 芯片

请注意。

这里,我显示了匹配的单元格,但你可以通过改变以下内容来显示你想要的任何输出 基金会 用你想要的输出功能输出。

阅读更多。 Excel公式:如果单元格中包含文本,则在另一个单元格中返回值

5.应用EXACT函数与IF和TEXTJOIN

这是在不同情况下对这个问题的另一个解决方案。 在这里,我从List列中获取了一个成员的单元格值。 我们将这个值与Product进行匹配,并在一个单元格中显示所有的匹配值。

该公式如下。

=textjoin(", ",true,if(exact(c5:c14,$f$5),b5:b14,"))

公式分解 :

  • exact(c5:c14,$f$5)。

这一部分检查哪些值的 范围C5:14 相配 细胞F5 并返回 为真 失败 .

  • if(exact(c5:c14,$f$5),b5:b14,"" )

这一部分返回名称,我们得到 为真 .

  • textjoin(", ",true,if(exact(c5:c14,$f$5),b5:b14,"))

最后,这将所有的名字连接起来,每个名字后面有一个逗号。

速记

这里所有的公式(除了第二个)都是数组公式。 这意味着你必须按 按Ctrl+Shift+Enter键 而不是只按 进入 但是,如果你是一个 办公室365 用户,那么你就可以通过只按 进入。

总结

在这篇文章中,我缩小了各种情况下的不同公式,以在单元格包含列表中的特定文本时返回值。 我希望你能找到解决问题的方法。 如果你有任何建议或问题,请留下评论。 此外,你可以访问我们的 博客 了解更多此类文章。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.