使用ArrayFormula为相同名称分配固定序号的Google Sheets需求
Google Sheets用ArrayFormula生成固定对应序号的实现方案
需求:在A1单元格使用ArrayFormula生成序号,要求相同名称对应相同序号,名称无需排序且可重复任意次数,序号匹配B列的名称内容。
推荐公式
在A1单元格输入以下公式:
=ArrayFormula(IF(B1:B="", "", MATCH(B1:B, UNIQUE(FILTER(B1:B, B1:B<>"")), 0)))
公式解析
FILTER(B1:B, B1:B<>""):过滤掉B列的空值,仅保留包含名称的单元格UNIQUE(...):按名称首次出现的顺序,提取过滤后的唯一名称列表MATCH(B1:B, ..., 0):将每个B列名称与唯一列表匹配,返回对应的位置序号IF(B1:B="", "", ...):当B列单元格为空时,A列对应位置留空,避免生成无效序号
效果验证
假设B列内容为:Apple, Banana, Apple, Orange, Banana,A列将生成:1, 2, 1, 3, 2,完全符合相同名称对应相同序号、无需排序的要求。
内容的提问来源于stack exchange,提问作者Aashit Garodia
相关产品推荐
相关产品推荐

