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

如何根据查找值返回Excel数组中的行标题与列标题?

二维表格中查找值对应行/列标题的解决方法

为什么你的公式报错

  • =XLOOKUP("S1",B2:K11,B1:K1) 返回#VALUE!:XLOOKUP仅支持在单行或单列中执行查找,直接传入二维数据区域B2:K11会触发类型不匹配错误。
  • =MATCH("S2",B2:K11) 返回#N/A:MATCH同样只识别单行/单列的查找范围,未明确查找维度(行/列)时,无法在二维区域定位目标值,因此返回未找到标识。

正确公式用法

结合你提供的表格结构(列标题为B1:K1、行标题为A2:A11、数据区域为B2:K11),给出以下解决方案:

1. 查找指定值的列标题(X坐标)

已知目标值所在行的情况(例如S1在第2行)

锁定目标行执行查找,XLOOKUP可正常工作:

=XLOOKUP("S1", B2:K2, B1:K1)

未知目标值所在行的通用情况

用SUMPRODUCT定位列号,再通过INDEX提取对应列标题:

=INDEX(B1:K1,, SUMPRODUCT((B2:K11="S1")*COLUMN(B2:K11)) - COLUMN(B1) + 1)

2. 查找指定值的行标题(Y坐标)

已知目标值所在列的情况(例如S2在第3列即C列)

锁定目标列执行查找:

=XLOOKUP("S2", C2:C11, A2:A11)

未知目标值所在列的通用情况

用SUMPRODUCT定位行号,再提取对应行标题:

=INDEX(A2:A11, SUMPRODUCT((B2:K11="S2")*ROW(B2:K11)) - ROW(A2) + 1)

3. 一次性返回X+Y坐标组合(例如S3)

用TEXTJOIN将列标题与行标题拼接输出:

=TEXTJOIN(", ",, INDEX(B1:K1,, SUMPRODUCT((B2:K11="S3")*COLUMN(B2:K11))-COLUMN(B1)+1), INDEX(A2:A11, SUMPRODUCT((B2:K11="S3")*ROW(B2:K11))-ROW(A2)+1))

内容的提问来源于stack exchange,提问作者Chris Houdy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:03:17