我有如下数据。如果该值之一是Column1的子字符串,我想用列表column(E)中的值填充Column2。我能够断言该条件并返回TRUE或FALSE,但不能返回List列中的实际字符串。有什么帮助吗?
更新:我提到这里基础上,条件返回TRUE或FALSE
您可以将SUMPRODUCT与INDEX结合使用。
我懂了:
我在E1中向下拖动的公式是:
=IFERROR(INDEX($E$1:$E$4;SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)));"Not found")
它是这样工作的:
SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)))
如果找到/未找到文本,部件将返回1和0的数组。然后,将这些1和0乘以列表中每个选项的行号。如果什么也没找到,它将返回0INDEX
和在步骤1中返回的数字,我们只列出元素。INDEX
是IFERROR
因为有时步骤1会返回0,如果找不到任何内容,则会在步骤2引发错误,因此我们返回文本“未找到”。希望您可以适应您的需求。
重要说明:如果有0或1个巧合,则此公式将起作用。如果更多,该公式将不起作用,因为它将返回2个或更多行号的总和,然后INDEX将引发错误。当心
示例:如果键入GREY DOG,则该公式将返回5(在第1行和第4行的巧合并累加)。但是使用INDEX时,您只在4行而不是5行中查找,因此将引发错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句