google-sheets - 两个不同电子表格之间的 VLOOKUP 公式 - Google 表格
问题描述
我正在尝试在两个不同电子表格的两个不同工作表之间使用 VLOOKUP 函数。在 VLOOKUP 的“范围”参数中,我通过 IMPORTRANGE(different_spreadsheet_url, range_string) 插入了一个范围,我得到了空值,尽管我搜索的值出现在输入范围中。
我认为在 VLOOKUP 中使用 IMPORTRANGE 存在一些问题,但我无法弄清楚。
如果有人能帮我解决这个问题或提出另一种解决我的问题的方法,我会很高兴。
谢谢。
解决方案
由于以下原因,您遇到了非常不寻常的问题:
- 您想使用 a
VLOOKUP
,但选择左侧的一列,VLOOKUP
不喜欢。 - 您不能使用通常的
INDEX
解决MATCH
方法,因为您想使用ArrayFormula
,它适用于VLOOKUP
,但不适用于INDEX
。
所以我们需要做的是在使用之前交换源表中的列VLOOKUP
。我们可以通过 aQUERY
和select
反向的 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
,因此您可以根据需要扩展数据。
推荐阅读
- c++ - MergeSorting C++,运行排序后缺少一个元素
- macos - 如何安装 wxmaxima?
- typescript-compiler-api - Typescript compiler, how to navigate to the definition of a symbol?
- sql - 当我询问 PackageId 时,为什么会返回 MemberId?
- c - GCC 如何在 x64 中对齐结构?
- elasticsearch - 在 ECK 上丢失之前的主节点后,Elasticseach 集群不会选举新主节点
- c# - 在 Unity 中验证没有联合的 Cognito 用户
- algorithm - 从随机有序子集重建超集
- numpy - 正向与反向模式区分 - Pytorch
- c# - ClickOnce 安装程序无法安装 SQLLocalDb2012,因为 sqlcmdnutils.msi 自最初发布以来已更改