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

如何用TEXTJOIN搭配INDEX MATCH匹配表头返回非空值对应价格

实现方案

直接在E2单元格输入以下公式即可,根据你使用的Excel版本选择对应输入方式:

适用版本:Excel 365 / 2021 及以上支持动态数组的版本

=TEXTJOIN(", ",TRUE,IF(A2:D2<>"",INDEX(H:H,MATCH(A1:D1,G:G,0)),""))

输入后直接回车即可生效。

适用版本:Excel 2019 及更早版本

输入上述公式后,按Ctrl+Shift+Enter组合键触发数组运算方可生效。

公式逻辑说明
  • A2:D2<>"":判断第2行对应列的单元格是否非空,你可以根据你的实际列范围调整(比如如果可选商品列到F列,就修改为A2:F2<>")
  • A1:D1:对应列的表头区域,需要和上述判断区域的列范围保持一致
  • INDEX(H:H,MATCH(A1:D1,G:G,0)):将非空单元格对应的列表头,到G列(商品名称列)做精确匹配,返回对应H列(价格列)的取值
  • TEXTJOIN第二个参数设为TRUE,会自动忽略空值,不会把空单元格对应的无效内容拼接进结果

优化方案(可选)

如果存在表头在G列匹配不到的场景,可以嵌套IFERROR避免返回错误值,修改后公式如下:

=TEXTJOIN(", ",TRUE,IF(A2:D2<>"",IFERROR(INDEX(H:H,MATCH(A1:D1,G:G,0)),""),""))

使用方式和原公式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:36:03