Google Sheets匹配对应列提取前三行数据填充目标列方法咨询
Google Sheets 匹配提取方案
以下公式可直接在你的「Desired Results(预期结果)」工作表中使用,无需调整原始数据格式,原始数据或D列内容更新时会自动同步计算结果。
方案1:自动溢出数组公式(无需手动拖拽)
在E2单元格输入以下公式即可,后续D列新增内容会自动生成对应结果:
=BYROW(D2:D, LAMBDA(key, IF(key="",, LET(col, XMATCH(key, 'Original Data(原始数据)'!1:1, 0), IFERROR(INDEX('Original Data(原始数据)'!A:ZZ, {2,3,4}, col), "")))))
参数调整说明:
- 若原始数据的列名不在第一行,将
'Original Data(原始数据)'!1:1替换为列名所在的行范围即可 - 若需要提取的是匹配列包含表头的前三行,将
{2,3,4}修改为{1,2,3}即可 - 若需要匹配最后一个同名列,将XMATCH的第三个参数
0修改为-1即可
方案2:单行公式(适合按需拖拽填充)
如果不需要自动溢出,可分别在三个列输入单行公式,再选中E2:G2往下拖拽到需要的行即可:
- E2公式:
=IFERROR(INDEX('Original Data(原始数据)'!A:ZZ, 2, XMATCH($D2, 'Original Data(原始数据)'!1:1, 0)), "") - F2公式:
=IFERROR(INDEX('Original Data(原始数据)'!A:ZZ, 3, XMATCH($D2, 'Original Data(原始数据)'!1:1, 0)), "") - G2公式:
=IFERROR(INDEX('Original Data(原始数据)'!A:ZZ, 4, XMATCH($D2, 'Original Data(原始数据)'!1:1, 0)), "")
两种方案均匹配VLOOKUP类的查询逻辑,且比VLOOKUP灵活性更高,无需手动调整列索引参数,修改匹配规则仅需调整对应参数即可。
内容的提问来源于stack exchange,提问作者stuckinthecold
相关产品推荐
相关产品推荐

