跪求大神指教!多条件统计问题
excel吧
全部回复
仅看楼主
level 4
峻懿 楼主
我想完成志愿的划分统计,左边是基础数据表、右边是想要统计的内容。
规则顺序是 按照分数由高到低 然后按照填报志愿的顺序录取,最后在右边的专业统计表里 统计出这个专业的人数、男女数、最高分、最低分等信息
请大神指教应该用哪些函数公式能一次完成,条件太多,自己搞不定。
2023年02月10日 16点02分 1
level 12
用公式想一次性完成?几乎不可能。
2023年02月11日 03点02分 3
level 8
一次完成不一定非要用公式吧
我感觉VBA可解
2023年02月11日 05点02分 4
level 7
数据透视貌似可以解决大部分。
2023年02月11日 09点02分 6
level 11
'仅按第一志愿来统计,否则还缺少条件。
Option Explicit
Sub abc()
 Dim a, b, i, j, m, n, min, max
 a = [a1].CurrentRegion.Resize(, 9).Value
 b = Range("k2:k" & [k2].End(xlDown).Row).Value
 ReDim c(1 To UBound(b), 1 To 6)
 For i = 1 To UBound(b)
  min = 10 ^ 10: max = -1
  For j = 2 To UBound(a)
   If b(i, 1) = a(j, 5) Then
    If a(j, 3) = "男" Then n = 2 Else n = 3
    c(i, 1) = c(i, 1) + 1: c(i, n) = c(i, n) + 1
    c(i, 6) = c(i, 6) + a(j, 4)
    If min > a(j, 4) Then min = a(j, 4)
    If max < a(j, 4) Then max = a(j, 4)
   End If
  Next
  If max > -1 Then
   c(i, 4) = max: c(i, 5) = min
   c(i, 6) = Round(c(i, 6) / (c(i, 2) + c(i, 3)), 1)
  End If
 Next
 [m2].Resize(UBound(c), 6) = c
End Sub
2023年02月12日 02点02分 7
好复杂哈
2023年02月12日 08点02分
level 13
规则没看明白。
意思是分数优先,志愿顺序次之?那如果分数最高的人同时报第三志愿报了计算机,而第1志愿报了制造,计算机专业要不要录取他?
如果计算机专业要录取他,那制造专业怎么办呢?
2023年02月12日 09点02分 8
1