我目前正在尝试提取商店 ID 的前缀,以便能够生成仅具有该前缀的商店列表。
单元格 D1 具有提取唯一前缀的公式:
=TRANSPOSE(UNIQUE(LEFT(C2#, MIN(FIND({0,1,2,3,4,5,6,7,8,9},C2#&"0123456789"))-1)))
单元格 C2 具有从另一张表中提取唯一商店 ID 的公式:
=UNIQUE(INDEX('Male Shoes'!A1#,,6))
问题是 D1 中的公式只返回所有唯一前缀的前两个字符,而不是为每个前缀使用正确的值。
我在第 I 列中设置了与 D1 中相同的公式,但没有 TRANSPOSE() 和 UNIQUE() 函数,并删除 # 以查看是否会返回正确的值。我将它拖到 C 列的长度。
=LEFT(C2, MIN(FIND({0,1,2,3,4,5,6,7,8,9},C2&"0123456789"))-1)
在单元格 J2 中,我将相同的公式放入 I2,但保留 # 作为控件。
=LEFT(C2#, MIN(FIND({0,1,2,3,4,5,6,7,8,9},C2#&"0123456789"))-1)
我相信 MIN() 函数返回整个数组而不是每一行的最小值。我还没有找到如何在网上任何地方缓解这个问题。
在我的示例数据中,这不是问题,因为 D 到 G 中的所有列都给了我期望的列表,但是随着更多国家的添加,我最终可能会得到重复的国家前缀。(即:如果前缀缩短为 2 个字符 - Germany=GE 和 Georgia=GE)