如何在无辅助单元格时对Google Sheets匹配结果按升序排序?
Google Sheets 无辅助单元格实现映射后按行排序
现有数据
字母-数字映射表(A:B列)
A B a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10
待转换字母数据(E:H列)
E F G H a c f e f a c b b a c d
问题说明
当前使用公式 =ArrayFormula(sort(INDEX($B$1:$B$10,MATCH(E1,$A$1:$A$10,0)))) 仅能实现单单元格转换排序,无法批量按行处理,得到的结果未按行内数值从小到大排序。需要直接完成每行字母转数字+行内排序,且无需辅助单元格。
解决方案公式
将以下公式输入到任意空白起始单元格(如L1):
=BYROW(E1:H3, LAMBDA(row, SORT(XLOOKUP(row, A1:A10, B1:B10))))
若你的Google Sheets版本不支持XLOOKUP,可使用INDEX+MATCH替代版本:
=BYROW(E1:H3, LAMBDA(row, SORT(INDEX(B1:B10, MATCH(row, A1:A10, 0)))))
公式逻辑
BYROW(E1:H3, LAMBDA(row, ...)):遍历E:H区域的每一行,将每行数据作为独立参数传入后续处理逻辑XLOOKUP(row, A1:A10, B1:B10):把当前行的每个字母匹配到A:B映射表中的对应数字,生成一行数字数组SORT(...):对该行数字数组按从小到大排序,最终输出排序后的行数据
执行后将直接得到期望结果:
1 3 5 6 1 2 3 6 1 2 3 4
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

