首页 > 解决方案 > Excel:基于文本的多重查找公式

问题描述

我有一张描述基本双向关系系统的表格。

为简单起见,我将仅以动物为例。
(我的实际电子表格是不必要的复杂,不会有帮助。)

我列出了具有唯一文本名称(标识符)的动物。
然后在另一列中,我列出了与 ID 列中的动物相关的动物。

最后,我需要一个反向计算关系的列。

在此处输入图像描述

为了做到这一点,我需要搜索整个第二列,并在第 2 列中生成包含某个单词的 Animal ID 列表。

我知道这可能是 Excel 公式的延伸,但如果我现在可以将它排除在 PowerQuery 或 VBA 之外,那将是非常有益的。
(这个表不会很大,最多100行。)

标签: excelexcel-formulavlookupexcel-2019

解决方案


根据我的评论:

如果您使用的是 Excel 2016 或 Office 365,则应该能够将TEXTJOIN用作数组公式,如下所示:

=TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH(A2,$B$2:$B$7)),$A$2:$A$7,""))

或者,如果您更喜欢使用表格表示法(没有“唯一”列标签):

=TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH([@Animal],[Related Animal])),[Animal],""))

将该公式放入单元格 C2 中(不要忘记使用 Ctrl+Shift+Enter 确认它以使其成为数组公式),然后向下复制。如果您使用的是早期版本的 Excel,这将要求结果位于单独的单元格中,否则您将需要 VBA。

注意:OP Giffyguy 更正了右括号的位置


推荐阅读