将订单数据过滤到行

时间:2017-06-16 11:22:14

标签: google-sheets spreadsheet google-docs

我需要为每个订单代码制作包含每行订单代码,地址,数量和日期的工作表。 我有订单(地址ID,产品代码,数量和订单ID)的表“数据”,我需要按特定顺序将其放在其他表“导出”中。有没有办法用函数或脚本来做?

我制作了测试电子表格,以便每个人都能看到我需要的预览:test sheet

例如我有地址ID A001,我需要从这个地址ID中获取每个代码和数量,并在测试电子表格中放入行中。

很抱歉,如果我要求太多,但我需要一些帮助或建议:)

制作图片,以便更容易理解: picture

1 个答案:

答案 0 :(得分:0)

您需要的操作称为“unpivot”,并提供了几种可能的解决方案,其中一些纯功能,一些使用Google Apps脚本。搜索“unpivot”来探索它们。这是一个可能的功能解决方案。与您的确切需求相比,它被简化了,因为我不确定您的哪个标题(“维度”)是唯一的。我假设只有产品代码和地址ID是唯一的,因为它在数据中看起来像这样。

制作一个新的工作表并将下面的公式放在A1:

=arrayformula(
  split(
    transpose(
      split(
        concatenate(
          arrayformula(Data!$A$5:$A & "|" &Data!$C$3:$G$3 & "\"
          )
        );
      "\")
    );
    "|")
  )

然后在C1中添加另一个公式:

=arrayformula(
  vlookup(A1:A; Data!$A$5:$G; match(B1:B; Data!$C$3:$G$3; 0)+2; 0)
 )

这将为您提供如何构建维度值的所有可能组合列表(在本例中为代码,地址ID),然后使用VLOOKUP填充可能的从属值的基本概念。然后,您可以根据需要使用更多VLOOKUPS添加更多列。