【问题标题】:Vlookup on multiple values in a cellVlookup 在一个单元格中的多个值
【发布时间】:2021-02-02 14:11:30
【问题描述】:

我希望能够返回 B 列中所示的 [cat,dog]。这更像是一个 POC,但对于我面临的主要挑战,单元格 A1 中将有未知数量的值。我不确定是否有办法通过 vlookup 来做到这一点,或者是否有更好的方法来做到这一点。

【问题讨论】:

    标签: arrays google-sheets google-sheets-formula array-formulas textjoin


    【解决方案1】:

    使用:

    =ARRAYFORMULA("["&TEXTJOIN(",", 1, 
     IFERROR(VLOOKUP(FLATTEN(SPLIT(A1, "[,]", 1, 0)), A3:B, 2, 0)))&"]")
    

    【讨论】:

    • 请@player0 总是为你的答案添加某种解释。
    【解决方案2】:

    猜测可能有不止一种犬科动物(dog、dog2、...),并且应该全部归还:

    = "["
    & JOIN(
        ",",
        QUERY(
          A3:B11,
          "SELECT B
           WHERE A MATCHES '^(?:" & JOIN("|", UNIQUE(SPLIT(A1, "[,]"))) & ")$'
           ORDER BY B",
          0
        )
      )
    & "]"
    

    我们只是使用MATCHES 过滤掉与正则表达式^feline|canine|...$QUERY 不匹配的所有内容,并用逗号将其连接起来。

    正则表达式在此构造(只是由|连接的唯一词):

    '^(?:" & JOIN("|", UNIQUE(SPLIT(A1, "[,]"))) & ")$'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 2017-06-16
      • 1970-01-01
      相关资源
      最近更新 更多