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

Excel下拉列表为每个选项生成唯一递增ID的实现需求

实现Excel跨表自动生成递增ID的方案

针对你的需求:A列是固定下拉选项(Archive/Directory/Cloud),B列根据A列选项自动生成从1开始的连续递增序号,且所有工作表中相同选项的序号连续不重置,提供两种可行方案:

方案一:使用工作表函数(无需宏)

在B列第一个数据单元格(比如B2)输入以下公式,然后下拉填充到所有需要的行:

=COUNTIF(Sheet1:Sheet3!A:A, A2)
  • 说明:Sheet1:Sheet3是你需要覆盖的所有工作表范围,若有更多工作表,直接扩展范围(比如Sheet1:Sheet5!A:A)
  • 适配Excel 365/2021的动态数组版本(无需手动下拉):
    =BYROW(A2:A100, LAMBDA(x, COUNTIF(Sheet1:Sheet3!A:A, x)))
    
    把A2:A100替换成你实际的数据列范围即可。

方案二:VBA自动触发(无需手动维护公式)

如果需要修改A列时自动更新B列,且新增工作表后无需调整设置,可以用VBA实现:

  1. 按Alt+F11打开VBA编辑器
  2. 双击左侧导航栏的ThisWorkbook,粘贴以下代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    '仅处理A列的单个单元格变更
    If Target.Column <> 1 Or Target.Cells.Count > 1 Then Exit Sub
    
    Dim ws As Worksheet
    Dim totalCount As Long
    totalCount = 0
    
    '遍历所有工作表统计当前选项的总出现次数
    For Each ws In ThisWorkbook.Worksheets
        totalCount = totalCount + Application.WorksheetFunction.CountIf(ws.Columns(1), Target.Value)
    Next ws
    
    '写入对应的B列单元格
    Target.Offset(0, 1).Value = totalCount
End Sub
  • 注意:保存文件时需选择.xlsm格式(启用宏的工作簿),打开文件时要启用宏才能生效。

内容的提问来源于stack exchange,提问作者Giuseppe BMTHPeppe Marino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:06:05