我有与产品名称、工具名称和 ID 工具相关的数据,数据示例如下:
产品名称 | 工具名称 | ID 工具(标准) | ID 工具(替代方案 1) | ID 工具(替代方案 2) |
---|---|---|---|---|
产品A | 工具A1 | 11-A1 | ||
产品A | 工具A2 | 12-A2-01 | 12-A2-02 | 12-A2-03 |
产品A | 工具A3 | 13-A3 | ||
产品B | 工具B1 | 21-B1-01 | 21-B1-02 | |
产品B | 工具B2 | 22-B2 | ||
产品C | 工具C1 |
对于输出,我尝试了公式:
=LET(
data; C3:E11;
row; ROW(C3:E11)-ROW(C3:C11)+1;
column; COLUMN(C3:E11)-COLUMN(C3:C11)+1;
sorted_data; FLATTEN(data);
label; FLATTEN(IF(COLUMN(C3:E11)-COLUMN(C3:C11)=0; "Standard"; "Alternative"));
result; IFERROR(FILTER(HSTACK(sorted_data; label); LEN(sorted_data)>0); HSTACK(""; ""));
result
)
但是工具类型信息没有出现,我仍然对如何输入产品和工具名称感到困惑,因为它一直给出错误。有什么改进公式的建议吗?
这是测试表链接: https://docs.google.com/spreadsheets/d/11caWeL-PPyioovetrUf6rcy6iTb8vVuHgftAWzffpSM/edit?usp=sharing
要将多列中的 ID 标准化为 Google 表格中的一列,您可以将
ARRAYFORMULA
函数与其他公式(如 FLATTEN
、FILTER
和 UNIQUE
)结合使用。以下是实现这一目标的方法:
=ARRAYFORMULA(UNIQUE(FILTER(FLATTEN(A:C), FLATTEN(A:C) <> "")))
FLATTEN(A:C)
:将 A、B 和 C 列中的所有值合并到一个数组中。FILTER(FLATTEN(A:C), FLATTEN(A:C) <> "")
:从展平数组中删除空白单元格。UNIQUE(...)
:确保结果数组仅包含不同的值(无重复)。ARRAYFORMULA(...)
:确保公式适用于所有行,无需手动向下拖动。将
A:C
替换为您想要标准化的实际列范围。