Google Sheets公式中的数字增量 [英] Number increment in Google Sheets formula

查看:24
本文介绍了Google Sheets公式中的数字增量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Google Sheets数据库中,我构建了一个公式,以便将参考编号分配给一系列公司。

每个公司都应该有RET00XX形式的唯一编号,其中XX将代表唯一的公司编号。我希望这些数字是连续的,从1开始,然后是+1。 每当在数据库中插入新公司时,公式都应该能够为其分配一个参考号。它还应该能够验证数据库中是否已存在该公司,如果存在,则自动将其指定为该公司的唯一参考号,而不是创建新的参考号。

公司名称在B列的单元格中

这是我构建的公式(第2行的公式示例):

=ARRAYFORMULA(IF($B2<>"",IF((COUNTIF($B$1:$B1,$B2)>0),INDEX($A$1:$R2,MATCH($B2,$B$1:$B1,0),12),CONCATENATE("RET00",ROW($B2))),""))

具体步骤如下:

  1. 校验对应行B列不为空;
  2. 使用COUNTIF函数验证前面的任何行中都不存在该公司;
  3. 如果公司存在,则通过INDEX函数将对应的参考号归属;
  4. 如果该公司不存在,则使用CONCATENATEROW函数为该公司分配一个新的参考号。

这个公式在很大程度上是有效的,尽管也有一些问题。 添加到此数据库的用户习惯于通过在数据库中间插入行来添加条目。这使得,由于公式的构建方式,每次发生时公司唯一的参考代码都会改变。我相信这在一定程度上是因为我使用了ROW函数。
另外,考虑到在数据库中间插入了新行,公式应该能够验证公司是否已经存在,不仅通过循环遍历所有以前的行,而且还遍历所有行(如果插入新行,则公式将只验证以前的行,而公司可能在新行之后的行中)。

如何在不引用ROW的情况下为公式中的序列号赋值?另外,如何确保电子表格验证B列的所有行,而不是只验证插入行之前的行?

推荐答案


在您的工作表中应用此公式,

=ArrayFormula(if(B2:B<>"",row(A2:A)-1,""))

有关这方面的更多信息,请访问此
链接:https://infoinspired.com/google-docs/spreadsheet/auto-serial-numbering-in-google-sheets/

这篇关于Google Sheets公式中的数字增量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆