首页 > 解决方案 > 表格转换 Google 表格

问题描述

我收到了表 1,其中列出了每行一个纸箱以及纸箱中每列的单位数。我想将其转换为表 2,其中每个纸箱项目都有自己的行,后跟数量。

有人有建议吗?我在想有一个使用匹配 + 索引的解决方案,但也许没有,否则可能会有更好的东西。我有几十个表格要转换,它们比这里的小摘录大得多

已解决和未解决的示例表: https ://docs.google.com/spreadsheets/d/1W-mfidCJro73oyPQ0uNy2wwPjxpAlFNn-zM08CAL0u8/edit?usp=sharing

纸箱和纸箱内容表

标签: google-sheetsgoogle-sheets-formula

解决方案


我在 A1 中添加了一个带有以下公式的工作表(“Erik Help”):

=ArrayFormula({"Carton","Size/Color","Quantity";QUERY(SPLIT(FLATTEN(FILTER(Unresolved!A2:A,Unresolved!A2:A<>"")&"|"&Unresolved!B1:1&"|"&FILTER(INDIRECT("Unresolved!B2:"&ROWS(Unresolved!A:A)),Unresolved!A2:A<>"")),"|",1,0),"Select * Where Col3 Is Not Null")})

这一公式产生所有标题和结果。

我将自定义 CF 规则应用于从第 2 行向下的所有行,以完成交替行的着色。这可以通过Format > Alternating colours完成,但我选择使用自定义 CF 公式来实现更大的灵活性。

简而言之,公式首先创建了三个标题。然后它创建一个网格,将 A2:A 中的每个非空白条目与 B1:1 中的每个标题与这两者的每个可能的相交单元格值连接起来。每个元素都用一个管道符号连接起来(例如,7000|BB09|8 等)。所有结果的这个网格然后被FLATTEN编辑成一列,SPLIT在管道符号处被编辑成三列。最后,QUERY清除所有没有第三个元素的行(即,那些在从 B2 向下运行的网格中没有值的行)。


推荐阅读