You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Index Match或XLOOKUP在A-D列表格中查找值并返回对应C列内容?

查找任意位置值并返回对应行C列值的公式方案

针对在A:D列范围内查找"Edward"并返回其所在行C列值的需求,以下是两种可行的Google Sheets公式方案:

方案1:INDEX + MATCH 结合FLATTEN

=INDEX(C:C, MATCH("Edward", FLATTEN(A:D), 0))
  • 原理:FLATTEN(A:D)将A到D的二维表格转为一维数组,让MATCH能在整个范围内定位"Edward"的位置,再通过INDEX提取对应行的C列值。

方案2:XLOOKUP 结合FLATTEN

=XLOOKUP("Edward", FLATTEN(A:D), C:C)
  • 原理:XLOOKUP的查找数组用FLATTEN(A:D)转为一维,直接匹配"Edward"后返回对应行的C列值,写法更简洁。

补充说明

  • 若存在多个"Edward",两个公式都会返回第一个匹配项所在行的C列值;
  • 如需处理无匹配的情况,可添加默认返回值:
    • INDEX+MATCH版本:=INDEX(C:C, MATCH("Edward", FLATTEN(A:D), 0), "无匹配结果")
    • XLOOKUP版本:=XLOOKUP("Edward", FLATTEN(A:D), C:C, "无匹配结果")

你之前使用INDEX/MATCH或XLOOKUP报错,核心原因是直接将二维的A:D作为查找数组,这两个函数默认无法在二维数组中直接匹配单个值,通过FLATTEN转成一维数组即可解决问题。

内容的提问来源于stack exchange,提问作者Marco Gilbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:42:40