【发布时间】:2021-02-11 09:18:59
【问题描述】:
我正在努力编写一个看起来比预期更复杂的查询,这里是要处理的数据示例
| CW6 | CW7 | CW8 | CW9 |
|---|---|---|---|
| A | B | C | A |
| B | D | E | B |
这是最后预期的结果:
| Item | CW |
|---|---|
| A | "CW6 CW9" |
| B | "CW6 CW7 CW9" |
| C | "CW8" |
| D | "CW7" |
| E | "CW8" |
知道如何实现这一目标吗? 我在许多步骤中尝试过的:
=transpose(query(<data>,"Select *",1)) 转置我的数据
然后我用了
=transpose(
query(
transpose(<data transposed>),,9^9
)
)
加入所有列
然后我选择我想要检索列标题(CWxx)的所有唯一值
=query(
unique(flatten(<Data>)),
"Select Col1 where Col1 is not null"
)
最后,我将转置的数据加入一个字符串(即 1 列)中:
=JOIN(" ", QUERY(< data transposed and joined>,"SELECT Col2 WHERE Col1 contains '"&A1&"'",0))
最后我得到了想要的数组,但我必须在每一行复制最后一个连接公式,因为我的值是动态的,所以我不想这样做
知道如何实现这一点(或避免所有这些步骤的更简单方法)吗?
【问题讨论】:
-
这似乎是通过谷歌脚本完成的任务,你会考虑这样做吗?这是一个非常简单的例子:developers.google.com/apps-script/guides/sheets/functions
-
我想避免使用脚本(并在单元格更改时进行此计算);公式可以完成这项工作吗?
-
您能分享一份您使用的工作表的公开副本吗?
标签: google-sheets google-sheets-formula google-query-language