Excel で2 番目に多く出現する数値またはテキストをどのように見つけますか?
Excel での日常業務では、リストや列において最頻値だけでなく、「2 番目に多く出現する値」を特定する必要がよく生じます。こうしたニーズは、アンケート結果の分析、商品売上データの評価、重複エントリの精査、あるいは最も目立つ傾向を超えた詳細なインサイトを得たい場面で特に重要です。確かに、ネイティブの MODE 関数を使えば最頻値を簡単に取得できますが、残念ながら「2 番目に多く出現する値」を直接取得する機能はExcel には備わっていません。さらに、対象データがテキストであったり、テキストと数値が混在していたりする場合、その処理はさらに難易度を増します。本稿では、Excel のリストまたはテーブル内で2 番目に多く出現する値を効率的に特定するための、それぞれ異なる強み・制限・適用シナリオを持つ実用的なアプローチをいくつかご紹介します。
- 配列数式で2 番目に多く出現する数値を検索
- 補助列を使用して2 番目に多く出現する数値またはテキストを検索
- 出現頻度で並べ替えて2 番目に多く出現する数値またはテキストを検索
- VBA コードを使用して2 番目に多く出現する数値またはテキストを検索
- PivotTable を使用して2 番目に多く出現する数値またはテキストを検索
配列数式で2 番目に多く出現する数値を検索
この方法では、配列数式を使って指定範囲内で2 番目に多く出現する数値を特定します。配列数式は、単一の数式で直接結果を得たい場合に最適ですが、信頼性高く動作するのは数値データのみです。テキスト値の場合は別の手法が必要になります。また、Excel のバージョン(Office 365 以前およびExcel 2019)によっては、配列数式を入力する際に Enter キーではなく、Ctrl + Shift + Enter キーを同時に押す必要があります。
結果を表示したい空白セルを選択し、次の数式を入力してください。
=MODE(IF(A2:A31<>MODE(A2:A31),A2:A31,"")) 数式を確定するには、Ctrl+Shift+Enterを同時に押してください。正しく入力されると、Excel が自動的に数式の前後に中かっこ{}を追加し、配列数式として認識します。

指定した範囲内で2 番目に多く出現する数値がセルに表示されます。この方法は数値リストに対して効率的ですが、テキスト値には対応しておらず、複数の値が同じ頻度で出現する場合の優先順位付けにも対応していません。

ヒントと注意点:例で使用している範囲(A2:A31)が実際のデータと一致しているか、再度ご確認ください。リスト内に2 つ以上の固有の数値が含まれていない場合、この数式はエラーを返すか、予期しない結果となる可能性があります。また、Office 365 またはExcel 2019 以降のバージョンをご利用の場合、動的配列数式が利用でき、Enter キーを押すだけで適用されることがあります。
補助列を使用して2 番目に多く出現する数値またはテキストを検索
この方法では、Kutools for Excel の高度な行のマージ機能を使い、各項目の出現回数を一括でカウントします。その後、その結果から2 番目に多く出現する項目を特定し、出現回数順に並べ替えて2 番目に多いテキスト値を見つけます。
1。分析したいテキストまたは数値の列と、出現回数を記録するための隣接する空白列をハイライトします。次に、Kutools > コンテンツ > 高度な行のマージに進みます。
注:補助列に「出現回数」などの見出しを付けておくと、わかりやすくなります。![[高度な行の結合]機能をクリックする](http://cdn.extendoffice.com/images/stories/doc-excel/find-second-most-common-frequent-number-text/doc-find-second-most-common-frequent-number-text-3.png)
2。高度な行のマージダイアログボックスで、選択した列を主キーとして設定し、補助列に出現回数をカウントさせます。「OK」をクリックして確定してください。
3。出現回数を表示している列を選択し、データ>最大から最小へを並べ替えて、出現頻度が高い順に値を整理します。![[データ]>[大きい順に並べ替え]をクリックする](http://cdn.extendoffice.com/images/stories/doc-excel/find-second-most-common-frequent-number-text/doc-find-second-most-common-frequent-number-text-5.png)
4。並べ替えの警告が表示されたら、「選択範囲を拡張する」を選択して「並べ替え」をクリックしてください。これにより行が整列し、2 番目に多く出現する項目が3 行目に表示されます。![ダイアログボックスで[選択範囲を拡張する]オプションをオンにすると、2番目に多いテキストが3行目に並べ替えられる](http://cdn.extendoffice.com/images/stories/doc-excel/find-second-most-common-frequent-number-text/doc-find-second-most-common-frequent-number-text-6.png)
メリット:この方法は、テキストと数値の分割に非常に適しており、2 番目だけでなく、3 番目、4 番目など、さらに多くの頻出値も簡単に確認できます。
出現頻度で並べ替えて2 番目に多く出現する数値またはテキストを検索
Kutools for Excel などのアドインやExcel の組み込みツールを使えば、特に大規模なデータセットを扱う際に、出現頻度に基づいて値を並べ替えることができ、2 番目に頻出する値を見つけるための最もシンプルで視覚的に分かりやすい方法の一つです。
1。対象のデータ列を選択し、エンタープライズ>高度なソートを開きます。![[高度な並べ替え]機能をクリックする](http://cdn.extendoffice.com/images/stories/doc-excel/find-second-most-common-frequent-number-text/doc-find-second-most-common-frequent-number-text-7.png)
2。高度な並べ替えダイアログを設定します:「列」ドロップダウンから対象の列を選択し、「並べ替えの基準」を出現頻度に設定して、並べ替え順序をZ → Aにしてください。
3。「OK」をクリックするだけで、値が出現頻度の高い順に瞬時に並べ替えられ、そのリストを一目見るだけで2 番目に多く出現する値を簡単に特定できます。この方法は数値・テキストのどちらにもシームレスに対応し、比較が簡単で、数式も不要です。
VBA コードを使用して2 番目に多く出現する数値またはテキストを検索
繰り返し作業を自動化したい方、あるいは手動設定を避けたい方にぴったりのカスタム VBA マクロは、数値・テキスト・またはその混合を含む任意の範囲から、2 番目に多く出現する値を効率的に取得するための強力な手段です。この VBA による解決法は、異なるワークシート間で定期的にこの分析を行う必要がある場合や、補助列を使いたくない場面で特に実用的です。
1。Excel のリボンで「開発者ツール」→「Visual Basic」をクリックします。表示された「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」→「標準モジュール」を選択し、以下のコードをモジュールにコピー&ペーストしてください。
Sub SecondMostFrequentValue()
Dim dict As Object
Dim rng As Range
Dim cell As Range
Dim freqArr As Variant
Dim i As Integer
Dim j As Integer
Dim keyArr As Variant
Dim tempF As Variant
Dim tempK As Variant
Set dict = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
On Error Resume Next
Set rng = Application.Selection
Set rng = Application.InputBox("Range", xTitleId, rng.Address, Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
For Each cell In rng
If Not IsEmpty(cell.Value) Then
dict(cell.Value) = dict(cell.Value) + 1
End If
Next
If dict.Count < 2 Then
MsgBox "Not enough unique values.", vbExclamation, xTitleId
Exit Sub
End If
freqArr = dict.Items
keyArr = dict.Keys
For i = 0 To dict.Count - 2
For j = i + 1 To dict.Count - 1
If freqArr(j) > freqArr(i) Then
tempF = freqArr(i)
tempK = keyArr(i)
freqArr(i) = freqArr(j)
keyArr(i) = keyArr(j)
freqArr(j) = tempF
keyArr(j) = tempK
End If
Next j
Next i
MsgBox "Second most frequent value: " & keyArr(1) & vbCrLf & "Times: " & freqArr(1), vbInformation, xTitleId
End Sub 2。「
実行ボタン(緑色の三角)」
PivotTable を使用して2 番目に多く出現する数値またはテキストを検索
ピボットテーブルは、Excel で大規模なデータセットを要約・分析するための非常に柔軟で使いやすい機能です。各値の出現回数をカウントし、並べ替えることで、データが数値であってもテキストであっても、最頻値だけでなく2 番目、さらには3 番目に多く出現する値も素早く特定できます。この方法は、数式の入力やアドインを使わず、Excel の組み込み機能だけで作業したいユーザーに最適です。
1。データセット内の任意のセルを選択し、「挿入 > PivotTable」をクリックします。ダイアログで目的の範囲を設定し、PivotTable の配置場所(例:新しいワークシート)を指定してください。
2。データ列(例:「商品名」または「値」)を PivotTable フィールドペインの行および値エリアの両方にドラッグし、「値」エリアを「[列名]の個数」に変更します。
3。PivotTable 内の「行ラベル」列のドロップダウン矢印をクリックして、最大から最小の順に並べ替えると、最も多く出現する値が一番上に、2 番目に多く出現する値がその次に表示されます。
ヒント:この方法を使えば、出現頻度の分布を視覚的に把握しやすくなります。データが変更された際には、テーブルをフィルタリングしたり更新したりすることも可能です。空白のエントリもカウントされるため、より正確な結果を得るには、事前にこれらをフィルターで除外することをおすすめします。
比較:数式ベースの解決法とは異なり、PivotTable の方法は複雑な構文や高度なExcel スキルを必要とせず、動的で拡張中のデータセットの処理にも抜群の適性を発揮します。
デモ:Excel で2 番目に多く出現する数値またはテキストを検索
関連記事:
最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得