Google 工作表查询唯一范围

Google sheets query on unique range

我有一些数据的 Y 和 Z 两列:

Y   Z
G   U
P   U
G   U
G   U
G   P
G   P
P   U
R   U
R   P
C   P
C   U

我得到了基于两列的唯一值,如下所示:

 =UNIQUE(Y1:Z10)

我当然得到了:

A B <- columns
G U
P U
G P
U U
U P
C P
C U

然后我可以得到第二列如下:

 =QUERY(A1:B10;"select B")

所以我得到了:

U
U
P
U
P
P
U

太好了,我以为我已经准备好了,只需混合公式:

=QUERY(UNIQUE(Y1:Z10);"select *") -> 这是有效的 - 如预期的那样得到两列。 但是当我尝试 select 特定列时 - 它的值错误 - 没有列“X”。

问题当然出在列名上,但是,是的,如何获取它?

如果 QUERY 直接作用于实际范围,则只能使用列字母(例如 Z)。由于您引入了 UNIQUE,因此您创建了一个虚拟数组而不是直接引用;并且您必须以“Colx”格式引用 QUERY 内的虚拟数组列,例如:

=QUERY(UNIQUE(Y1:Z10),"select Col2 WHERE Col2 Is Not Null")

顺便说一句,你会想要那里的 WHERE Col2 Is Not Null,因为 UNIQUE 将 null 视为唯一值(即,UNIQUE 处理的每个空白行都有一个空值,除非您进一步处理它,否则它会与结果一起返回。