[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データーの並び替え』(ラー油)
初めまして
教えて頂けたらうれしいです
A1〜E3迄 数値が入ってます
A4のセルから横に重複が多い数値 順位に並べる方法って
有りますか
あつかましいと思いますが
教えて頂けないでしょうか
< 使用 Excel:Excel2013、使用 OS:Windows8 >
Sub test() Dim R As Range Dim i As Long Dim j As Long Dim iw As Long Dim iCou As Long Dim iFlag As Long Dim iDim() As Long
For Each R In Range("A1:E3") iFlag = 0 For i = 0 To iCou - 1 If iDim(0, i) = R.Value Then iDim(1, i) = iDim(1, i) + 1 iFlag = 1 Exit For End If Next i If iFlag = 0 Then ReDim Preserve iDim(1, iCou) iDim(0, iCou) = R.Value iDim(1, iCou) = 1 iCou = iCou + 1 End If Next
For i = 0 To iCou - 1 For j = i + 1 To iCou - 1 If iDim(1, i) < iDim(1, j) Then iw = iDim(0, j) iDim(0, j) = iDim(0, i) iDim(0, i) = iw iw = iDim(1, j) iDim(1, j) = iDim(1, i) iDim(1, i) = iw End If Next j Next i
For i = 0 To iCou - 1 Cells(4, 1 + i).Value = iDim(0, i) ' Cells(5, 1 + i).Value = iDim(1, i) Next i End Sub (???) 2014/10/29(水) 14:45
無理やり関数で。 A4セルに =IF(COUNT(0/FREQUENCY($A$1:$E$3,$A$1:$E$3))<COLUMN(A1),"",MOD(LARGE(FREQUENCY($A$1:$E$3,ROW(1:999))+ROW(1:1000)/1000,COLUMN(A1)),1)*1000) と入力してShiftキーとCtrlキーを押しながらEnterキーで確定。 (確定後、式が{}で囲まれればOK) その後、右へフィルコピー。
なお、上記式はA1セルからE3セルに入力される値が1000未満の場合。 1000以上10000未満の値も入力される場合は =IF(COUNT(0/FREQUENCY($A$1:$E$3,$A$1:$E$3))<COLUMN(A1),"",MOD(LARGE(FREQUENCY($A$1:$E$3,ROW(1:9999))+ROW(1:10000)/10000,COLUMN(A1)),1)*10000) で。
(ねむねむ) 2014/10/29(水) 15:15
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.