You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel公式需求:非空单元格生成带年份的递增唯一编号

实现Excel带年份的递增编号(仅用公式)

你的公式失效核心有两个原因:

  1. MAX($F1:F1)的引用范围错误,在结构化表格中无法覆盖之前所有已生成的编号;
  2. 生成的2025XX属于文本格式,MAX函数无法识别文本中的数值进行计算,始终返回0,加1后得到1,最终一直输出20251。

仅用公式完全可以实现需求,分两种场景给出解决方案:

结构化表格(你当前使用的场景)

因为你用到了[@[DMR?]]这种结构化引用,说明是Excel表格(List Object),可以用以下公式(把Table1替换成你的表格名称):

=IF([@[DMR?]]<>"",2025 & SUMPRODUCT(--(Table1[DMR?]<>"")*(ROW(Table1[DMR?])<ROW([@[DMR?]])))+1,"")

原理:

SUMPRODUCT(--(Table1[DMR?]<>"")*(ROW(Table1[DMR?])<ROW([@[DMR?]])))会统计当前行之前所有DMR?列不为空的行数,加1后作为当前编号的序号,拼接2025就得到符合要求的唯一编号。

普通单元格区域(非结构化表格)

如果是普通单元格区域,假设DMR?列是C列,编号列从F2开始:

=IF(C2<>"",2025 & COUNTIF($C$2:C2,"<>"""),"")

原理:

COUNTIF($C$2:C2,"<>""")直接统计当前行及上方所有DMR?列非空的单元格数量,这个数值就是当前的序号,避免了文本格式对MAX函数的影响。

注意事项:

每年归档表格后,只需清空编号列,下一年把公式中的2025替换成对应年份即可重新开始计数。

内容的提问来源于stack exchange,提问作者Edwin Skalla II

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 12:45:58