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

求Excel动态匹配公式:根据位置值匹配另一工作表的起止区间负责人

Excel区间匹配查找人员的公式方案

假设Sheet2的结构如下:

  • A列:区间起始值(对应Location的下限)
  • B列:区间结束值(对应Location的上限)
  • C列:负责该区间的人员

以下是几种无需VBA、支持区间动态变更的公式方案,根据你的Excel版本选择:

方案1:使用XLOOKUP(Excel 365/2021及以上版本)

在Sheet1的Person列(如C2单元格)输入公式,下拉即可批量应用:

=XLOOKUP(TRUE, (Sheet2!$A$2:$A$100<=Sheet1!B2)*(Sheet2!$B$2:$B$100>=Sheet1!B2), Sheet2!$C$2:$C$100, "无匹配人员")
  • 说明:通过数组条件判断当前Location值是否落在Sheet2的对应区间内,返回匹配的人员名称;最后一个参数为无匹配时的提示文本,可按需修改。
  • 动态支持:直接修改Sheet2的区间或人员数据,公式会自动同步更新结果。

方案2:使用LOOKUP(兼容多数Excel版本)

适合没有XLOOKUP功能的旧版本,公式如下:

=LOOKUP(2,1/(Sheet2!$A$2:$A$100<=Sheet1!B2)/(Sheet2!$B$2:$B$100>=Sheet1!B2),Sheet2!$C$2:$C$100)
  • 说明:1/(条件)会生成有效数值1或错误值,LOOKUP查找2时会匹配最后一个符合条件的区间对应的人员;若区间无重叠,结果准确。
  • 注意:旧版本需按Ctrl+Shift+Enter作为数组公式输入(部分新版本无需手动触发)。

方案3:使用INDEX+MATCH组合(兼容所有Excel版本)

返回第一个符合条件的人员,公式如下:

=INDEX(Sheet2!$C$2:$C$100, MATCH(TRUE, (Sheet2!$A$2:$A$100<=Sheet1!B2)*(Sheet2!$B$2:$B$100>=Sheet1!B2), 0))
  • 说明:MATCH定位到第一个满足区间条件的行号,INDEX提取对应行的人员名称。
  • 注意:旧版本需按Ctrl+Shift+Enter作为数组公式输入。

通用注意事项

  • 用$锁定Sheet2的区间范围(如$A$2:$A$100),避免下拉公式时区间偏移;若数据量变化,可调整区间的结束行号。
  • 确保Sheet2的区间无重叠,否则不同公式返回的结果会有差异(XLOOKUP/INDEX+MATCH返回第一个匹配,LOOKUP返回最后一个匹配)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:18:12