Excel技术求助:如何根据输入年龄匹配最小最大年龄列并返回年龄组
Excel匹配年龄组公式方案
假设你的数据结构为:
- A列:最小年龄
- B列:最大年龄
- C列:对应年龄组
- E2单元格:输入的目标年龄
适用于Excel 365/2021及以上版本(支持动态数组)
用TEXTJOIN+FILTER直接返回所有匹配的年龄组,多结果用逗号分隔:
=TEXTJOIN(", ", TRUE, FILTER(C:C, (A:A<=E2)*(B:B>=E2), "无匹配年龄组"))
公式逻辑:
(A:A<=E2)*(B:B>=E2):筛选出满足「输入年龄在最小-最大年龄区间内」的行FILTER提取对应年龄组,TEXTJOIN将结果拼接成字符串,无匹配时返回提示文本
适用于Excel 2019及更早版本(数组公式)
需按Ctrl+Shift+Enter确认输入:
返回第一个匹配结果
=INDEX(C:C, MIN(IF((A:A<=E2)*(B:B>=E2), ROW(A:A), 99999)))
返回第N个匹配结果(将公式中的1替换为对应序号)
=INDEX(C:C, SMALL(IF((A:A<=E2)*(B:B>=E2), ROW(A:A), 99999), 1))
若需合并所有结果,可下拉公式直到出现错误值,再用TEXTJOIN(版本支持时)或手动拼接。
内容的提问来源于stack exchange,提问作者ashish521
相关产品推荐
相关产品推荐

