我使用以下查询拉出下面屏幕截图中的表格:
=QUERY(SIPARISLER;“选择 C、D、E、F,其中 G = 'KESINA' 按 C DESC 排序”; 1)
但我想根据 ORDER NO 值获取小计,如下所示。我怎样才能做到这一点?
输入(从查询中获得):
+ | A | B | C | D |
---|---|---|---|---|
1 | 菲尔玛 | 订单号 | 公元前否 | 数量 |
2 | SLP | 231561 | 30-129 | 50 |
3 | SLP | 231561 | 30-302 | 30 |
4 | SLP | 231784 | 30-116 | 100 |
5 | OFM | 312 | 30-123 | 3 |
6 | 达美航空 | 233391 | 60-120 | 6 |
预期输出:
+ | A | B | C | D |
---|---|---|---|---|
1 | 菲尔玛 | 订单号 | 公元前否 | 数量 |
2 | SLP | 231561 | 30-129 | 50 |
3 | SLP | 231561 | 30-302 | 30 |
4 | 小计 | 80 | ||
5 | SLP | 231784 | 30-116 | 100 |
6 | 小计 | 100 | ||
7 | OFM | 312 | 30-123 | 3 |
8 | 小计 | 3 | ||
9 | 达美航空 | 233391 | 60-120 | 6 |
10 | 小计 | 6 |
这是您可以测试的一种方法:
=let(Σ;query(SIPARISLER; "select C, D, E, F where G = 'KESİN' order by C DESC";0); Λ;index(Σ;;2);
reduce(tocol(;1);unique(Λ);lambda(a;c;vstack(a;filter(Σ;Λ=c);hstack("SUBTOTAL";;;sum(ifna(filter(index(Σ;;4);Λ=c))))))))