去重留最后值的这个案例,前前后后咱说了好几期了,很多读者还意犹未尽,希望再来一个公式解法。
那今天就教大家用公式怎么解题,如果没有高阶函数的话,今天这期的基础函数也足够用了,而且公式也非常简单。
案例:还是下图 1 这个熟悉的数据表,需求仍是按姓名去重,保留编号最大的行,效果如下图 2 所示。
解决方案:1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=COUNTIF($B$2:B2,B2)
公式释义:
计算 B2 单元格在区域内第几次出现;
请注意:第一个参数的第一个单元格要绝对引用,第二个单元格要相对引用
2. 在 E2 单元格中输入以下公式 --> 下拉复制公式:
=COUNTIF($B$2:$B$25,B2)
公式释义:
计算 B2 单元格在区域中一共出现过几次;
请注意:与上一个公式不同,此处的第一个参数要绝对引用整个统计区域
3. 在 F2 单元格中输入以下公式 --> 向右向下拖动公式:
=IF($D2=$E2,A2,NA())
公式释义:
如果当前姓名出现的次数等于出现的总次数,即最后一次出现,则显示姓名,否则显示错误值;
因为需要向右复制公式,所以第一个参数的单元格需要相对引用,列固定行不固定
4. 复制 F2:H25 区域 --> 在目的单元格粘贴为值
5. 保持选中目的区域 --> 按 Ctrl+G --> 在弹出的对话框中点击“定位条件”
6. 在弹出的对话框中选择“常量”--> 仅勾选“错误”--> 点击“确定”
7. 右键单击 --> 在弹出的菜单中选择“删除”
8. 在弹出的对话框中选择“下方单元格上移”--> 点击“确定”
9. 复制表头和单元格格式