请求解析指定Excel嵌套IF与VLOOKUP组合公式
Excel公式完整专业解析
公式原文
=IF([@[CIRCUIT_ID]]="BTWD206969","",IF(OR([@[SUSPEND_DATE]]="CLOS",[@[SUSPEND_DATE]]="ENGC"),IF([@SCD]>$BG$1,IF([@[ORDER_TYPE]]="QCS924",VLOOKUP([@[ORDER_VALIDATED_DATE_TIME2]],'10G Apollo LD'!B:C,2,0),""),"","")))
层级逻辑拆解(从外到内)
这是嵌套4层的IF函数组合,核心为多条件递进判断+精准匹配查询,逻辑分支如下:
第一层:特定电路ID排除
- 判断规则:当前行
CIRCUIT_ID列值等于BTWD206969 - 满足返回:空字符串(
"") - 不满足则:进入第二层判断
第二层:暂停状态筛选
- 判断规则:当前行
SUSPEND_DATE列值为CLOS或ENGC(通过OR函数实现多条件或判断) - 满足则:进入第三层判断
- 不满足返回:空字符串(
"")
第三层:时间阈值校验
- 判断规则:当前行
SCD列值大于绝对引用单元格$BG$1的值($确保下拉复制公式时引用位置不变) - 满足则:进入第四层判断
- 不满足返回:空字符串(
"")
第四层:订单类型匹配与查询
- 判断规则:当前行
ORDER_TYPE列值等于QCS924 - 满足则执行
VLOOKUP查询:- 查询键:当前行
ORDER_VALIDATED_DATE_TIME2列值 - 查询范围:
'10G Apollo LD'工作表的B:C列 - 返回列:查询范围的第2列(即
C列) - 匹配规则:精确匹配(参数
0等同于FALSE,仅返回完全匹配的结果)
- 查询键:当前行
- 不满足返回:空字符串(
"")
简化逻辑流程
开始 │ ├─ CIRCUIT_ID = BTWD206969? → 是→返回"" │ └─ 否→SUSPEND_DATE为CLOS/ENGC? → 否→返回"" │ └─ 是→SCD > $BG$1? → 否→返回"" │ └─ 是→ORDER_TYPE = QCS924? → 否→返回"" │ └─ 是→执行VLOOKUP返回对应C列值
内容的提问来源于stack exchange,提问作者Young.Aborsh
相关产品推荐
相关产品推荐

