【问题标题】:Google Sheets match multiple resultsGoogle 表格匹配多个结果
【发布时间】:2016-09-10 04:35:48
【问题描述】:

我有一个代码列表,我需要匹配以交叉引用工作簿中的 2 张工作表。每个条目可以有多个匹配项,并且列是固定的,因为中间还有其他数据。

我有一个example sheet here

看起来像这样Cross referencing between sheets“Sheet2”是源,Sheet 1 Column F 是期望的结果 这已经超出了我的 VLOOKUP 技能

提前致谢

【问题讨论】:

  • 您的示例电子表格给出“您需要权限”。为获得最佳帮助,请分享您具有“可以编辑”权限的示例电子表格。
  • 感谢@JPV 我有答案,但需要添加“如果为空”元素,或者公式假定所有可能的水果都适合查询

标签: google-sheets


【解决方案1】:

鉴于您屏幕截图中的数据结构:

=JOIN(", ", FILTER($A$10:$A$14, FIND(A2, $C$10:$C$14)))

这里发生的事情是:
F2 中,我们尝试在个人喜欢的 Fruits 列表中找到 A1 中的水果(该公式本身仅用作数组公式):

=FIND(A2, $C$10:$C$14)

其结果是一个数字列表,指示匹配的水果和错误的位置。
在布尔解释中,错误为FALSE,0 以外的数字为TRUE
我们使用这个属性来过滤名称的范围:

=FILTER($A$10:$A$14, FIND(A2, $C$10:$C$14))

最后,我们用逗号和空格将范围连接在一起(见上文)

【讨论】:

  • 谢谢@Robin - 很奇怪,但是这个 =JOIN(", ", FILTER(Sheet2!$B:$B, FIND(A2, Sheet2!$D:$D))) 有效,但是这个=JOIN(", ", FILTER(VET Module Codes!$B$1:$B$300, FIND(A1,VET Module Codes!$D$1:$D$300))) 给出解析错误,尽管选项卡名称是复制的从 TAB 粘贴以排除可能的错误
  • AHA 明白了 - 命名工作表需要 ' ' 但 Sheet2 不需要...新手错误
  • 但是如果查找为空(尚未填充)IFERROR 没有帮助。
【解决方案2】:

这个问题的完整答案是这样的

= (IFERROR(IF(ISBLANK(A2),"",JOIN(", ", FILTER('命名工作表 A'!$B:$B, FIND(A2, '命名工作表 B'!$D: $D))))))

我的部分问题是尝试单独使用 IFERROR,并使用 Excel 代码 ISEMPTY 而不是 ISBLANK

【讨论】:

    【解决方案3】:

    这将是我的解决方案..

    =if(LEN(A2), JOIN(", ", FILTER('VET Module Codes'!$B:$B, regexmatch('VET Module Codes'!$D:$D, A2))),)
    

    并填满。这会在查找完成之前检查 col A 中是否有值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2014-09-06
      • 2012-08-28
      • 2019-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多