适配旧版Excel:通过MatchCode从时间网格匹配场地号与开始时间的公式需求
旧版Excel适配:通过MatchCode匹配时间网格填充场地号与开始时间
假设你的数据结构如下:
- 首表:A列为
MatchCode,需在B列填充Court Number(场地号),C列填充Lookup Start Time(开始时间) - 时间网格表:第一列(如
E2:E10)为场地号,第一行(如F1:J1)为开始时间,F2:J10区域为对应MatchCode值
场地号(Court Number)公式
在首表B2单元格输入以下数组公式,输入完成后按Ctrl+Shift+Enter确认(旧版Excel必须按此组合键,不能直接回车):
=INDEX($E$2:$E$10, MIN(IF($F$2:$J$10=A2, ROW($F$2:$J$10)-ROW($F$2)+1, "")))
下拉公式可批量填充首表其他行的场地号。
开始时间(Lookup Start Time)公式
在首表C2单元格输入以下数组公式,同样按Ctrl+Shift+Enter确认:
=INDEX($F$1:$J$1, MIN(IF($F$2:$J$10=A2, COLUMN($F$2:$J$10)-COLUMN($F$2)+1, "")))
下拉公式完成批量填充。
公式说明
IF($F$2:$J$10=A2, ...):遍历整个时间网格区域,定位所有与当前MatchCode匹配的单元格ROW/COLUMN函数:计算匹配单元格在网格区域内的相对行/列号MIN:提取第一个匹配位置的行/列号(若存在多个匹配,返回最先出现的结果)INDEX:根据行/列号从场地号列或开始时间行中提取对应值
额外优化(可选)
若需处理无匹配的情况,可嵌套IFERROR返回自定义提示:
=IFERROR(INDEX($E$2:$E$10, MIN(IF($F$2:$J$10=A2, ROW($F$2:$J$10)-ROW($F$2)+1, ""))), "无匹配")
内容的提问来源于stack exchange,提问作者spenser1235yahoocom
相关产品推荐
相关产品推荐

