使用Query Function在Google Sheets中实现数据逆透视(Unpivot)
解决Google Sheets逆透视添加RTRN列的问题
你需要在每个QUERY语句中同时选取对应的ORDR和RTRN列,再统一组合起来,以下是修改后的完整公式:
={ QUERY(A1:H8, "select A, B, 'LA', C, D label A 'Person', B 'State', 'LA' 'Product', C 'ORDR', D 'RTRN'", 1); QUERY(A1:H8, "select A, B, 'HA', E, F offset 1 label 'HA' '', E '', F ''", 0); QUERY(A1:H8, "select A, B, 'MO', G, H offset 1 label 'MO' '', G '', H ''", 0) }
公式说明:
第一部分(表头行):
- 数据源覆盖
A1:H8(包含所有原始列) - 选取
Person(A)、State(B)、固定值'LA'作为Product,同时关联LA ORDR(C)和LA RTRN(D) - 通过
label参数统一设置所有列的表头,和目标格式完全匹配
- 数据源覆盖
第二、第三部分(数据行):
- 分别对应HA、MO的组合,选取
HA ORDR(E)+HA RTRN(F)、MO ORDR(G)+MO RTRN(H) - 用
offset 1跳过原始表头行,避免重复生成表头 - 后续
label参数留空,直接继承第一部分的表头设置
- 分别对应HA、MO的组合,选取
效果验证:
执行后会生成完全符合你需求的表格:
| Person | State | Product | ORDR | RTRN |
|---|---|---|---|---|
| Carly | GA | LA | 3 | 5 |
| Carly | GA | HA | 20 | 10 |
| Carly | GA | MO | 3 | 1 |
| Megan | GA | LA | 4 | 5 |
| Megan | GA | HA | 32 | 12 |
| Megan | GA | MO | 3 | 2 |
| Jenny | TN | LA | 5 | 5 |
| Jenny | TN | HA | 32 | 11 |
| Jenny | TN | MO | 4 | 3 |
内容的提问来源于stack exchange,提问作者sloml
相关产品推荐
相关产品推荐

