【问题标题】:Unique values horizontally every *n cell (Gsheets)每个 *n 单元格的水平唯一值 (Gsheets)
【发布时间】:2021-05-21 17:43:41
【问题描述】:

我正在尝试将垂直范围的唯一值转换为水平范围,但是我希望每隔一个单元格输出一次(在图像上查看所需的输出)。我已经尝试过 offset() 和 mod() 函数,但它似乎不起作用。你能告诉我如何修改我的功能吗?

功能: =unique(transpose(T2:T10))

【问题讨论】:

    标签: google-sheets unique offset transpose


    【解决方案1】:

    试试这个公式

    =transpose(flatten(query(unique(T2:T10),"select Col1, ' ' label ' ''' ") ))

    【讨论】:

      【解决方案2】:

      您可以使用SPLITJOINCONCATENATEREPTARRAYFORMULA 来使用另一种解决方案,它使您可以更轻松地调整every n cells,只需更改许多要跳过的单元格。

      跳过 1 个单元格的公式:

      • =SPLIT(ARRAYFORMULA(JOIN(CONCATENATE(REPT(", ", 1), ",") ,UNIQUE(A2:A10))),",")
      • REPT 函数中更改 1 以选择要跳过的单元格数

      行为:

      • 通过REPT 重复“,”并在末尾使用CONCATENATE 与逗号配对
      • UNIQUE(A2:A10) 与上面通过JOIN 生成的分隔符连接到ARRAYFORMULA 中(导致1, ,2, ,3, ,4...
      • 最后,SPLIT by ",",因此在数字之间有一个空白单元格(这些空白单元格是我们插入的逗号之间的空格)

      输出:

      【讨论】:

      • 嗨@mromankim,如果我们回答了您的问题,请单击左侧的接受按钮(复选图标)。通过这样做,社区中可能与您有同样担忧的其他人将知道他们的问题可以得到解决。如果您无法使用接受按钮,请随时告诉我。 how to accept answer
      【解决方案3】:

      我的简单方法是:

      =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))

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-13
        • 1970-01-01
        • 1970-01-01
        • 2014-01-04
        • 1970-01-01
        • 1970-01-01
        • 2015-10-14
        相关资源
        最近更新 更多