excel - Excel:基于文本的多重查找公式
问题描述
我有一张描述基本双向关系系统的表格。
为简单起见,我将仅以动物为例。
(我的实际电子表格是不必要的复杂,不会有帮助。)
我列出了具有唯一文本名称(标识符)的动物。
然后在另一列中,我列出了与 ID 列中的动物相关的动物。
最后,我需要一个反向计算关系的列。
为了做到这一点,我需要搜索整个第二列,并在第 2 列中生成包含某个单词的 Animal ID 列表。
我知道这可能是 Excel 公式的延伸,但如果我现在可以将它排除在 PowerQuery 或 VBA 之外,那将是非常有益的。
(这个表不会很大,最多100行。)
解决方案
根据我的评论:
如果您使用的是 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 更正了右括号的位置
推荐阅读
- dart - 我可以在 Dart 中动态调用静态方法吗?
- c - 在 linux for windows 上交叉编译不会输出 DLL 文件
- ios - Swift - 初始化 UITableViewCell
- r - map2 在列表上解决基于均值协方差矩阵的凸优化问题
- html - HTML5 视频元素加载时间
- android - 适配器 Equivelant 中的 findViewHolderForAdapterPosition 是什么?
- javascript - Flatpickr 验证 startDate 在 endDate 之前
- javascript - 通过 Ajax 在 React 中提交表单
- sql - 查询 DECIMAL 列的精度和小数位数
- python-3.x - 如何解压嵌套字典并返回包含嵌套值的集合?