Excel中基于ID与日期组合判重并生成序列号的IF函数实现
解决Excel中ID+日期组合重复的序列号生成问题
嘿,这事儿其实不用复杂的IF嵌套,一个COUNTIFS函数就能完美搞定,比单独用IF简单多了!我给你一步步讲清楚:
核心公式(直接生成序列号)
假设你的数据从第2行开始(第1行是表头),在C2单元格输入下面的公式:
=COUNTIFS($A$2:A2,A2,$B$2:B2,B2)
输入完按回车,然后把鼠标放在C2单元格右下角,等光标变成十字填充柄,下拉填充到所有需要的行就行。
公式为啥好用?
我给你拆解下:
COUNTIFS是多条件计数函数,这里我们设置了两个条件:- 从A2到当前行的A列单元格,等于当前行的ID(A2)
- 从B2到当前行的B列单元格,等于当前行的日期(B2)
- 前面的
$A$2和$B$2是绝对引用,固定了起始行;后面的A2、B2是相对引用,下拉时会自动变成A3、B3,这样范围就会扩展到当前行,自然就累计出了当前ID+日期组合的出现次数——正好是你要的1、2、3...
如果一定要用IF函数的话
要是你坚持想用IF,也可以用这个公式,效果一样:
=IF(COUNTIFS($A$1:A1,A2,$B$1:B1,B2)=0,1,COUNTIFS($A$1:A1,A2,$B$1:B1,B2)+1)
这个逻辑是:检查当前行上面的所有行,有没有和当前行ID+日期一样的组合。如果没有(计数为0),就返回1;如果有,就把之前的计数加1,生成下一个序列号。
小提醒
- 先确认B列的日期格式统一!要是有的是文本格式有的是日期格式,
COUNTIFS会把它们当成不同的内容,识别不出重复,先把B列格式改成统一的日期格式哦。 - 要是你的表头不在第1行,记得调整公式里的起始行号,比如数据从第3行开始,就把
$A$2改成$A$3就行。
内容的提问来源于stack exchange,提问作者Rexksvii
相关产品推荐
相关产品推荐

