打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
随机将数字打散分配到指定个数的单元格中,速速收藏!


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!



今天和大家来做一道数学题。

如下图所示,我们要把A列中的数字按照B列中指定的单元格数,随机分配到这些单元格中。例如,要把数字“8”随机分配到3个单元格中。



这的确是一道烧脑的题目。我们一起来看看大神是怎样解决这个问题的!


01

这个题目总体的思路是:将待拆分的数字转换为最小的数字单位1,例如,将单元格A2中的数字分成8个1;同时,我们可以利用RANDBETWEEN函数求出1到3(单元格B2中的数字)间的随机数;由于这些随机数肯定是在1和3之间,所以我们可以计算出这些随机数分别等于1、2、3的个数;最后利用MMULT函数可以求得随机数分别为1、2、3的总和,也就是随机分配到每个单元格中的数字了。



选中单元格区域D1:M1,输入公式“=IFERROR(INDEX(MMULT(TRANSPOSE(ROW(INDIRECT("1:"&A2)))^0,N(RANDBETWEEN(ROW(INDIRECT("1:"&A2))^0,B2)=TRANSPOSE(ROW(INDIRECT("1:"&B2))))),COLUMN(A:M)),"")”,三键回车并向下拖曳即可。

思路:

  • TRANSPOSE(ROW(INDIRECT("1:"&A2)))^0部分,将单元格A2中的数字拆分成8个1,再利用TRANSPOSE函数将其转置为1行8列的数组

  • RANDBETWEEN(ROW(INDIRECT("1:"&A2))^0,B2)部分,计算1到3之间的随机数。其结果是返回了一组8行1列的数组

  • TRANSPOSE(ROW(INDIRECT("1:"&B2)))部分,返回的是一个1行3列的数组,其结果是{1,2,3}

  • 上述两部分相比较,得到了一个8行3列的数组。由于RANDBETWEEN函数的随机数肯定是在1和3之间,因此上述两部分比较的结果实际上告诉我们了随机数分别等于1、2、3的个数

  • 利用MMULT函数计算出随机数等于1、2、3的总和。这也是被随机分配到相应单元格中的数字

  • 利用INDEX函数为每个单元格返回相对应的数字

  • 利用IFERROR函数屏蔽错误


02



这道题目的确有些难度,小伙伴们如果有任何疑问,可以私信联系我哦!


-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

注意!前方有红包挡道!速点阅读原文消灭之

推荐阅读
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
excel怎样生成随机数
用Excel实现抽签功能
Excel | 随机抽取姓名
用公式生成不重复的随机数字
Excel公式:在指定数字区间生成不重复的随机数
生成指定范围不重复随机数的神公式找到了,不敢独享,特此分享!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服