Excel随机抽取不重复值,关键时刻很有用!
点击下方 ↓ 关注,每天免费看Excel专业教程
置顶公众号或设为星标 ↑ 才能每天及时收到推送
实际工作中,我们总会遇到各种各样的问题,当单个问题出现时,大多数有一定基础的同学都可以轻松面对,但是当问题升级时,往往就到了检验你真正实力的时刻。
无论说到提取不重复值,还是随机抽取数据,大家可能都不以为然,只要关注过我一段时间后,应该都具备了这种初级的Excel函数公式应用能力,但是如果你遇到下面这种情况,看下能否顺利解决呢?
要求你同时满足抽取不重复值和随机抽取这两种条件,即使用Excel公式自动排列出既是随机抽取又是不重复出现的员工姓名。
当然,这里为你预留出2分钟独立思考时间,即使没想出来,带着问题往下看教程,会有更多收获。
下面的教程会先给出解决方案,再解析思路,推荐收藏~
本教程内容担心记不全的话,可以分享到朋友圈给自己备份一份。
除了本文内容,还想全面、系统、快速提升Excel技能,少走弯路的同学,请搜索微信公众号“跟李锐学Excel”点击底部菜单的“知识店铺”或下方扫码进入
更多不同内容、不同方向的Excel视频课程
获取
(手机微信扫码▲识别图中二维码)
解决方案
不啰嗦,直奔主题先给出具体公式,后面再解析思路。
C2输入下面的数组公式,按Ctrl+Shift+Enter三键输入。
=INDEX($A$2:$A$10,SMALL(IF(COUNTIF(C$1:C1,$A$2:$A$10)=0,ROW($1:$9)),RANDBETWEEN(1,10-ROW(A1))))
公式截图及演示效果,如下图所示:
如果你完整学习过九期特训营的函数公式中级班,应该具备自行拆解并转化的技术,看到这个公式时,就相当于一点就透,心中应该已经明了。
当然,即使没看懂也不用着急,继续往下看公式思路解析吧。
思路构建
先说思路构建,先明确“道”,再拆解“术”~
要实现随机抽取不重复值,可以分为3个方面:
1、数据抽取;
2、不重复值;
3、随机排列。
1、要实现数据抽取,太多方法可以实现了,我们可以使用index函数实现,缺少的就是传递给index的提取位置,这个位置要求同时满足不重复值和随机排列;
2、要想生成的数据列表不重复,就要根据前面已经生成的数据,将其从总表里面排除,这里可以想到借助countif函数配合混合引用技术实现已生成数据的筛查,再利用if判断标识位置,这样就可以得到还没有出现过的数据的位置列表;
3、要实现随机排列,很多人第一时间会想到rand函数对吧,但是这里的实际情况可能会多一些要求,因为要根据数据源的数量和公式所在位置,决定随机数生成的区间大小,所以是一个按照指定上限生成的随机数区间,我们使用RANDBETWEEN函数更为适合,可以省去用rand函数构建这个区间的过程。
当然,上面说的这些仅是条条大路中的其中之一,很多函数都可以使用其它函数替代的,学习过八期特训营的函数进阶班的同学,有了这个思路,一定能写出更多种解法,这点毋容置疑,希望大家不要在后台diss我,这块不必太较真。
当然,这里面用到很多数组运算,要求公式必须以数组公式的形式输入才会返回正确结果,所以再次强调一下公式输入方法,不要直接回车,要同时按<Ctrl+Shift+Enter>三键输入。
公式解析
前面的思路构建已经明确了“道”,再根据公式具体拆解一下“术”~
=INDEX($A$2:$A$10,SMALL(IF(COUNTIF(C$1:C1,$A$2:$A$10)=0,ROW($1:$9)),RANDBETWEEN(1,10-ROW(A1))))
这个公式有两个关键点,分别来讲一下:
第一个关键点:根据公式所在位置对之前生产的数据从总表里排除,IF函数第一参数COUNTIF(C$1:C1,$A$2:$A$10)=0,随着公式向下填充,依次变为:
COUNTIF(C$1:C2,$A$2:$A$10)=0
COUNTIF(C$1:C3,$A$2:$A$10)=0
依此类推,实现在公式上方已生成结果中筛查总表数据,当其结果等于0,即该员工姓名没有出现过,返回对应的位置行号,否则返回False。
随着公式往下填充,数组各元素中的数字越来越少,False越来越多,所以带来第二个关键点,对应生成的随机数范围构建。
这个关键点利用small函数的第二参数RANDBETWEEN(1,10-ROW(A3))实现,这个随机数的区间范围跟随公式所在位置,越往下越小,从[1,9]直至[1,1],这个范围中数字的个数是和第一个关键点中,IF函数返回的数组元素中的数字个数一致的,最终实现按指定范围随机抽取数字。
这两个关键点理解清晰,其他地方就没有任何难度啦!
再复杂的问题只要构建正确的思路,选对合适的方法就可以事半功倍啦!你可以根据自身需求参加不同方向的Excel特训营系统提升技能。
希望这篇文章能帮到你!
这么多内容担心记不全的话,可以分享到朋友圈给自己备份一份。
更多经典的实战技能,已整理成超清视频的系统课程,方便你系统提升。
>>推荐阅读 <<
(点击蓝字可直接跳转)
最有用最常用最实用10种Excel查询通用公式,看完已经赢了一半人
长按识别二维码↓进知识店铺
(长按识别二维码)
老学员随时复学小贴士
由于有的老学员是4年前购买的课程,因买过的课程较多或因时间久忘记从哪里听课,所以专门将各平台的已购课程入口统一整理至下图。
1、搜索微信公众号“LiRuiExcel”点击底部菜单“已购课程”,即可查看到你在各平台的已购课程,方便大家找到并随时复学课程。
2、课程分销推广的奖金也是由此公众号转账至大家的微信钱包(关注后可自动收钱,进入你的微信零钱,在微信支付有转账记录),老学员可以进“知识店铺”点击底部按钮“推广赚钱”或者“我的”-“推广中心”查询到推广奖励明细记录,支持主动提现。
此外,里面还有小助手的联系方式,有问题或学习需求可以留言反馈,助手在24小时内回给到回复。
按上图↑识别二维码,查看详情
请把这个公众号推荐给你的朋友:)
今天就先到这里吧,更多干货文章加下方小助手查看。
如果你喜欢这篇文章
欢迎点个在看,分享转发到朋友圈
▼
↓↓↓点击“阅读原文”进知识店铺
全面、专业、系统提升Excel实战技能