温馨提示:本文翻译自stackoverflow.com,查看原文请点击:excel - Return the list content contained in the given cell
excel

excel - 返回给定单元格中包含的列表内容

发布于 2020-03-30 21:39:38

我有如下数据。如果该值之一是Column1的子字符串,我想用列表column(E)中的值填充Column2。我能够断言该条件并返回TRUE或FALSE,但不能返回List列中的实际字符串。有什么帮助吗? 在此处输入图片说明

更新:我提到这里基础上,条件返回TRUE或FALSE

查看更多

提问者
Rockstart
被浏览
11
Foxfire And Burns And Burns 2020-01-31 18:19

您可以将SUMPRODUCT与INDEX结合使用。

我懂了:

在此处输入图片说明

我在E1中向下拖动的公式是:

=IFERROR(INDEX($E$1:$E$4;SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)));"Not found")

它是这样工作的:

  1. SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)))如果找到/未找到文本,则部件将返回1和0的数组。然后,将这些1和0乘以列表中每个选项的行号。如果什么也没找到,它将返回0
  2. 使用INDEX和在步骤1中返回的数字,我们只列出元素。
  3. 我们使用陷阱INDEXIFERROR因为有时步骤1会返回0,如果找不到任何内容,则会在步骤2引发错误,因此我们返回文本“未找到”。

希望您可以适应您的需求。

重要说明:如果有0或1个巧合,则此公式将起作用。如果更多,该公式将不起作用,因为它将返回2个或更多行号的总和,然后INDEX将引发错误。当心

示例:如果键入GREY DOG,则该公式将返回5(在第1行和第4行的巧合并累加)。但是使用INDEX时,您只在4行而不是5行中查找,因此它将引发错误。