尝试查找字符串是否包含列表中的单词,如果包含,则返回该单词。按照教程操作,但不起作用

尝试查找字符串是否包含列表中的单词,如果包含,则返回该单词。按照教程操作,但不起作用

我跟着本教程

这是我输入公式的方式: 具有公式的单元格

公式是:=INDEX(C4:C5;MATCH(TRUE;ISNUMBER(SEARCH(C4:C5;B4));0))

结果如下:
结果

为什么它不起作用?

答案1

您尝试使用的公式是数组公式。数组公式需要用++又名CSE),不仅仅是

如果你操作正确,Excel 会将公式括在数学括号中(例如{})。您无需亲自输入这些内容。

您还需要将范围的行号锁定为绝对行引用,以便在您将公式从 D4 拖动到 D5 时它们不会改变。

=INDEX(C$4:C$5; MATCH(TRUE; ISNUMBER(SEARCH(C$4:C$5; B4)); 0))

如果您担心其他用户(肯定不是您自己)可能会通过编辑数组公式而不使用 CSE 来完成它而破坏它,请在 D4 中尝试此替代方法并向下拖动。它不需要 CSE。

=INDEX(C$4:C$5; AGGREGATE(15; 7; ROW($1:$2)/ISNUMBER(SEARCH(C$4:C$5; B4)); 1))

答案2

另一个更短、非数组且不需要 CSE 公式选项:

D4 中的公式,复制下来:

=LOOKUP(1,-SEARCH(C$4:C$5,B4),C$4:C$5)

相关内容