Excel筛选表格后计算最小值(MIN)的公式实现需求
Excel筛选后计算可见行的最小值
问题场景
现有带单列筛选功能的Excel表格,数据如下:
| 单元格号 | A | B |
|---|---|---|
| 2 | car | 2 |
| 3 | Moto | 30 |
| 4 | Moto | 20 |
| 5 | car | 30 |
| 6 | Moto | 4 |
| 7 | car | 10 |
普通的=MIN(B2:B7)只能计算B列整体最小值,需要实现两种场景的最小值计算:
- 筛选"car"时,计算可见行(单元格2、5、7)的B列最小值(结果为2)
- 筛选"Moto"时,计算可见行(单元格3、4、6)的B列最小值(结果为4)
解决方案
场景1:手动筛选后计算可见行最小值
使用SUBTOTAL函数,它会自动忽略Excel筛选功能隐藏的行,公式如下:
=SUBTOTAL(105, B2:B7)
- 参数
105代表计算最小值,且仅统计筛选后可见的单元格(若使用参数5,会包含手动隐藏的行,不适合筛选场景) - 当你在列A筛选"car"或"Moto"后,该公式会自动更新为对应可见行的最小值
场景2:无需手动筛选,直接按条件计算最小值
如果不想手动操作筛选,可使用MINIFS函数直接按列A的条件计算B列最小值:
- 计算"car"对应的最小值:
=MINIFS(B2:B7, A2:A7, "car")
- 计算"Moto"对应的最小值:
=MINIFS(B2:B7, A2:A7, "Moto")
内容的提问来源于stack exchange,提问作者SERGIO
相关产品推荐
相关产品推荐

