2017-03-09 136 views
1

我想在谷歌表格中对几列进行排序,但是在其他列中没有匹配值的地方有空位。在Excel/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?如果可能,我宁愿使用Google电子表格。

+0

哪一个excel或googlesheets?他们是两个不同的东西。 –

+0

@TimWilkinson我可以同时使用,但我更喜欢谷歌电子表格。将更新我的问题。 – z00l

回答

2

对于谷歌表尝试公式:

=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与解决方案。

+0

看起来不错,谢谢!我将深入研究这个公式,看看到底发生了什么;-) – z00l

相关问题