合并来自不同工作表的不匹配的行大小数据

Merging mismatched row size data from different sheets

搜索了互联网。 提供了示例 Sheet here。 我有两个 sheet,一个 Purchase 和 Sold Sheet。

具有三列的“购买”sheet:

ID    Purchase Date    Total
 4    12/6/2020        0.00
 3    12/7/2020        .00
 2    3/1/2020         .00

我的第二个 Sheet 是 'Sold' sheet 有三列:

ID    Sold Date         Total
 3    12/7/2020         0.00

Sheet3 上的期望输出应如下所示:

Quarter    Purchase Total    Sold Total
2020-Q4    0.00           0.00
2020-Q1    .00            [=12=].00

使用命名范围Sheet3,我可以单独完成这些:

=ARRAYFORMULA({query({YEAR(Purchases_PurchaseDate) & "-Q" & ROUNDUP(month(Purchases_PurchaseDate)/3,0), Purchases},"Select (Col1), sum(Col2) where (Col1) is not null group by (Col1) order by (Col1) DESC label (Col1) 'Quarter', sum(Col2) 'Purchase Total'")})

还有几列:

=ARRAYFORMULA({query({YEAR(Sold_SoldDate) & "-Q" & ROUNDUP(month(Sold_SoldDate)/3,0), Sold},"Select (Col1), sum(Col2) where (Col1) is not null group by (Col1) order by (Col1) DESC label (Col1) 'Quarter', sum(Col2) 'Sold Total'")})

我不关心命名范围,无论哪种最简单的方法都能产生所需的输出或组合两个不会导致行大小不匹配的查询。请指教,

使用:

=ARRAYFORMULA({A7:C12, IFNA(VLOOKUP(A7:A12, E7:H12, {2, 3, 4}, 0))})

更新:

=ARRAYFORMULA({query({YEAR(Purchases_PurchaseDate) & "-Q" & ROUNDUP(month(Purchases_PurchaseDate)/3,0), Purchases},"Select (Col1), sum(Col4), count(Col4) where (Col4) is not null group by (Col1) order by (Col1) DESC label (Col1) 'Quarter', sum(Col4) 'Total Purchased', count(Col4) 'Number of Items Purchased'"), IFNA(VLOOKUP(query({YEAR(Purchases_PurchaseDate) & "-Q" & ROUNDUP(month(Purchases_PurchaseDate)/3,0), Purchases},"Select (Col1), sum(Col4), count(Col4) where (Col4) is not null group by (Col1) order by (Col1) DESC label (Col1) 'Quarter', sum(Col4) 'Total Purchased', count(Col4) 'Number of Items Purchased'"), query({YEAR(Sold_SoldDate) & "-Q" & ROUNDUP(month(Sold_SoldDate)/3,0), Sold},"Select (Col1), sum(Col4), sum(Col5), count(Col4) where (Col4) is not null group by (Col1) order by (Col1) DESC label (Col1) 'Quarter', sum(Col4) 'Total Sold', sum(Col5) 'Total Fees', count(Col4) 'Number of Items Sold'"), {2, 3, 4}, 0))})

我使用与 player0 不同的公式添加了一个新的 sheet(“Erik Help”)。你会发现在 A2:

=QUERY({FILTER({YEAR(Purchases!B2:B) & "-Q" & VLOOKUP(MONTH(Purchases!B2:B), {1, 1; 4, 2; 7, 3; 10, 4}, 2, TRUE), Purchases!C2:C, Purchases!C2:C^0, IF(ROW(Purchases!A2:A), {0, 0, 0},)}, Purchases!B2:B<>""); FILTER({YEAR(Sold!B2:B) & "-Q" & VLOOKUP(MONTH(Sold!B2:B), {1, 1; 4, 2; 7, 3; 10, 4}, 2, TRUE), IF(ROW(Sold!A2:A), {0, 0},), Sold!C2:D, Sold!D2:D^0}, Sold!B2:B<>"")}, "Select Col1, SUM(Col2), SUM(Col3), SUM(Col4), SUM(Col6), SUM(Col5) GROUP BY Col1 ORDER BY Col1 DESC LABEL Col1 'Quarter', SUM(Col2) 'Tot. Purch $', SUM(Col3) 'Tot. Number Purch.', SUM(Col4) 'Tot. Sold $', SUM(Col5) 'Tot. Fees', SUM(Col6) 'Tot. Number Sold'")

我还在第 1 行(A1 中的公式)中放置了一个累计总计公式,以及一些用于逐行分段的标准格式和自定义 CF 规则。