乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > excel随机数-Power Query中获取随机数据,非重复随机抽取的方法探讨

excel随机数-Power Query中获取随机数据,非重复随机抽取的方法探讨

作者:乔山办公网日期:

返回目录:excel表格制作

继续昨天的话题,昨天我们实现完全的随抽取列表元素,有一个问题就是可能几次会抽取同一个位置的元素:


1-50中随机抽取5个数值,点击刷新,就会出现不同的结果,如上图可能会出现两个相同的数值,如何确保每次都能抽取到不同的元素?


两个思路:


  • 每次抽取结束后,被抽到的元素从列表中移除,再进行下次抽取
  • 确保抽取的元素位置不重复

我们今天要用到的是第二种,我们用两个函数来确保取得非重复的位置:


  • List.Distinct:获取非重复元素列表
  • List.FirstN:获取前几个元素

昨天讲的产生随机整数的套路继续沿用,我们来看自定义函数:


let


源 =(l,n)=>List.Transform(


List.FirstN(


List.Distinct(


List.Transform(


{1..100},


(x)=>Number.IntegerDivide(Number.RandomBetween(0,List.Count(l)-1),1))


),


n),


(x)=>l{x})


in



代码有点长,我们分解来看:


最里层的List.Transform是产生一个随机整数的列表,为了防止出现重复导致列表元素去重复后数量不够,我们要求做100个随机数。具体的随机数的公式就不解释了,参照昨天的内容。


List.Distinct把这100个随机整数列表去重复。


List.FirstN取非重复整数列表的前n个元素。


最外层的List.transform就是根据List.FirstN产生的地址,取出列表l元素。


这样大家是不是就能够了解这个函数的意思了。


我们来看引用这个函数的结果:


我们从小写字母中,随机抽取5个字母,保证不重复。


欢迎加入圈子,学习更多Power Query相关的知识。


(此处已添加圈子卡片,请到今日头条客户端查看)

相关阅读

关键词不能为空
极力推荐
  • excel表格斜线-excel常用技巧

  • 一、基本方法1.快速选中全部工作表右键单击工作窗口下面的工作表标签,在弹出的菜单中选择“选定全部工作表”命令即可拖动选定单元格区域的填充柄时,没有将其拖出选定区域即释

ppt怎么做_excel表格制作_office365_word文档_365办公网