google-sheets - Google表格公式中的数字增量

标签 google-sheets formula increment

在 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。和 ROW职能。

  • 尽管存在一些问题,但该公式在很大程度上是有效的。
    添加到这个数据库的用户有通过在数据库中间插入行来添加条目的习惯。这使得由于公式的构建方式,公司唯一的引用代码每次发生时都会发生变化。我相信这部分是因为我使用了 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 - Google表格公式中的数字增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728643/

    相关文章:

    google-sheets - 添加时出现有趣的(四舍五入?)错误

    Excel 简单公式仅适用于筛选结果

    algorithm - 加权游戏结果的公式/算法

    excel - 两个日期之间出现最多的文本 Excel

    c++ - 为什么后增需要复制,而前增不需要

    javascript - 如何在单击时从另一个同级组件中增加一个值?

    javascript - 使用 jquery .each() 增加 attr 值

    javascript - 将更改格式功能添加到 "Find and Replace"功能的脚本

    google-sheets - 如何找到谷歌表格中第三个最常见的值

    api - 使用 Google 电子表格 API 可以发出的最大请求数是多少?