Excel:基于文本的多重查找公式

Excel: Text-Based Multi-Lookup Formula

我有一个 table 描述了一个基本的双向关系系统。

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

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

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

为了完成此操作,我需要搜索整个第二列,并生成包含第 2 列中特定单词的动物 ID 列表。

我知道这可能是 Excel 公式的延伸,但如果我能暂时将它从 PowerQuery 或 VBA 中排除,那将是非常有益的。
(这个table不会很大,最多100行。)

根据我的评论:

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

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

或者,如果您更喜欢使用 table 表示法(不带 "Unique" 列标签):

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

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

注意:OP Giffyguy

更正了右括号的位置