Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


15443 / 76734 ←次へ | 前へ→

【66768】Re:範囲内で一番多い値を取得する方法
発言  kanabun  - 10/10/5(火) 12:47 -

引用なし
パスワード
   ▼かな さん:

>この中で、一番値の多いもの。
>この場合は 10 になるのですが・・・
>このように10を取得するのにいい方法といいますか、
何か適した関数とかあるのでしょうか?

関数では思いつかなかったので、ユーザー定義関数ではいかが?

Function MaxCount(r As Range)
 Dim i As Long, k As Long
 Dim v
 Dim dic As Object
 
 v = r.Value
 Set dic = CreateObject("Scripting.Dictionary")
 For i = 1 To UBound(v)
   dic(v(i, 1)) = dic(v(i, 1)) + 1
 Next
 For Each v In dic.Keys()
  If k < dic(v) Then k = dic(v): MaxCount = v
 Next
 Set dic = Nothing
End Function


どこかのセルに =MaxCount(A1:A12)

2 hits

【66765】範囲内で一番多い値を取得する方法 かな 10/10/5(火) 10:48 質問
【66768】Re:範囲内で一番多い値を取得する方法 kanabun 10/10/5(火) 12:47 発言
【66790】Re:範囲内で一番多い値を取得する方法 かな 10/10/6(水) 17:00 お礼
【66769】Re:範囲内で一番多い値を取得する方法 Jaka 10/10/5(火) 13:16 発言
【66791】Re:範囲内で一番多い値を取得する方法 かな 10/10/6(水) 17:03 お礼
【66770】Re:範囲内で一番多い値を取得する方法 独覚 10/10/5(火) 13:35 回答
【66773】Re:範囲内で一番多い値を取得する方法 kanabun 10/10/5(火) 16:01 お礼
【66789】Re:範囲内で一番多い値を取得する方法 かな 10/10/6(水) 16:56 お礼

15443 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free