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

发布网友 发布时间:2022-03-03 22:39

我来回答

2个回答

热心网友 时间:2022-03-04 00:09

假设学生姓名在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班了。

热心网友 时间:2022-03-04 01:27

用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
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com