如何用Google Sheets Query函数实现逆透视并填充空值?
Google Sheets 用Query函数实现分类-值两列转换方案
针对你的20列数据(奇数列存分类、偶数列存对应值),可以通过分组处理每组列+数组拼接的方式实现转换,具体如下:
核心思路
把每一组“奇数列+偶数列”单独用Query提取有效行(分类非空的行),再将所有组的结果纵向拼接,最后统一过滤空行得到干净的两列数据。
示例公式(适配20列结构)
假设你的数据是A-T列(共20列,10组),直接使用以下公式:
=QUERY({ QUERY(A:B, "select A, B where A is not null", 0); QUERY(C:D, "select C, D where C is not null", 0); QUERY(E:F, "select E, F where E is not null", 0); QUERY(G:H, "select G, H where G is not null", 0); QUERY(I:J, "select I, J where I is not null", 0); QUERY(K:L, "select K, L where K is not null", 0); QUERY(M:N, "select M, N where M is not null", 0); QUERY(O:P, "select O, P where O is not null", 0); QUERY(Q:R, "select Q, R where Q is not null", 0); QUERY(S:T, "select S, T where S is not null", 0) }, "select Col1, Col2 where Col1 is not null", 0)
公式说明
- 每个内部
QUERY负责一组列:筛选出分类列(奇数列)非空的行,保留分类和对应值两列;第三个参数0表示数据无表头(如果你的数据有表头,改成1即可) - 用
;将所有组的查询结果纵向拼接成一个大数组 - 外层
QUERY再次过滤空行,确保最终结果里没有分类为空的无效行
注意事项
- 如果你的列范围不是A-T,只需把每组的列引用替换成实际的奇数列+偶数列即可
- 所有组的内部Query格式完全一致,复制粘贴修改列名就能快速适配20列需求
内容的提问来源于stack exchange,提问作者Aleister Tanek Javas Mraz
相关产品推荐
相关产品推荐

