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

Excel去重生成连续序号、适配VLOOKUP空列及无空值下拉列表求助

Excel连续序号生成与无空白下拉列表实现方案

1. A列同值同号连续序号公式(适配B列预留空白结构)

你的原公式问题出在VLOOKUP的规则限制:VLOOKUP要求查找值必须位于查找区域的第一列,你设置的查找区域C$1:A1中C列为第一列,要返回A列值需要填写列索引为3而非2,左查找场景更推荐用INDEX+MATCH组合避免列顺序变动的影响。
适配预留B列的通用公式(所有Excel版本可用,A2单元格输入后下拉填充即可):

=IF(COUNTIF(C$2:C2,C2)=1,MAX(A$1:A1)+1,INDEX(A:A,MATCH(C2,C:C,0)))

公式逻辑说明:

  • COUNTIF(C$2:C2,C2)=1:判断当前行C列值是否为首次出现
  • 首次出现时调用MAX(A$1:A1)+1生成不重复的递增新序号
  • 非首次出现时通过INDEX+MATCH组合定位该值在C列第一次出现的行号,返回对应A列已有序号,不受中间B列空白/后续插列的影响,可直接配套VLOOKUP使用。

2. A列无空白值下拉列表实现

Excel 365/2021及以上版本(无需辅助列)

直接选中要设置下拉的单元格,打开「数据验证」,允许类型选「序列」,来源填写:

=UNIQUE(FILTER(A:A,A:A<>""))

即可自动生成去重、无空白的序号下拉列表,A列新增序号时下拉列表会自动更新。

旧版Excel(需辅助列)

  1. 任选空白列作为辅助列(例如D列),D2单元格输入数组公式:
=IFERROR(INDEX(A:A,SMALL(IF(A$2:A$1000<>"",ROW($2:$1000),9999),ROW(A1))),"")

输入完成后按Ctrl+Shift+Enter触发数组计算,下拉填充到超过A列最大数据量的行数即可得到无空白的序号列。
2. 打开数据验证,允许类型选「序列」,来源选择D列辅助区域即可。

内容的提问来源于stack exchange,提问作者Codewriter123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:36:03