所以我有一个文档,允许用户从下拉列表中选择一个站点/部门。每个站点/部门都有一个唯一的分机前缀,例如 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 个公式链接起来并将它们放在一列中。