【问题标题】:Vlookup from One Column to Place Values in Multiple ColumnsVlookup 从一列将值放在多列中
【发布时间】:2021-08-01 09:25:39
【问题描述】:

我正在尝试使用 vlookup 为同一房间号码返回多个电话分机。通常,我可以使用 vlookup 完成此操作,但它只从一列返回一个值。有没有办法让 vlookup 在多个单元格的同一列中返回多个值?

In the sample spreadsheet I've provided that you can edit,我在标题为“电话”的选项卡的 A 列中有多次相同的房间号,因为有时同一个房间里有不止一部电话。我想使用一个数组公式,它在标题为“用户”的选项卡中使用 vlookup 将同一房间的每部电话带到 B 和 C 列中,标题为电话 1 和电话 2。

感谢您的帮助!

【问题讨论】:

    标签: google-sheets google-sheets-formula vlookup array-formulas


    【解决方案1】:

    你可以试试FILTER()函数。

    =TRANSPOSE(FILTER(Phones!B:B,Phones!A:A=A2))
    

    【讨论】:

    • 成功了。非常感谢。我一直试图让 arrayformula 自动复制下来,但看起来没有解决方案。再次感谢。
    • 如果您觉得它有帮助,请接受答案。勾选它。
    【解决方案2】:

    Ahoy - 它不是很优雅,但你可以做一个计数,你的范围从房间号的顶部单元格开始,范围的底部随着每个单元格向下移动。这样,您实际上是在说“对于这个特定的房间号,列表中的哪个数字是我所在的特定行)。然后,您可以连接房间号和出现次数(例如房间 405,第一次出现将是4051),然后在两列中对分机号进行索引匹配,在匹配公式的查找值中添加是要第一次出现还是第二次出现。如果您不熟悉索引匹配,有很多很好的 youtube 视频解释它,与 vlookup 非常相似。我把公式放在你的工作表中,希望对你有帮助!

    【讨论】:

    • 感谢您的工作。但是,我真的需要一个数组公式。
    【解决方案3】:

    这里有一个解决方案,可以同时将房间和电话号码放在一起(单个单元格中的公式):

    =ARRAYFORMULA(
      TRIM(
        SPLIT(
          TRANSPOSE(QUERY(
            QUERY(
              FILTER(Phones!A:B & "♥", Phones!A:A <> ""),
              "SELECT MAX(Col2)
               GROUP BY Col2
               PIVOT Col1",
              1
            ),, COUNTA(Phones!B:B)
          )),
          "♥"
        )
      )
    )
    


    如果您确实需要在参考文献中搜索房间号(例如,如果列 A:A 包含房间号的某些子集),那么这里有一个针对单个单元格的解决方案,其中公式将填写所有内容:

    =ARRAYFORMULA(
      IF(
        A2:A = "",,
          TRIM(
            SPLIT(
              VLOOKUP(
                A2:A,
                SPLIT(
                  TRANSPOSE(QUERY(
                    QUERY(
                      FILTER({Phones!A:A & "♥", Phones!B:B & "♦"}, Phones!A:A <> ""),
                      "SELECT MAX(Col2)
                       GROUP BY Col2
                       PIVOT Col1",
                      1
                    ),, COUNTA(Phones!B:B)
                  )),
                  "♥"
                ),
                2,
              ),
              "♦"
            )
          )
      )
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2022-01-21
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多