【发布时间】:2021-05-21 17:43:41
【问题描述】:
我正在尝试将垂直范围的唯一值转换为水平范围,但是我希望每隔一个单元格输出一次(在图像上查看所需的输出)。我已经尝试过 offset() 和 mod() 函数,但它似乎不起作用。你能告诉我如何修改我的功能吗?
功能:
=unique(transpose(T2:T10))
【问题讨论】:
标签: google-sheets unique offset transpose
我正在尝试将垂直范围的唯一值转换为水平范围,但是我希望每隔一个单元格输出一次(在图像上查看所需的输出)。我已经尝试过 offset() 和 mod() 函数,但它似乎不起作用。你能告诉我如何修改我的功能吗?
功能:
=unique(transpose(T2:T10))
【问题讨论】:
标签: google-sheets unique offset transpose
您可以使用SPLIT、JOIN、CONCATENATE、REPT 和ARRAYFORMULA 来使用另一种解决方案,它使您可以更轻松地调整every n cells,只需更改许多要跳过的单元格。
=SPLIT(ARRAYFORMULA(JOIN(CONCATENATE(REPT(", ", 1), ",") ,UNIQUE(A2:A10))),",")REPT 函数中更改 1 以选择要跳过的单元格数REPT 重复“,”并在末尾使用CONCATENATE 与逗号配对
UNIQUE(A2:A10) 与上面通过JOIN 生成的分隔符连接到ARRAYFORMULA 中(导致1, ,2, ,3, ,4...)SPLIT by ",",因此在数字之间有一个空白单元格(这些空白单元格是我们插入的逗号之间的空格)【讨论】:
我的简单方法是:
=arrayformula(split(join(",,",unique(T4:T10)),",",1,0))
然后JOIN 将它们放在一行中,用两个逗号分隔。
SPLIT 将它们推入不同的列。在“split_by_each”参数1 之后,SPLIT 中的“remove_empty_text”参数设置为 false 0。这由连接中的 每个 逗号分隔。因此,",,," 将相隔两个空格。
如果您需要忽略间隙,请在数据范围周围包装查询:
query({T4:T10},"where Col1 is not null",0)
query也可以对结果进行排序:
query({T4:T10},"where Col1 is not null order by Col1",0)
所以最终的公式是:
=arrayformula(split(join(",,",unique(query({T4:T10},"where Col1 is not null order by Col1",0))),",",1,0))
【讨论】: