将订单数据过滤到行

Filter order data to rows

我需要制作 sheet,每个订单代码在一行中包含每个订单代码、地址、数量和日期。 我有 sheet "Data" 订单(地址 ID、产品代码、数量和订单 ID),我需要按特定顺序将其放在其他 sheet "Export" 中。有没有办法用函数或脚本来做到这一点?

我做了测试传播sheet所以每个人都可以看到我需要的预览:test sheet

例如我有地址 ID A001,我需要从这个地址 ID 获取每个代码和数量并放在行中,在测试传播中sheet 我做了例子。

对不起,如果我要求太多,但我需要一些帮助或建议:)

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

您需要的操作称为 "unpivot" 并且有几个可能的解决方案,其中一些是纯功能性的,一些是利用 Google Apps 脚本。搜索 "unpivot" 以探索它们。这是一种可能的功能解决方案。与您的精确需求相比,它被简化了,因为我不确定您的 headers ("dimensions") 中的哪个是唯一的。我在这里假设只有产品代码和地址 id 是唯一的,因为它在数据中看起来是这样的。

新建一个工作表,将下面的公式放在A1中:

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

然后在C1中放入另一个公式:

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

这将使您初步了解如何首先构建维度值所有可能组合的列表(在本例中为代码、地址 ID),然后使用 VLOOKUP 填充可能的相关值。然后您可以根据需要使用 more VLOOKUPS 添加更多列。