Google Sheets中用VLOOKUP获取重复儿童名的最小年龄及父亲名
解决Google Sheets中提取重复姓名对应最小年龄及父亲姓名的问题
假设你的原始数据工作表名为原始数据,列结构如下:
- A列:儿童姓名
- B列:年龄
- C列:父亲姓名
结果工作表名为结果,需要生成不重复的儿童姓名、对应最小年龄及父亲姓名,以下是具体函数实现:
1. 提取不重复的儿童姓名
在结果表的A2单元格输入以下公式,它会自动提取原始表中所有不重复的儿童姓名:
=UNIQUE('原始数据'!A:A)
2. 获取对应最小年龄
在结果表的B2单元格输入公式,根据A列的姓名匹配原始表中该姓名的最小年龄:
=MINIFS('原始数据'!B:B, '原始数据'!A:A, A2)
这个函数比MIN+VLOOKUP更直接,它会精准筛选出当前姓名对应的所有年龄,再取最小值。
3. 获取最小年龄对应的父亲姓名
因为仅用姓名匹配可能返回重复项中的第一个父亲姓名,而非最小年龄对应的那一个,所以需要用双重条件匹配:
在结果表的C2单元格输入以下公式之一即可:
方案一:使用INDEX+MATCH
=INDEX('原始数据'!C:C, MATCH(1, ('原始数据'!A:A=A2)*('原始数据'!B:B=B2), 0))
方案二:使用XLOOKUP(更简洁)
=XLOOKUP(1, ('原始数据'!A:A=A2)*('原始数据'!B:B=B2), '原始数据'!C:C)
这两个公式都会同时匹配姓名和最小年龄,找到对应的父亲姓名。
为什么之前MIN+VLOOKUP组合失效?
VLOOKUP默认返回第一个匹配到的结果,即便你用MIN拿到了最小年龄,单独用VLOOKUP匹配姓名时,无法关联到最小年龄对应的行,所以会出现结果不符的情况。必须结合姓名和最小年龄作为双重匹配条件,才能拿到正确的父亲姓名。
内容的提问来源于stack exchange,提问作者Manoj Pal
相关产品推荐
相关产品推荐

