excel 将一列数据按占比分配给几个人

比方说100个数据,随机分给他们,用excel函数或者vba如何实现

G1输入0或者1,G2=SUM(F$2:F2)*100+1向下复制

辅助列C2=rand()向下复制

D1=LOOKUP(RANK(C2,C:C),$G$1:$G$5,$E$2:$E$6)向下复制

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-01
Hello大家好,我是帮帮。今天分享一下那些在Excel中快速计算占比,函数书写投巧的方法很多,举一反三。

有个好消息!为了方便大家更快的掌握技巧,寻找捷径。帮帮准备了海量模板素材免费下载。百度“模板终结者”,三个W点2xx点vip,我等着你噢(老熟人都懂得)^^<——非常重要!!!

我们来看范例图片,计算数据占比按照排序结果,同类型的进行数理计算。

我们也可以在辅助列输入=SUMIFS(C:C,B:B,B2),函数的意思很简单,以C列的数据求和,求和条件为B列数据等于B2的项目。

在D2单元格输入:=C2/E2即可。如果函数熟悉的小伙伴,也可以嵌套使用输入=C2/SUMIFS(C:C,B:B,B2)。

当然,我们也可以生成一张透视表,以各个机型数量作为汇总项,然后在D2单元格输入=C2/VLOOKUP(B2,F:G,2,0),也能得出结果。

希望大家喜欢今天的教学:)拜拜,下课-。-(多看看本文第二段哟,老!熟!人!都!懂!的!)绝对不让你后悔!
第2个回答  2017-12-06
用rand得到位置,再用引用函数取得这个值,追问

啊?有点蒙蔽,公式麻烦详细一点吗?就是100条数据的表,旁边有一列是姓名,姓名是谁,说明这个数据分配给谁,就相当于最终的结果100列数据旁边有20个是唐,30个是雷,10个是冯,一次类推

追答

把100条数据和1-100的随机数一一对应建立数组,简单说在原数据左边加一列,用randbetween得到1-100的随机数,然后按姓名建成数据组,比如唐后面加一列,取1-20个数字,20行,然后用vlookup从刚才那里取值,就是这么个思路,你试试看。

相似回答