中易网

excel对数据按要求进行分组?

答案:3  悬赏:70  
解决时间 2021-03-02 15:08
例如:1000个学生平均分成20各班,要求男女同学平均分配到各班。若是男人有800多人,女生只有100多,还怎么平均分配呀?
最佳答案
假设学生姓名在A列、性别在B列。就在C1输入抄
=COUNTIF(B$1:B1,B1)回车并向下填充
点C列任一格——工具栏——升序排序
这样就把男女学生间隔开来
再于D1输入
=CEILING(ROW()/50,1)回车并向下填充
就分袭开1、2、3、……各班了。

回答百者: Stcxj - 十五级 2010-8-6 14:03

补充了:
“男人有800多人,女生只有100多”,当然平均分配不了。
在C1输入
=IF(B1="男",CEILING(COUNTIF(B$1:B1,B1)/(COUNTIF(B:B,"男")/20),1),CEILING(COUNTIF(B$1:B1,B1)/(COUNTIF(B:B,"女")/20),1))
回车并向下填充
点C列任一格——工具栏——升序排序
也一度样分开1、2、3、……20班了。
全部回答
用vba的代码你可以参考一下 不过要把数据横向放到单元格中(代码是建立在数据放在b1:n1单元格中的) sub 分组() dim arr arr = range("b1:n1") a = application.min(arr) b = application.max(arr) c = a - right(a, 1) '下限 d = b - right(b, 1) + 9 '上限 f = 2 for e = c to d step 10     cells(f, 1) = e & "-" & e + 9     f = f + 1 next e for g = 1 to ubound(arr, 2)     差 = arr(1, g) - c     商 = int(差 / 10)     余 = arr(1, g) mod 10'这句多余了     cells(2 + 商, 55).end(xltoleft).offset(0, 1) = arr(1, g) next end sub
按性别排个序,把女的那组放在表二吧 看看表二,表二个数/20=b取整,表一个数/20=a取整。 一个班有b个女生加a个男生啊
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人民币对英镑以后会升值还是贬值?
电影天堂,推荐一个好的?
伏天晒姜红糖怎样比例
金华商行这个地址在什么地方,我要处理点事
高考走后门的多么
格兰仕空调开机制热几分钟就显示f6
牛奶和橙子能同时吃吗?
十八岁的回答 作文
中油科昊机械制造公司在什么地方啊,我要过去
Loewe是什么档次的包包
谁能讲一下考研文学短论写作(古代文学方面)
贵宾来蛋糕地址在哪,我要去那里办事
女朋友是做美容的,最近快过年了要给客人洗头
如何重装系统系统自带播放器windows media pl
研招网调剂系统两个志愿都能被招生单位看到吗
推荐资讯
为什么汽车的左右转向指示灯是黄色而不是红色
最大扭矩5800好还是3800的好
金麦庄饺子楼地址有知道的么?有点事想过去
头发又蓬又卷怎么办????急
我是一名女生14岁我已经170了怎么样才能不长
管家婆辉煌版2网络版入库规格怎么填写
海鲜扎啤城怎么去啊,有知道地址的么
生物质蒸汽发生器哪个品牌好?
萍乡三钢贸易有限公司这个地址在什么地方,我
常用频率表示?
乐乐童装在哪里啊,我有事要去这个地方
汽车上的都有哪些灯 都在哪些位置
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?