簡體   English   中英

excel / vba:計算列表中唯一的男女學生數量

[英]excel/vba: count number of unique male and female students in list

我有一個包含姓名和性別的學生的數據庫,但是列表中包含重復日期不同的學生。 如何計算清單上唯一的男性學生和唯一的女性學生的數量?

這是一個示例數據庫:

Name Date Gender
A   8/1/2013    M
B   8/2/2013    F
C   8/2/2013    F
A   9/2/2013    M
A   9/3/2013    M
C   8/31/2013   F
B   8/15/2013   F
D   10/5/2013   M

唯一男性的總數應為2,而唯一女性的總數應為2。

我嘗試使用sum(if(frequency))變異公式,但沒有運氣。 我不確定如何將其與名稱結合使用。

我也不介意使用VBA代碼。

任何建議,將不勝感激。

謝謝!

假設每個名字如果重復(!)都將始終具有相同的性別,則可以使用如下公式來計算列表中的不同男性:

=SUMPRODUCT((C2:C100="M")/COUNTIF(A2:A100,A2:A100&""))

顯然將M更改為F

首先按名稱A到Z對表進行排序,然后運行此宏。 請注意,我正在硬編碼范圍A2:A9。

僅當您首先對列表進行排序時,這才起作用。 選擇所有列和行,然后右鍵單擊並按名稱列對A到Z進行排序。

Sub LoopRange()
  Dim rCell As Range
  Dim rRng As Range
  Set rRng = Sheet1.Range("A2:A9")
  Dim countM As Integer
  Dim countF As Integer
  Dim name As String

  For Each rCell In rRng.Cells
    If rCell.Value > name Then
        If rCell.Offset(0, 2).Value = "M" Then
            countM = countM + 1
        End If
        If rCell.Offset(0, 2).Value = "F" Then
            countF = countF + 1
        End If
    End If
    name = rCell.Value

  Next rCell

  MsgBox ("Males = " & countM & ", Females = " & countF)
  'Range("E3").Value = countF
  'Range("E4").Value = countM
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM