2017-07-06 138 views
-1

我試圖用自動生成的唯一參考編號設置工作表。下面的數組公式在提供一個唯一的數字方面運行良好,並且在列P中觸發了一個下拉菜單時向該乞求添加了一個初始字符串「410-」,產生的輸出類似於「401-00001」等excel中增量唯一標識符

=arrayformula(if(len(P2:P), "410-" & text(row(A2:A) - row(C2) + 1, "00000"), iferror(1/0))) 

但是,上述的限制是,它不掃描該列,並繼續從最後使用的號碼順序,它只是分配基於所使用的行的數。我需要按啓動順序分配唯一的參考編號,這些編號不一定在工作表中按排序順序排列。

我該如何適應這個公式來確定最大的數字並添加一個,同時保持相同的格式等?

(使用的功能,例如=ArrayFormula(MAX((A2:A)+1)))

任何幫助將是類似的不勝感激

回答

1

功能類似於

=ArrayFormula(MAX((A2:A)+1)))

將是

=arrayformula("410-" & text(max(value(right(A$2:A,5)))+1,"00000"))

這將創建下一個唯一標識符。您遇到的問題是,您不能在與唯一ID列表相同的列中使用A$2:A,因爲它會創建循環引用併產生錯誤。

您可以使用

細胞A3A$2:A2和向下填充,但即使當你圍繞這與if語句,如果P列有一個值,它仍然會根據他們的位置重新編號的ID片。

雖然有一個公式來生成ID是很有用的,但是ID一旦生成就需要修復。

您可以將生成下一個ID的公式放在工作表頂部,並在需要時複製和粘貼值。

也許使用google腳本自動將值複製到列P