You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel公式求助:基于姓名匹配及多列条件判断项目资格

实现Sheet1 Q列资格判定的可行方案

我来给你梳理两个适配不同Excel版本的可行方案,直接套用就能完成需求:

一、适用于Excel 365/2021及以后版本(支持XLOOKUP)

在Sheet1的Q2单元格(假设表头在第1行,数据从第2行开始)输入以下公式,然后下拉填充即可:

=IF(SUMPRODUCT(--(INDEX(Sheet2!$F:$K,XLOOKUP(A2,Sheet2!$A:$A,ROW(Sheet2!$A:$A)),{1,4,5,6})<=4))>=3,"符合资格","不符合")

公式拆解:

  • XLOOKUP(A2,Sheet2!$A:$A,ROW(Sheet2!$A:$A)):精准定位Sheet2中与Sheet1 A2姓名匹配的行号
  • INDEX(Sheet2!$F:$K, 匹配行号, {1,4,5,6}):提取该行的F(第1列)、I(第4列)、J(第5列)、K(第6列)四个单元格的值
  • --(值<=4):把"值≤4"的布尔判断结果转成1(符合)或0(不符合),方便统计数量
  • SUMPRODUCT:对上述1/0值求和,得到符合条件的单元格数量
  • 最后用IF判断:如果数量≥3,返回"符合资格",否则返回"不符合"

你也可以用更简洁的COUNTIF版本:

=IF(COUNTIF(INDEX(Sheet2!$F:$K,XLOOKUP(A2,Sheet2!$A:$A,ROW(Sheet2!$A:$A)),{1,4,5,6}),"<=4")>=3,"符合资格","不符合")

二、适用于Excel 2019及更早版本(无XLOOKUP支持)

旧版Excel用INDEX+MATCH组合来定位匹配行,公式如下:

=IF(SUMPRODUCT(--(INDEX(Sheet2!$F:$K,MATCH(A2,Sheet2!$A:$A,0),{1,4,5,6})<=4))>=3,"符合资格","不符合")

公式拆解:

  • MATCH(A2,Sheet2!$A:$A,0):精准找到Sheet2中与A2姓名匹配的行号(0代表精确匹配)
  • 后续的统计和判断逻辑和上面的现代版完全一致

额外注意点

  • 如果Sheet2的A列存在重复姓名,上述公式只会匹配第一个出现的姓名行。要是需要处理重复姓名的情况,得根据你的具体需求调整逻辑(比如统计所有匹配行的符合条件数量总和,或者取特定行)
  • 如果目标单元格(F/I/J/K列)有空值,<=4会把空值视为0统计进去。要是想排除空值,把公式调整为:
=IF(SUMPRODUCT(--(INDEX(Sheet2!$F:$K,XLOOKUP(A2,Sheet2!$A:$A,ROW(Sheet2!$A:$A)),{1,4,5,6})<>""),--(INDEX(Sheet2!$F:$K,XLOOKUP(A2,Sheet2!$A:$A,ROW(Sheet2!$A:$A)),{1,4,5,6})<=4))>=3,"符合资格","不符合")

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

火山引擎 最新活动