如何分配增量编号,但仅当另一列的值不同时

问题描述 投票:1回答:1

我正在尝试为我列出的公司分配唯一的ID。这些公司有多种产品,因此公司名称出现在多行中。

=ARRAYFORMULA(IF($B2<>"",IF((COUNTIF($B$1:$B1,$B2)>0),INDEX($A$1:$R2,MATCH($B2,$B$1:$B1,0),12),CONCATENATE("C00",ROW($C2))),""))

上述类型的工作,但它将分配C001,然后将看到列C的行值匹配并跳过,但是如果下一个公司名称向下8行,则它将十分配C009,而不是将C002分配给该下一个公司。

=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))),""))

我希望每个不同的公司名称都向公司ID列行输入一个递增的唯一ID。

这是我的数据和预期结果:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9JM1I4aS5wbmcifQ==” alt =“表格示例”>

google-sheets unique google-sheets-formula array-formulas gs-vlookup
1个回答
0
投票

尝试这样:

=ARRAYFORMULA(IFERROR(VLOOKUP(B2:B, 
  {UNIQUE(INDIRECT("B2:B"&COUNTA(B2:B)+1)), 
 TEXT(ROW(INDIRECT("B1:B"&COUNTUNIQUE(B2:B))), "C0#")}, 2, 0)))

0

© www.soinside.com 2019 - 2024. All rights reserved.