Excel でデータを逆順にランク付けするにはどうすればよいですか?
Excel では、通常の=RANK(セル、 範囲)関数を使うと、最大値がランク1 となり、最小値が最も低いランクになります。しかし、状況によってはこの順序を逆にして、最小値に最高ランクを、最大値に最低ランクを付けたいことがあります(下のスクリーンショット参照)。これは、レースタイムやコスト、エラー件数など、「数値が小さいほどパフォーマンスが高い」とされるデータを分析する際に特に役立ちます。
データを逆順にランク付けする|VBA コード:逆順ランクを自動的に割り当てる
データを逆順にランク付けする
Excel で逆順ランク付けを行うには、標準のRANK 関数に追加の引数を指定して少しカスタマイズします。これにより、デフォルトの順序ではなく、最小値から最大値へと簡単にデータをランク付けできます。
逆順ランクの結果を表示したい空白セルを選択します。データ範囲がセル B2~B10 にあると仮定して、そのデータの隣にある最初のセル(例:セル C2)に次の数式を入力してください。
=RANK(B2,$B$2:$B$10,1) 数式を入力したら、Enterキーを押してください。この数式を列内の他のセルにも適用するには、フィルハンドルを使います。数式を入力したセル(C2)の右下隅にマウスカーソルを合わせ、ポインタがプラス記号に変わったら、隣接するデータ範囲(この例では C10 まで)までドラッグして、セルを一気に埋めましょう。
データ範囲が異なる場合は、数式内のセル参照を実際のデータに合わせて調整してください。なお、重複する値があると、RANK 関数はそれらに同じランクを割り当て、その後のランクをスキップします(例:2 位が2 つある場合、次は4 位になります)。
逆順ランク付けは、最小値や最短タイムを際立たせたい場面で特に効果的で、同順位が許容される、あるいは予想されるデータセットにも適しています。
VBA コード:逆順ランクを自動的に割り当てる
大規模なデータセットや頻繁に更新されるデータに対してさらに自動化されたソリューションをお求めの場合は、VBA コードを使って逆順ランクを素早く、効率的に割り当てられます。この方法は、少しのプログラミング経験があり、繰り返しの手動作業を省きたいユーザーに最適です。
1。開発ツール>Visual Basicをクリックして VBA エディターを開きます。「Visual Basic for Applications」ウィンドウで、挿入>標準モジュールをクリックし、モジュールペインに以下のコードを貼り付けてください。
Sub AssignReverseRank()
Dim dataRange As Range
Dim outputRange As Range
Dim i As Long
Dim j As Long
Dim temp As Variant
Dim arr As Variant
Dim sortedArr As Variant
Dim rankArr() As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set dataRange = Application.InputBox("Select the data range to rank (single column):", xTitleId, "", Type:=8)
If dataRange Is Nothing Then Exit Sub
Set outputRange = Application.InputBox("Select the first cell for output ranks:", xTitleId, "", Type:=8)
If outputRange Is Nothing Then Exit Sub
arr = dataRange.Value
ReDim rankArr(1 To UBound(arr, 1), 1 To 1)
sortedArr = arr
' Sort the array in ascending order
For i = 1 To UBound(sortedArr, 1) - 1
For j = i + 1 To UBound(sortedArr, 1)
If sortedArr(i, 1) > sortedArr(j, 1) Then
temp = sortedArr(i, 1)
sortedArr(i, 1) = sortedArr(j, 1)
sortedArr(j, 1) = temp
End If
Next j
Next i
' Assign reverse ranks
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(sortedArr, 1)
If arr(i, 1) = sortedArr(j, 1) Then
rankArr(i, 1) = j
Exit For
End If
Next j
Next i
outputRange.Resize(UBound(rankArr, 1), 1).Value = rankArr
End Sub 2。マクロを実行するには、
[実行]ボタンをクリックするか、F5キーを押してください。その後、逆順にランク付けしたいデータ範囲(単一の列)を選択し、続いてランク結果を出力したい最初のセルを選択するよう求められます。各選択後は、[OK]をクリックしてください。
このマクロはデータを昇順に並べ替え、それに応じて逆順のランクを割り当て、最小値をランク1 として処理します。数千件ものエントリを一括でランク付けしたり、定期的に更新されるレポートのランク付けを自動化したりするのに特に便利です。
このマクロをご利用になる際は、データが連続しており、数値のみで構成されていることをご確認ください。数値以外のデータや空白セルが含まれていると、結果が不正確になる可能性があるため、事前にデータをクリーニングすることを強くおすすめします。また、意図しない変更を防ぐためにも、マクロ実行前には必ずブックを保存しておきましょう。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得