如何用公式实现从每行非相邻单元格随机选取内容?
可以用公式实现,以下是具体方案
情况1:已知固定的非相邻列(如例子中的E列和N列)
不管是Excel还是Google Sheets,都可以用简单的组合公式快速实现:
=CHOOSE(RANDBETWEEN(1,2), E2, N2)
RANDBETWEEN(1,2)会随机生成1或2的整数CHOOSE函数根据随机数,选择对应位置的单元格内容(1对应E2,2对应N2)
如果需要扩展更多列,比如还要包含X列,只需修改参数为RANDBETWEEN(1,3),并在CHOOSE后追加X2即可。
情况2:动态匹配表头为'Mehrzahl'的列(自动识别所有对应列)
如果需要自动识别所有表头是'Mehrzahl'的非相邻列,无需手动指定列名,可以用以下公式:
Excel 版本
=INDEX(A2:Z2,AGGREGATE(15,6,COLUMN($A$1:$Z$1)-COLUMN($A$1)+1/($A$1:$Z$1="Mehrzahl"),RANDBETWEEN(1,COUNTIF($A$1:$Z$1,"Mehrzahl"))))
COUNTIF($A$1:$Z$1,"Mehrzahl")统计表头行中'Mehrzahl'列的数量AGGREGATE函数筛选出所有'Mehrzahl'列的位置序号INDEX根据随机生成的位置序号,提取当前行对应单元格的内容
Google Sheets 版本
=INDEX(FILTER(A2:Z2, A1:Z1="Mehrzahl"), RANDBETWEEN(1, COUNTA(FILTER(A1:Z1, A1:Z1="Mehrzahl"))))
FILTER(A2:Z2, A1:Z1="Mehrzahl")筛选出当前行中所有属于'Mehrzahl'列的单元格COUNTA统计筛选结果的数量,RANDBETWEEN生成随机位置INDEX提取对应位置的内容
注意事项
- 上述公式中的
A2:Z2和A1:Z1可根据你的实际数据范围调整 RANDBETWEEN会在文件刷新、编辑单元格时重新生成随机数,若需要固定结果,可复制公式单元格后右键选择「粘贴为值」
内容的提问来源于stack exchange,提问作者Jelmer405
相关产品推荐
相关产品推荐

