fra*_*sta 2 increment formula google-sheets
在Google表格数据库中,我拥有一个公式,可以为一系列公司分配参考号。
每个公司应以RET00XXXX 的形式表示其唯一编号,其中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))),""))
Run Code Online (Sandbox Code Playgroud)
采取的步骤是:
COUNTIF功能,验证公司在先前的任何行中都不存在;INDEX功能为相应的参考号分配属性;CONCATENATE和ROW功能为公司分配新的参考号。尽管存在一些问题,但该公式在很大程度上有效。添加到该数据库的用户习惯于通过在数据库中间插入行来添加条目。这样,由于公式的构建方式,每次发生时公司唯一的参考代码都会更改。我相信部分原因是我使用了ROW函数。
同样,假设在数据库中间插入了新行,则公式应该能够验证公司是否已经存在,不仅通过遍历所有先前行,而且遍历所有行(如果插入了新行,则公式为仅当公司可能位于新行之后的行中时,才会验证以前的行)。
如何在不参考的情况下在公式中赋予序号ROW?另外,如何确保电子表格对B列的所有行进行验证,而不只是对插入行之前的行进行验证?
与起始行号无关的解决方案
这些示例使您可以在公式中生成增量值。
递增整数,从零开始:值将是:0、1、2、3,等等。
注意:地址“ $ A $ 2”代表顶部行的单元格。应该将其更改为您实际顶行的任何单元格。关于此方法的好处是,如果您在公式的开始位置上方插入新行,它将不会中断。
=(ROW()-ROW($A$2))
Run Code Online (Sandbox Code Playgroud)
整数,基于1:值将为:1、2、3、4等。
=(ROW()-ROW($A$2) + 1)
Run Code Online (Sandbox Code Playgroud)
日期:值将为:2000-01-01、2000-01-02、2000-01-03等。
=Date(2000,1,1) + (ROW()-ROW($A$2))
Run Code Online (Sandbox Code Playgroud)
所有偶数:值将是:0、2、4等。
=(ROW()-ROW($A$2) * 2
Run Code Online (Sandbox Code Playgroud)
小智 5
在您的工作表中应用此公式,
=ArrayFormula(if(B2:B<>"",row(A2:A)-1,""))
Run Code Online (Sandbox Code Playgroud)
有关此的更多信息,请访问以下
链接:https : //infoinspired.com/google-docs/spreadsheet/auto-serial-numbering-in-google-sheets/
| 归档时间: |
|
| 查看次数: |
9610 次 |
| 最近记录: |