Google Sheets行号匹配导入数据:修正BYROW+QUERY精确匹配公式
修正IMPORTRANGE实现精确匹配的公式
场景1:按行号直接对应导入
如果需要Sheet1的T列与Sheet3的O列按行号一一对应(即T1取Sheet3!O1、T2取Sheet3!O2……),无需复杂嵌套,直接使用以下公式(放在Sheet1的T1单元格即可):
=IMPORTRANGE("1SKXg3dFp9a83LQfURrF-QlAJvaupERvnqrdPv2CHMXw", "Sheet3!O1:O")
场景2:按A列值精确匹配导入
如果需要根据Sheet1 A列的值,精确匹配Sheet3 A列的对应行并导入O列数据,修正原公式的匹配逻辑即可:
=BYROW(A1:A, LAMBDA(x, IF(x<>"", IFERROR(QUERY(IMPORTRANGE("1SKXg3dFp9a83LQfURrF-QlAJvaupERvnqrdPv2CHMXw", "Sheet3!A1:O"), "select Col15 where lower(Col1) = '"&LOWER(x)&"'", 0), ""), "")))
关键修改点:
- 将原公式中模糊匹配的
matches '.*"&LOWER(OFFSET(x,,0))&".*'改为精确匹配的= '"&LOWER(x)&"',去掉正则通配符.*,确保只有当Sheet3 Col1(A列)与当前行x(Sheet1 A列)完全相等时才匹配 - 简化
OFFSET(x,,0)为x,无需额外偏移引用 - 补充末尾的空值参数,避免无匹配时显示错误或空白占位异常
内容的提问来源于stack exchange,提问作者Sonia Butt
相关产品推荐
相关产品推荐

