在 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))),""))
其采取的步骤是:
- 验证对应行中的B列不为空;
- 随着
COUNTIF
函数,验证该公司不存在于前面的任何行中;
- 如果该公司确实存在,它会通过
INDEX
功能;
- 如果该公司不存在,它会为该公司分配一个新的参考号,其中包含
CONCATENATE
and ROW
功能。
尽管存在一些问题,但该公式基本上有效。
添加到此数据库的用户习惯通过在数据库中间插入行来添加条目。由于公式的构建方式,公司唯一的参考代码每次发生时都会发生变化。我相信这部分是由于我使用ROW
功能。
此外,考虑到新行被插入到数据库的中间,该公式应该能够验证该公司是否已经存在,不仅通过循环遍历所有以前的行,而且还遍历所有行(如果插入新行,则该公式仅当公司可能位于新行之后的行时才会验证前一行)。
如何在不参考公式的情况下在公式中分配连续数字ROW
?另外,如何确保电子表格验证 B 列的所有行,而不是仅验证插入行之前的行?
将这个公式应用到你的工作表中,
=ArrayFormula(if(B2:B<>"",row(A2:A)-1,""))
有关此的更多信息,请访问此
link : https://infoinspired.com/google-docs/spreadsheet/auto-serial-numbering-in-google-sheets/ https://infoinspired.com/google-docs/spreadsheet/auto-serial-numbering-in-google-sheets/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)