Excel公式中如何将多个OR条件与AND组合使用?
Excel多条件组合(AND+OR)计算中位数的正确方法
问题分析
原公式=MEDIAN(IF((Table1[Fruit]="Apple")*OR(Table1[Year]=2023,Table1[Year]=2024)*OR(Table1[Season]="Summer",Table1[Season]="Spring"),Table1[Value]))失效的核心原因:OR函数在数组运算场景中会返回单个布尔值(TRUE/FALSE),而非对应每一行的布尔数组,导致条件判断逻辑错误,最终筛选出不符合要求的数值范围。
正确公式实现
方法1:兼容全版本的数组公式
将OR逻辑替换为**加号(+)**表示“或”,乘号(*)表示“且”,输入完成后按Ctrl+Shift+Enter组合键确认(Excel 365/2021可直接回车):
=MEDIAN(IF((Table1[Fruit]="Apple")*((Table1[Year]=2023)+(Table1[Year]=2024))*((Table1[Season]="Summer")+(Table1[Season]="Spring")),Table1[Value]))
方法2:Excel 365/2021动态数组公式(更简洁)
先通过FILTER函数筛选符合条件的数值,再计算中位数:
=MEDIAN(FILTER(Table1[Value],(Table1[Fruit]="Apple")*((Table1[Year]=2023)+(Table1[Year]=2024))*((Table1[Season]="Summer")+(Table1[Season]="Spring"))))
验证结果
执行正确公式后,会精准筛选出符合条件的数值3和8,计算中位数为5.5,与预期结果一致。
筛选后的目标数据
| 季节 | 年份 | 水果 | 数值 |
|---|---|---|---|
| 夏季 | 2023 | Apple | 3 |
| 夏季 | 2024 | Apple | 8 |
内容的提问来源于stack exchange,提问作者sjedi
相关产品推荐
相关产品推荐

