Excel 为文本分配自动编号

2023-11-29

我有一个电子表格,如果某个值基于另一列中的 Countif 公式重复,我需要一个公式来创建类似于自动编号的功能。我想为每个具有多个订单的名称创建一个自动#。因此,在这个例子中,Joe 的 ID 为 1,因为他是第一个工作表,而 Bunny 的 ID 为 2,当 Joe 的名字重复时,它仍然是 1。这个名字可能有几十个人,并且每个文件都不同。感谢帮助。

ORDER#  LN  QTY ITEM        LOC         NAME          Countifs  Auto Number
OD10560 1   24  part#12     Location 1  Joe John       1            1
OD10559 1   1   part#114    Location 2  Bunny Johnson  2            2
OD10569 1   3   part#444    Location 1  Joe John       1            1
OD10567 1   3   part#777    Location 2  Archy Bunker   0    
OD10567 2   4   part#123    Location 2  Archy Bunker   0    
OD10562 1   24  part#458    Location 1  Kay Harrison   0    
OD10577 1   2   part#471    Location 2  Bunny Johnson  1            2
OD10577 2   1   part#736    Location 2  Bunny Johnson  1            2
OD10563 1   2   part#778    Location 1  Mark Riddle    0    
OD10579 1   2   part#3347   Location 1  Terry Clark    0    

这里提供电子表格供公式参考,Link


假设 countifs 列是 H 列,name 列是 G 列,将其放入 I2 中并向下拖动:

=if(H2>0,iferror(index(I$1:I1,match(G2,G$1:G1,0)),max(I$1:I1)+1),"")

首先检查该名称是否存在重复值,如 countifs 列中所定义。如果有,它会使用 MATCH 函数检查该特定名称是否已显示在此选项卡上方的行中。如果存在匹配项,则会给出该匹配项的行号。请注意,引用以对第 1 行的绝对引用和对第 1 行的相对引用开始。当您向下拖动公式时,这将拖动测试区域的底行。公式将始终以公式单元格上方的单元格结束。

如果 MATCH 编号提供行号,则会将该值提供给 INDEX 函数,该函数会拉入上面在 I 列上找到的已分配的编号。如果出现错误,则还没有匹配项,因此它采用 MAX 值在上面的列中找到,并添加 1。如果这提供了错误,请参见下文。

根据 I1 的值,您可能需要将第一个匹配的值硬编码为“1”,或者将公式更改为以下内容:

=if(H2>0,iferror(index(I$1:I1,match(G2,G$1:G1,0)),iferror(max(I$1:I1)+1,1)),"")

这里唯一的区别是,如果 MAX 函数返回错误,则上面还没有数值,因此假定它是第一个命中,默认为 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel 为文本分配自动编号 的相关文章

  • 如何VBA等待Windows保存对话框和发送密钥

    我正在创建一个宏文件 用于下载并保存从 SAP 旧版本 7 20 中提取的数据 当出现保存对话框时 未检测到 Windows 对话框 因为我的客户端 SAP 版本是旧版本 7 20 现在我对此的解决方案是发送密钥 但问题是某些数据包含大量数
  • VBA 中的求和函数

    我在 vba 中对单元格求和时遇到问题 我需要使用单元格 a b Range A1 function SUM Range Cells 2 1 Cells 3 2 但它不起作用 函数不是范围内的属性 方法 如果您想对值求和 请使用以下命令 R
  • 查看 Excel 是否处于 .NET 中的单元格编辑模式的解决方法

    我有一个用 VB NET 编写的应用程序 它通过互操作与 Excel 进行交互 我最终遇到了单元格编辑模式的已知问题 请参阅 and 堆栈溢出 https stackoverflow com questions 221984 how to
  • 使用 C# 在 Excel 中查找和替换文本

    我想使用 C 在 Excel 中查找并替换一组文本 而且我希望此替换仅发生在第一行中的文本 我已经使用Google并找到了一些付费资源 例如Aspose API Spire Xls等 但我正在寻找开源资源或任何其他有效的方法来实现这一目标
  • Excel宏隐藏特定单元格和合并区域

    我试图根据另一个单元格的值隐藏特定单元格 到目前为止 我设法隐藏整行 但无法隐藏特定单元格 Local Currency value show hide item If Range Currency Value USD Then Range
  • 通过 Excel VBA 保存并关闭 powerpoint

    下面的代码根据定义的名称创建多个图表 然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中 除了最后一部分之外 一切都正常 保存并关闭文件 我已将尝试保存和关闭文件的尝试标记为绿色 任何帮助表示赞赏 Sub Slide19
  • 用于导出到 CSV/Excel 的数据 URI(无服务器端请求):浏览器支持/限制?

    以下问题 Javascript 或 Flash 导出至 CSV Excel https stackoverflow com questions 8150516 javascript or flash export to csv excel
  • 以独立于区域设置的方式读取 Excel 文件

    我使用以下代码从各种 Excel 文件读取数据 IMEX 1 to force strings on mixed data HDR NO to process all the available data Locale 1033 is en
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • 以编程方式将参数传递到访问报告中

    我有一个现有的 Access MDB 我正在向运行现有报表的现有表单添加一个命令按钮 所做的更改是 此按钮需要传入一个包含正在报告的记录 ID 的参数 当前报告在 MDB 中的每条记录上运行 我已经更改了报告运行的查询 以使用 ID 值参数
  • Excel:查找和替换宏 - 仅一列

    我编写了一些宏来将大量数据格式化为相同的可接受格式 我们从中提取的程序拒绝按照我们想要的方式提取数据 但理论上在 Excel 中更改并不难 它设置运行的方式是为修饰符使用单独的宏 然后使用 全部运行 宏来调用所有修饰符 目前我有 Sub R
  • 如果单元格 = 0,则将范围复制到主表并从主表中删除范围

    有 10 个工作表 工作表 1 工作表 10 其表处于相同范围 C25 G34 和 C42 N51 如果 总重量 列的值 gt 0 则必须复制这些行 复制的行将转到两个汇总表 前往 Westrock 表 gt Westrock 汇总表 前往
  • 如何通过VBA宏遍历Word文档中的文本

    我想通过宏来计算 Word 文档中的字符 我不知道如何获取 Visual Basic 宏中文本的两个参考并浏览它 我想计算文档中每个字符的数量 例如文档中 ABZBB A x 1 B x 3 Z x 1 Sub Macro1 Dim Box
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • excel vba 中的智能卡和 ISO 7816 入门 ( SCardEstablishContext )

    我刚刚收到了标准的便宜货USB 智能卡读卡器 http stanleyglobaltech com sgt111 html 我正在尝试找出如何使用 Excel 中的 VBA 与其进行交互 我在尝试在工作簿中创建基本智能卡功能时编写了此内容
  • 根据关键列合并多个 Excel 工作簿

    我从不同的客户那里收到七个工作簿 xlsx 文件 每个工作簿都有一张工作表 每张工作表至少有一个公共 ID 列 UNIQ PK 其中一本工作簿包含所有可能的 id 列表 其他人可能没有所有 id 的记录 但每一行都定义了 id 值 我需要制
  • 如何从特定类获取特定链接?

    我想提取这个href从那个特定的class tr class even td a href italy serie a 2015 2016 Serie A 2015 2016 a td 这是我写的 Sub ExtractHrefClass
  • 具有日期和名称标准的 SUMIFS...仅限月份和年份

    我正在尝试获取 SUMIFS 公式来检查日期列 并仅对与标准日期的匹配年份和月份相对应的值求和 我还希望此 SUMIFS 包含名称标准和日期 IE 单元格 A1 SUMIFS Sheet1 O O Sheet1 D D Sheet2 DAT
  • 宏VBA获取Outlook 2003中选定的文本

    我正在尝试使用此代码片段来获取 Outlook 2003 中选定的文本 Sub SelectedTextDispaly On Error Resume Next Err Clear Dim oText As TextRange Get an

随机推荐