将单列转置为唯一行数组

问题描述 投票:0回答:2

我正在尝试获取包含重复项到唯一行的值列表。

A 栏
细胞1
细胞2
细胞3
细胞1
细胞2
细胞3
细胞1
细胞2
A 栏 B 栏 C 栏
细胞1 细胞1 细胞1
细胞2 细胞2 细胞2
细胞3 细胞3

我尝试过使用

=TRANSPOSE(UNIQUE(A1:A3,TRUE,TRUE))

但是公式的任何组合都会删除重复项,我想保留它们。

excel excel-formula
2个回答
4
投票

与MakeArray:

=LET(
    rng,A1:A8,
    u,UNIQUE(rng),
    MAKEARRAY(
        ROWS(u),
        MAX(COUNTIF(A1:A8,u)),
        LAMBDA(a,b,
            IF(COUNTIF(A1:A8,INDEX(SORTBY(u,COUNTIF(A1:A8,u),-1),a))>=b,
                INDEX(SORTBY(u,COUNTIF(A1:A8,u),-1),a),
                ""))))

这将自动扩展到任意数字。它还会将重复次数最多的放在顶部,因此它是一个倒金字塔:


3
投票

或者,您可以尝试:

C1
中的公式:

=IFERROR(DROP(REDUCE(0,UNIQUE(TOCOL(A:A,1)),LAMBDA(x,y,VSTACK(x,EXPAND(y,1,COUNTIF(A:A,y),y)))),1),"")

或者,使用内置排序功能:

=SORT(IFERROR(DROP(REDUCE(0,UNIQUE(TOCOL(A:A,1)),LAMBDA(x,y,VSTACK(x,EXPAND(y,1,COUNTIF(A:A,y),y)))),1),""),1)
© www.soinside.com 2019 - 2024. All rights reserved.