点击下方 ↓ 关注,每天免费看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实战技能 |
|