Google Sheets:如何随机排序一维数组并忽略空单元格?
在Google Sheets中随机排序一维数组并忽略空单元格的方法
要实现随机排序一维数组且自动忽略空单元格,你可以结合FILTER、SORT和RANDARRAY三个函数完成,以下是具体操作:
基础垂直数组场景(如A列的26个字母)
在目标列(比如B1单元格)输入以下公式:
=SORT(FILTER(A:A, A:A<>""), RANDARRAY(COUNTA(A:A)), TRUE)
公式拆解:
FILTER(A:A, A:A<>""):先筛选出A列所有非空单元格,自动排除空行或空单元格,得到纯净的目标数组COUNTA(A:A):统计A列非空单元格的数量,确保后续生成的随机数数组长度和目标数据匹配RANDARRAY(COUNTA(A:A)):生成一组和非空数据长度一致的随机小数,作为随机排序的依据SORT(..., ..., TRUE):根据随机数数组对过滤后的内容进行排序,因为随机数是唯一的,升序/降序(TRUE/FALSE)都能实现完全随机的效果
输入公式后,结果会自动溢出填充到B列的对应行,无需手动拖动。
横向数组场景(如A1:Z1的横向字母表)
如果你的数组是横向排列的,只需调整公式的引用范围:
=SORT(FILTER(A1:Z1, A1:Z1<>""), RANDARRAY(COUNTA(A1:Z1)), TRUE)
结果会横向溢出到右侧单元格。
额外注意事项
- 若单元格中存在公式返回的空字符串(如
=""),FILTER(A:A, A:A<>"")也会将其排除,确保结果中无空值 - 每次刷新表格(按
Ctrl+R/Cmd+R)或重新打开表格时,随机排序结果会自动更新
内容的提问来源于stack exchange,提问作者Fish In a Tree 0
相关产品推荐
相关产品推荐

