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

多条件矩阵查找求助:按客户与工作日匹配配送编号

解决跨工作表按客户+工作日匹配配送编号的问题

无需调整表格结构的公式方案

因为第一个工作表的工作日是列标题,需同时匹配行(客户)和列(工作日)的位置,用INDEX+MATCH组合可直接实现:
假设第一个表名为客户配送表,结构为:A列是客户姓名,B~F列的列标题是工作日(如周一、周二),对应单元格为配送编号;第二个工作表中,当前客户在A2,选定的工作日在B1(黄色单元格),需在B2(红色单元格)填入公式:

=INDEX(客户配送表!$B:$F, MATCH($A2, 客户配送表!$A:$A, 0), MATCH($B$1, 客户配送表!$B$1:$F$1, 0))
  • 第一个MATCH定位客户在客户配送表中的行号
  • 第二个MATCH定位选定工作日在客户配送表中的列号
  • INDEX根据行号和列号提取对应的配送编号

如果使用Google Sheets,也可以用更简洁的XLOOKUP嵌套:

=XLOOKUP($A2, 客户配送表!$A:$A, XLOOKUP($B$1, 客户配送表!$B$1:$F$1, 客户配送表!$B:$F))

调整表格结构的方案

把第一个工作表的“宽格式”转成“长格式”(三列:客户姓名、工作日、配送编号),后续匹配会更简单:

  1. Excel操作:选中数据区域 → 插入数据透视表 → 在数据透视表字段列表中,将“客户姓名”拖到行,所有工作日列拖到值 → 右键点击值区域任意单元格 → 选择“值设置”改为“求和”(因每个单元格数据唯一,任意聚合方式均可)→ 选中数据透视表 → 点击“分析”选项卡 → “更改数据源”→ “逆透视列”
  2. Google Sheets操作:选中数据区域 → 点击“数据”→ “转置重塑”→ “逆透视列”→ 选择所有工作日列完成逆透视

转成长格式后,用多条件INDEX+MATCH即可匹配:

=INDEX(重塑后表!$C:$C, MATCH(1, ($A2=重塑后表!$A:$A)*($B$1=重塑后表!$B:$B), 0))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 22:00:59