我尝试使用自动生成的唯一参考号设置表单。以下数组公式在提供唯一编号方面表现良好,并且添加了一个初始字符串文本" 410 - "当在P列中触发下拉时,产生输出类似于" 401-00001"等
=arrayformula( if( len(P2:P), "410-" & text(row(A2:A) - row(C2) + 1, "00000"), iferror(1/0) ) )
然而,上述限制是它不扫描列并从最后使用的数字开始顺序继续,它只根据使用的行分配一个数字。我需要按照激活的顺序分配唯一的参考编号,这些参考编号不一定是在工作表中的排序顺序。
如何调整此公式以识别最大数字并添加一个,同时保持相同的格式等?
(类似于使用诸如=ArrayFormula(MAX((A2:A)+1)) )
非常感谢任何帮助
答案 0 :(得分:1)
类似于
的功能 =ArrayFormula(MAX((A2:A)+1)))
将是
=arrayformula("410-" & text(max(value(right(A$2:A,5)))+1,"00000"))
这将创建下一个唯一标识符。您遇到的问题是,您不能在同一列中使用A$2:A
作为唯一ID列表,因为它会创建循环引用并产生错误。
您可以使用
单元格A$2:A2
中的 A3
并填写,但即使您使用if语句包围此内容,如果列P具有值,它仍会根据ID重新编号他们在床单上的位置。
虽然使用公式生成ID很有用,但ID生成后需要修复。
您可以将生成下一个ID的公式放在工作表的顶部,并在需要时复制并粘贴值。
也许使用谷歌脚本在P列中自动复制值