Board logo

標題: [發問] 請教排除重複人名之後,計算人數問題 [打印本頁]

作者: julieh96590    時間: 2018-3-15 23:23     標題: 請教排除重複人名之後,計算人數問題

[attach]28450[/attach]1.資料是大量的有上千筆,每一個儲存格有1個名字,也有2個名字、3個名字、4個名字、5個.....不等。
2.想要排除重複的人名之後,A欗實際有幾人,請各位先進指導,謝謝
作者: ML089    時間: 2018-3-16 22:12

回復 1# julieh96590

[attach]28453[/attach][attach]28453[/attach]

D5陣列公式如下
=IFERROR(TRIM(MID(SUBSTITUTE(INDEX(A:A,INT(MIN((COUNTIF(D$4:D4,TRIM(MID(SUBSTITUTE(A$2:A$19," ",REPT(" ",99)),COLUMN(A:I)*99-98,99)))>0)*9999+ROW(A$2:A$19)*10+COLUMN(A:I))/10))," ",REPT(" ",99)),
MOD(MIN((COUNTIF(D$4:D4,TRIM(MID(SUBSTITUTE(A$2:A$19," ",REPT(" ",99)),COLUMN(A:I)*99-98,99)))>0)*9999+ROW(A$2:A$19)*10+COLUMN(A:I)),10)*99-98,99)),"")
作者: hcm19522    時間: 2018-3-17 19:36

排除重複之後 ,A欗有幾人
作者: Andy2483    時間: 2023-12-19 12:49

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列與字典,用字典記錄欄號與列號的學習方案如下,請各位前輩指教
執行前:
[attach]37150[/attach]

執行結果:
[attach]37151[/attach]

Option Explicit
Sub TEST_A()
Dim 資料陣列, 空陣列, 字典, i&, j%, 字串分割一維陣列, 參賽得獎者, 名次%
Dim 空陣列欄號%, 空陣列列號&, 參賽得獎人數%, 名次數&, 參賽得獎人次&
Set 字典 = CreateObject("Scripting.Dictionary")
資料陣列 = Range([B2], [A65536].End(xlUp))
ReDim 空陣列(1000, 1000)
For i = 1 To UBound(資料陣列)
   名次 = Val(資料陣列(i, 2))
   空陣列列號 = 字典(名次)
   If 空陣列列號 = 0 Then
      名次數 = 名次數 + 1
      空陣列列號 = 名次數
      字典(名次) = 空陣列列號
      空陣列(空陣列列號, 0) = 名次
   End If
   字串分割一維陣列 = Split(資料陣列(i, 1) & " ", " ")
   For Each 參賽得獎者 In 字串分割一維陣列
      If 參賽得獎者 = "" Then GoTo i01
      空陣列欄號 = 字典(參賽得獎者)
      If 空陣列欄號 = 0 Then
         參賽得獎人數 = 參賽得獎人數 + 1
         空陣列欄號 = 參賽得獎人數
         字典(參賽得獎者) = 空陣列欄號
         空陣列(0, 空陣列欄號) = 參賽得獎者
      End If
      空陣列(空陣列列號, 空陣列欄號) = 空陣列(空陣列列號, 空陣列欄號) + 1
      參賽得獎人次 = 參賽得獎人次 + 1
i01: Next
Next
With [E4].Resize(名次數 + 1, 參賽得獎人數 + 1)
   .Value = 空陣列
   .Item(1) = "名次\參賽得獎者"
   .Borders.LineStyle = xlContinuous
   .EntireColumn.AutoFit
End With
MsgBox "參賽得獎人數 " & 參賽得獎人數 & " 人 , 參賽得獎人次 " & 參賽得獎人次 & " 人次"
End Sub
作者: hcm19522    時間: 2023-12-20 09:37

(輸入編號12156) google網址:https://hcm19522.blogspot.com/




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)