在Excel / Google表格中对带有间隙的列进行排序

时间:2017-03-09 11:04:52

标签: excel sorting google-sheets

我想在google工作表中对几列进行排序,但是在存在其他列中没有匹配值的间隙时。

参见我的例子:

开始:

c   a   z
a   k   d
d   x   f
e   b   m
x   e   b

排序:

a   a   
    b   b
c
d       d
e   e   
        f
    k
        m
x   x
        z

那么,这可能是谷歌表和/或Excel吗?如果可能的话,我更喜欢谷歌电子表格。

1 个答案:

答案 0 :(得分:2)

对于Google表格,请尝试以下公式:

=ArrayFormula(IFERROR(VLOOKUP("r"&ROW(INDIRECT("A1:A"&COUNTUNIQUE(INDIRECT(myRange))))&"c"&TRANSPOSE(ROW(INDIRECT("A1:A"&COLUMNS(INDIRECT(myRange))))),{"r"&VLOOKUP(SORT(TRANSPOSE(SPLIT(CONCATENATE("_"&"_"&INDIRECT(myRange)),"_"))),{UNIQUE(SORT(TRANSPOSE(SPLIT(CONCATENATE("_"&"_"&INDIRECT(myRange)),"_")))),ROW(INDIRECT("A1:A"&COUNTUNIQUE(INDIRECT(myRange))))},2,0)&ARRAY_CONSTRAIN(SORT({TRANSPOSE(SPLIT(CONCATENATE("_c"&COLUMN(INDIRECT(myRange))*ROW(INDIRECT(myRange))^0),"_")),TRANSPOSE(SPLIT(CONCATENATE("_"&"_"&INDIRECT(myRange)),"_"))},2,1,1,1),ROWS(INDIRECT(myRange))*COLUMNS(INDIRECT(myRange)),1),SORT(TRANSPOSE(SPLIT(CONCATENATE("_"&"_"&INDIRECT(myRange)),"_")))},2,0)))

要使其工作首先制作名为myRange的命名范围并粘贴所需范围的地址:

enter image description here

请通过解决方案查看我的sample file