如何用INDEX/MAX/IF函数查找Excel中最年长当前吸烟者的pserial编号
解决Excel查找最年长当前吸烟者pserial的问题
适配多数Excel版本的公式
假设你的数据对应列如下:
pserial在C列(第3列)- 吸烟者标识
cigst(值为4时判定为当前吸烟者)在N列 - 年龄数据在K列(从截图可见年龄字段对应此列)
直接使用以下数组公式:
=INDEX(C:C, MATCH(MAX(IF(N:N=4, K:K)), IF(N:N=4, K:K), 0))
注意:旧版Excel需按
Ctrl+Shift+Enter确认公式,新版Excel直接回车即可生效。
公式逻辑拆解
IF(N:N=4, K:K):仅保留当前吸烟者的年龄数据,非吸烟者返回FALSE(不会被MAX函数纳入计算)MAX(...):从筛选后的吸烟者年龄中提取最大值MATCH(MAX值, 筛选后的年龄数组, 0):定位该最大年龄对应的行号INDEX(C:C, 行号):根据行号提取对应的8位pserial值
实用提示
- 若存在多个年龄相同的最大吸烟者,公式会返回第一个出现的
pserial - 确保年龄列设置为数值格式,避免MAX函数计算出错
- 数据量较大时,建议用具体数据区域代替整列(如
C2:C1000),提升计算效率
内容的提问来源于stack exchange,提问作者andrea65
相关产品推荐
相关产品推荐

