我想在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吗?如果可能的话,我更喜欢谷歌电子表格。
答案 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
的命名范围并粘贴所需范围的地址:
请通过解决方案查看我的sample file。