并且你在 Excel 2016 中输入后,需要按下:
Ctrl + Shift + Enter
而不是普通的 Enter。
执行后 Excel 会在公式外自动加上花括号 {},表示它是一个数组公式。
假设你的数据如下:
| 行号 | 报考部门 | 笔试分数 |
|---|---|---|
| 2 | 财务部 | 80 |
| 3 | 人事部 | 75 |
| 4 | 财务部 | 92 |
| 5 | 行政部 | 88 |
| 6 | 财务部 | 85 |
命名区域:
报考部门 → A2:A6
笔试分数 → B2:B6
单元格 C5 = "财务部"
先看 报考部门=C5 这部分。
报考部门 是一个区域(5 个单元格),所以这个比较会产生一个 逻辑数组:
结果为:
把这个逻辑数组带入到 IF 函数中:
数组的每个元素都分别判断:
| 条件 | 对应笔试分数 | 结果 |
|---|---|---|
| TRUE | 80 | 80 |
| FALSE | 75 | FALSE(或省略) |
| TRUE | 92 | 92 |
| FALSE | 88 | FALSE |
| TRUE | 85 | 85 |
得到的中间结果是一个数组:
然后 MIN(...) 对整个数组求最小值。
Excel 在计算时会自动忽略逻辑值或空值(即 FALSE 会被略过)。
所以有效数据就是:
最终结果:
| 公式部分 | 含义 |
|---|---|
报考部门=C5 | 生成 TRUE/FALSE 数组,标记哪些行匹配 |
IF(..., 笔试分数) | 保留匹配行的笔试分数,其余为 FALSE/空 |
MIN(...) | 在这些匹配的分数中取最小值 |
结果就是:
所有“报考部门 = C5”的行中,笔试分数的最小值。