Google Sheets VLookup难题:跨表查找如何获取A列偏移值
解决方案
核心思路
要获取A列的分组值,需先定位目标值L123在B1:Q137中的行号,再找到该行对应A列的最近非空分组(兼容合并单元格场景)。
可行公式
直接使用整合公式(替换<sheetaddress>为目标表格的实际ID):
=INDEX( IMPORTRANGE("<sheetaddress>","'Sunday'!A:A"), MAX( FILTER( ROW(IMPORTRANGE("<sheetaddress>","'Sunday'!A:A")), ROW(IMPORTRANGE("<sheetaddress>","'Sunday'!A:A")) <= MATCH(TRUE,INDEX(IMPORTRANGE("<sheetaddress>","'Sunday'!B1:Q137")=L123,0,0),0), IMPORTRANGE("<sheetaddress>","'Sunday'!A:A") <> "" ) ) )
优化方案(减少重复调用)
- 在任意空白单元格(比如
Z1)导入完整数据范围:=IMPORTRANGE("<sheetaddress>","'Sunday'!A1:Q137") - 右键点击该单元格,选择「定义名称」,命名为
ScheduleData - 使用简化公式:
=INDEX( INDEX(ScheduleData,,1), MAX( FILTER( ROW(INDEX(ScheduleData,,1)), ROW(INDEX(ScheduleData,,1)) <= MATCH(TRUE,INDEX(ScheduleData,,2):INDEX(ScheduleData,,17)=L123,0), INDEX(ScheduleData,,1) <> "" ) ) )
注意事项
- 首次使用
IMPORTRANGE需点击公式旁的「授权访问」按钮,确保拥有目标表格的查看权限 - 合并单元格的分组值仅存储在合并区域的首行,公式通过
MAX(FILTER(...))自动定位到该行的分组内容
内容的提问来源于stack exchange,提问作者Harshmage
相关产品推荐
相关产品推荐

