如何用IF语句和VLOOKUP函数实现Excel Draft Team条件匹配?
实现Excel Draft Team匹配的方法
前提说明
假设新工作表中:
- 选手的
Match值位于B列(示例中B2为第一个选手的Match值)players工作表结构: - A列:Draft Team名称
- B列:Start Match
- C列:End Match
方法1:使用XLOOKUP函数(适合Excel 365/2021及以上版本)
在新工作表的Draft Team列(如C2单元格)输入以下公式,下拉填充即可:
=XLOOKUP(TRUE, (players!$B$2:$B$6<=B2)*(players!$C$2:$C$6>=B2), players!$A$2:$A$6, "")
逻辑说明:
- 通过
(players!$B$2:$B$6<=B2)*(players!$C$2:$C$6>=B2)生成数组,判断当前选手的Match值是否落在players表某一行的Start Match和End Match区间内 - XLOOKUP找到第一个满足条件的行,返回对应的Draft Team名称;无匹配时返回空字符串
方法2:兼容旧版Excel的INDEX+MATCH组合
在新工作表的Draft Team列(如C2单元格)输入以下公式,下拉填充(旧版Excel需按Ctrl+Shift+Enter作为数组公式提交):
=IFERROR(INDEX(players!$A$2:$A$6, MATCH(1, (players!$B$2:$B$6<=B2)*(players!$C$2:$C$6>=B2), 0)), "")
逻辑说明:
- 同样用区间条件生成数组,
MATCH(1, ..., 0)定位第一个满足条件的行号 INDEX根据行号返回对应的Draft Team名称,IFERROR处理无匹配的情况,返回空值
内容的提问来源于stack exchange,提问作者Sri Sreshtan
相关产品推荐
相关产品推荐

