首页 > 解决方案 > 两个不同电子表格之间的 VLOOKUP 公式 - Google 表格

问题描述

我正在尝试在两个不同电子表格的两个不同工作表之间使用 VLOOKUP 函数。在 VLOOKUP 的“范围”参数中,我通过 IMPORTRANGE(different_spreadsheet_url, range_string) 插入了一个范围,我得到了空值,尽管我搜索的值出现在输入范围中。

我认为在 VLOOKUP 中使用 IMPORTRANGE 存在一些问题,但我无法弄清楚。

如果有人能帮我解决这个问题或提出另一种解决我的问题的方法,我会很高兴。

谢谢。

标签: google-sheetsgoogle-sheets-formula

解决方案


由于以下原因,您遇到了非常不寻常的问题:

  1. 您想使用 a VLOOKUP,但选择左侧的一列,VLOOKUP不喜欢。
  2. 您不能使用通常的INDEX解决MATCH方法,因为您想使用ArrayFormula,它适用于VLOOKUP,但不适用于INDEX

所以我们需要做的是在使用之前交换源表中的列VLOOKUP。我们可以通过 aQUERYselect反向的 Columns 来实现这一点,如下所示:

=ArrayFormula(VLOOKUP(FILTER(A:A,A:A),Query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1nGI6-Vwv_zX-0DfN8zFwVYJTd00iXY3HLcSlU_rjhEo/edit#gid=0","example1!A:B"),"select Col2,Col1"),2,0))

或者更具可读性:

=ArrayFormula(
    VLOOKUP(
        FILTER(A:A,A:A),
        Query(
            IMPORTRANGE(
                "https://docs.google.com/spreadsheets/d/1nGI6-Vwv_zX-0DfN8zFwVYJTd00iXY3HLcSlU_rjhEo/edit#gid=0",
                "example1!A:B"
            ),
            "select Col2,Col1"
        ),
        2,
        0
    )
)

我还继续使用了 A 列的所有非空白FILTER,因此您可以根据需要扩展数据。


推荐阅读