我在 A 列中列出了产品,在 B、C 和 D 列中列出了它们的组成材料。
为了根据需要可视化数据,我需要将数据集重新排列为材料的唯一列表在 A 列中,产品在 B-D 列中。
我使用
创建了独特的材料列表=INDEX(Range,1+INT((ROW(A1)-1)/COLUMNS(Range)),MOD(ROW(A1)-1+COLUMNS(Range),COLUMNS(Range))+1)
我需要有关如何编写函数以重新匹配原始表 (B10:D12) 中的数据的帮助。
这是示例数据集的链接:https://docs.google.com/spreadsheets/d/1xz9YheNDtQhuR0s5CTieMZRVNMAZcGcPllC2gR4WgKk/edit#gid=0
任何帮助将不胜感激!
答案 0 :(得分:2)
答案 1 :(得分:2)
使用:
=ARRAYFORMULA(QUERY(IFERROR(SPLIT(FLATTEN(
IF(B3:D6="",,B3:D6&"×"&A3:A6&"×"&B2:D2)), "×")),
"select Col1,max(Col3)
where Col1 is not null
group by Col1
pivot Col2
label Col1'material'"))
或者如果你想匹配它:
=ARRAYFORMULA(IFNA(VLOOKUP(A10:A, QUERY(IFERROR(SPLIT(FLATTEN(
IF(B3:D6="",,B3:D6&"×"&A3:A6&"×"&B2:D2)), "×")),
"select Col1,max(Col3)
where Col1 is not null
group by Col1
pivot Col2
label Col1'material'"), {2, 3, 4}, 0)))