Excel随机抽取不重复值,关键时刻很有用! |
您所在的位置:网站首页 › excel随机函数抽取 › Excel随机抽取不重复值,关键时刻很有用! |
不啰嗦,直奔主题先给出具体公式,后面再解析思路。 C2输入下面的数组公式,按Ctrl+Shift+Enter三键输入。 公式截图及演示效果,如下图所示: 如果你完整学习过九期特训营的函数公式中级班,应该具备自行拆解并转化的技术, 看到这个公式时,就相当于一点就透,心中应该已经明了。 当然,即使没看懂也不用着急,继续往下看公式思路解析吧。 思路构建 先说思路构建,先明确“道”,再拆解“术”~ 要实现随机抽取不重复值,可以分为3个方面: 1、数据抽取; 2、不重复值; 3、随机排列。 1、要实现数据抽取,太多方法可以实现了,我们可以使用index函数实现,缺少的就是传递给index的提取位置,这个位置要求同时满足不重复值和随机排列; 2、要想生成的数据列表不重复,就要根据前面已经生成的数据,将其从总表里面排除,这里可以想到借助countif函数配合混合引用技术实现已生成数据的筛查,再利用if判断标识位置,这样就可以得到还没有出现过的数据的位置列表; 3、要实现随机排列,很多人第一时间会想到rand函数对吧,但是这里的实际情况可能会多一些要求,因为要根据数据源的数量和公式所在位置,决定随机数生成的区间大小,所以是一个按照指定上限生成的随机数区间,我们使用RANDBETWEEN函数更为适合,可以省去用rand函数构建这个区间的过程。 当然,上面说的这些仅是条条大路中的其中之一,很多函数都可以使用其它函数替代的,学习过八期特训营的函数进阶班的同学,有了这个思路,一定能写出更多种解法,这点毋容置疑,希望大家不要在后台diss我,这块不必太较真。 当然,这里面用到很多数组运算,要求公式必须以数组公式的形式输入才会返回正确结果,所以再次强调一下公式输入方法,不要直接回车,要同时按三键输入。 公式解析 前面的思路构建已经明确了“道”,再根据公式具体拆解一下“术”~ 这个公式有两个关键点,分别来讲一下: 依此类推,实现在公式上方已生成结果中筛查总表数据,当其结果等于0,即该员工姓名没有出现过,返回对应的位置行号,否则返回False。 随着公式往下填充,数组各元素中的数字越来越少,False越来越多,所以带来第二个关键点,对应生成的随机数范围构建。 这个关键点利用small函数的第二参数RANDBETWEEN(1,10-ROW(A3))实现,这个随机数的区间范围跟随公式所在位置,越往下越小,从[1,9]直至[1,1],这个范围中数字的个数是和第一个关键点中,IF函数返回的数组元素中的数字个数一致的,最终实现按指定范围随机抽取数字。 这两个关键点理解清晰,其他地方就没有任何难度啦! 再复杂的问题只要构建正确的思路,选对合适的方法就可以事半功倍啦!你可以根据自身需求参加不同方向的Excel特训营系统提升技能。 希望这篇文章能帮到你! 这么多内容担心记不全的话,可以分享到朋友圈给自己备份一份。 更多经典的实战技能,已整理成超清视频的系统课程,方便你系统提升。 >> |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |