Google Sheets 使用数组公式实现同职业后续匹配姓名自动填充
Google Sheets整列自动匹配同职业下一个出现姓名的解决方案
适用场景
针对C列为人员姓名、D列为对应职业的表格,自动在F列返回当前行之后同职业的第一个对应姓名,无匹配则返回N/A,无需手动下拉公式,新增行自动完成计算。
操作步骤
假设表格表头在第1行,有效数据从第2行开始,直接在F2单元格输入如下公式即可自动溢出填充整列:
=BYROW(ROW(C2:C),LAMBDA(r,IF(ISBLANK(INDEX(D:D,r)),NA(),IFERROR(INDEX(FILTER(C:C,D:D=INDEX(D:D,r),ROW(C:C)>r),1),NA())))
如果你的有效数据从其他行开始,只需要把公式中的C2:C修改为对应起始行即可,比如数据从第4行开始就改为C4:C。
公式逻辑说明
BYROW(ROW(C2:C),LAMBDA(r,...)):逐行遍历C列从起始行开始的所有行,将当前遍历到的行号赋值给变量r,不需要手动下拉即可自动处理所有行IF(ISBLANK(INDEX(D:D,r)),NA(),...):判断当前行D列是否为空,空行自动返回N/A,避免输出无意义的计算结果FILTER(C:C,D:D=INDEX(D:D,r),ROW(C:C)>r):筛选同时满足两个条件的姓名:①职业和当前行职业一致;②行号大于当前行(即出现在当前行之后)INDEX(...,1):取筛选结果中的第一个值,也就是当前行之后第一个同职业的姓名IFERROR(...,NA()):筛选无结果时(当前行之后无同职业条目)返回N/A,符合预期要求
内容的提问来源于stack exchange,提问作者MikiB
相关产品推荐
相关产品推荐

