在 LibreOffice Calc 中生成唯一编号

在 LibreOffice Calc 中生成唯一编号

所以我有一个文档,允许用户从下拉列表中选择一个站点/部门。每个站点/部门都有一个唯一的分机前缀,例如 10、11、12、13 等。当用户选择所需的站点/部门时,我会根据用户的选择使用 VLOOKUP 获取分机前缀。我现在需要做的是在分机前缀后附加 2 位数字以创建一个 4 位数字的分机。因此输出将类似于 1001 或 1002,但每个分机都需要是唯一的。所以我可以生成一个介于 00-99 之间的随机数,但如何确保生成的数字不等于为该站点生成的任何其他数字?不同的站点/部门可以具有相同的生成数字,因为它们有不同的前缀。

有什么办法可以解决这个问题吗?我发现自己陷入了困境。

答案1

诀窍是只计数到当前行COUNTIF。因此范围来自第一排当前行价值当前行

设置:

#DepN  #DepId #Empty #DepDropdown =VLOOKUP =COUNTIF =TEXT =CONCATENATE
Foo    10            Lorem         12      1        01    1201
Bar    11            Foo           10      1        01    1001
Lorem  12            Dolor         13      1        01    1301
Dolor  13            Foo           10      2        02    1002
                     Foo           10      3        03    1003
                     Bar           11      1        01    1101

所有列公式:

VLOOKUP:     =VLOOKUP(D2-D7;$A$2:$B$5;2;0)      // D2 in the first row up to D7 in the last
COUNTIF:     =COUNTIF($E$2:E2-E7;E2-E7)
TEXT:        =TEXT(F2-F7;"00")
CONCATENATE: =CONCATENATE(E2-E7;G2-G7)

例如第一个 COUNTIF-Entry: =COUNTIF($E$2:E2;E2),第二个是=COUNTIF($E$2:E3:E3)

DepN并且DepId是包含所有部门的常量“数据库”。 (我猜这些列应该被隐藏)

DepDropdown每个单元格中包含所有部门的列。

当然,您可以将这 4 个公式链接起来并将它们放在一列中。

相关内容