Excelで行を奇数または偶数で並べ替えるにはどうすればよいですか?
Excelで数字を昇順または降順に並べ替えることは一般的な作業ですが、場合によっては、すべての奇数をグループ化し、すべての偶数をグループ化するようにデータを整理する必要があります。例えば、大量の数字リストがあり、分析やレポートのために奇数と偶数を分離したい場合があります。奇数または偶数による並べ替えはExcelのデフォルト機能として組み込まれていませんが、これを実現するための複数の実用的な方法があります。以下では、ヘルパー列、数式、VBAコード、または高度なアドインを使用して行を奇数または偶数で並べ替えるためのいくつかの解決策を紹介します。
![]() | ![]() | ![]() |
ヘルパー列を使用して奇数または偶数で行を並べ替える
Excelで奇数または偶数によって数字を並べ替える最も早い方法の1つは、ヘルパー列を追加することです。これにより、Excelは奇数と偶数を区別してソート操作を行うことができます。この方法は簡単で、数式や並べ替え機能を使ったことがあるユーザーに適しており、どのバージョンのExcelでも動作します。このアプローチは柔軟性がありますが、一時的に新しい列を追加する必要があります。
1. 数字リストの隣にある空いている隣接セル(例:A2から始まる場合、B2に入力)に次の数式を入力してください: =ISODD(A2) そしてEnterキーを押します。
スクリーンショットを見る:
ヒント:ISODD関数は値が奇数かどうかを確認します。列ヘッダーを使用している場合は、数式が正しいデータ行を参照していることを確認してください。
2フィルハンドルを使用して、数式をリスト全体にドラッグします。数式は奇数に対してTRUE、偶数に対してFALSEを表示します。この視覚的な区別は、並べ替えの基準となります。
スクリーンショットを見る:
3. 数式セルを選択したまま、データ > 最小値から最大値へ並べ替え または 最大値から最小値へ並べ替え をクリックします。
4「 並べ替えの警告 」ダイアログで、「 選択範囲を展開する 」を選択し、OKをクリックします。これにより、すべての行が正しく並べ替えられ、関連するデータが一緒に保持されます。
スクリーンショットを見る:
5「 並べ替え 」ボタンをクリックします。リストは「最小値から最大値へ並べ替え」を選んだ場合、偶数(FALSE)が奇数(TRUE)の前にグループ化されます。
スクリーンショットを見る:
注意:
1. 奇数を偶数の前に表示させたい場合は、「 最大値から最小値へ並べ替え 」を選択します(ステップ3)。
2. 並べ替え後は、ワークシートを整頓するためにヘルパー列を削除できます。
3. ヘルパー列だけを並べ替えると元のデータの順序が乱れるので注意してください。
実用的なヒント:この方法は普遍的でオフラインでも動作し、マクロやアドインを必要としません。ただし、頻繁に奇数/偶数で並べ替える必要がある場合は、自動化を増やすために他の方法を試すことをお勧めします。
Kutools for Excelを使用して奇数または偶数で行を並べ替える
大規模なデータセットを管理し、より高速で柔軟なソリューションを求める方には、Kutools for Excelの高度な並べ替え機能が役立ちます。この機能を使用すると、ヘルパー列を作成したり複雑な数式を書くことなく、直接奇数と偶数を並び替えることができます。これは同様の並べ替えタスクを頻繁に行うユーザー、またはグラフィカルインターフェースを好むユーザーに最適です。Kutoolsは並べ替え機能を強化し、効率的に一括処理をサポートします。
Kutools for Excelをインストール後に以下の手順に従ってください:
1. 並べ替えたいデータ範囲を選択します。
2次に、「 Kutools Plus > 」→「 > 高度な並べ替え.
スクリーンショットを見る:
3「 高度な並べ替え 」ダイアログボックスで、並べ替えたい列を「 列 」ドロップダウンから選択します。「 並べ替え基準 」セクションで、「 偶数と奇数」を選択し、希望する並べ替え順序を選択します: AからZ で偶数を最初に並べ、 ZからA で奇数を最初に並べます。
スクリーンショットを見る:
4. OKをクリックします。リストはすぐに設定に基づいて奇数と偶数がグループ化されます。以下は結果の例です:
元のデータ | 偶数から奇数への並べ替え | 奇数から偶数への並べ替え | ||
![]() | ![]() | ![]() | ![]() | ![]() |
この高度な並べ替え機能についてもっと知るにはクリックしてください。
今すぐKutools for Excelをダウンロードして無料体験!
利点: 余分な数式や列が不要で、シンプルなインターフェースで動作し、奇数/偶数基準で素早く並べ替えられるため、頻繁に使用する方に最適です。
考慮事項: Kutoolsはサードパーティ製のアドインであり、インストールが必要ですが、多くの人が信頼する強力なExcel機能拡張ツールです。
デモ: Kutools for Excelを使用して奇数または偶数で行を並べ替える
VBAコードを使用して奇数または偶数で行を並べ替える
数字を奇数または偶数に並べ替えるプロセスを自動化したい場合、VBAマクロを使用するのが効率的な方法です。この方法は基本的なマクロ知識を持つユーザーに適しており、特に頻繁に並べ替えを繰り返す必要がある場合、またはヘルパー列を追加せず、サードパーティ製のアドインに依存しない場合に便利です。VBAはシンプルで余計なものを省いた迅速なその場での並べ替えを提供します。
1. 開発 > Visual BasicをクリックしてMicrosoft Visual Basic for Applicationsウィンドウを開きます。開発タブが表示されない場合は、Excelオプションで有効にすることができます。VBAウィンドウで挿入 > モジュールをクリックし、次のコードをモジュールに貼り付けます:
Sub SortByOddEven()
Dim ws As Worksheet
Dim rng As Range, cell As Range
Dim arr As Variant
Dim HelperArr() As Integer
Dim i As Long
On Error Resume Next
Set ws = Application.ActiveSheet
Set rng = Application.InputBox("Select the range to sort (single column):", "KutoolsforExcel", Type:=8)
If rng Is Nothing Then Exit Sub
arr = rng.Value
ReDim HelperArr(1 To UBound(arr, 1))
For i = 1 To UBound(arr, 1)
If IsNumeric(arr(i, 1)) Then
HelperArr(i) = arr(i, 1) Mod 2
Else
HelperArr(i) = 2 ' Non-numeric entries go last
End If
Next i
' Add helper column
rng.Offset(0, 1).Resize(UBound(arr, 1), 1).Value = Application.Transpose(HelperArr)
' Sort by helper column
ws.Sort.SortFields.Clear
ws.Sort.SortFields.Add Key:=rng.Offset(0, 1), SortOn:=xlSortOnValues, Order:=xlAscending
With ws.Sort
.SetRange rng.Resize(, 2)
.Header = xlNo
.Apply
End With
' Remove helper column
rng.Offset(0, 1).Resize(UBound(arr, 1), 1).Clear
MsgBox "Rows are sorted by odd (1) or even (0) numbers.", vbInformation, "KutoolsforExcel"
End Sub
2. 押す F5 または「 」ボタンをクリックしてマクロを実行します。表示される入力ボックスでデータ列を選択すると、マクロは自動的にデータを並べ替え、偶数が奇数の前にグループ化されます(あるいは逆の順序の場合もあります)。
注意事項とトラブルシューティング:
- このマクロを複数列の範囲に適用すると、選択された列とその直近の列のみが並べ替えられます。最良の結果を得るには、並べ替えたい列だけを選択するか、高度な使用例でマルチカラムソートに対応するようにコードを調整してください。
- マクロを実行する前にワークシートが保存されていることを確認し、意図しないデータ損失を防ぎましょう。
- 非数値のエントリはエラーを避けるために一番下に並べ替えられます。
利点: 完全に自動化され、ヘルパー列が残らず、繰り返しのタスクに適しています。
制限: マクロの有効化とある程度のVBA経験が必要です。機密データに対しては慎重に使用してください。
MOD関数を使用して奇数または偶数を特定する
ISODD関数以外にも、MOD関数を使用して奇数と偶数を区別することができます。この方法は、標準的な数学演算に精通しているユーザー、または特定の関数やローカライズが不足している古いバージョンのExcelを使用しているユーザーにとって実用的です。MODアプローチは明示的な数値インジケーターを提供します—偶数に対して0、奇数に対して1—これにより順序をコントロールしたり他の並べ替えワークフローと統合したりできます。
1. 数字の隣の空白セル(例:B2)に次の数式を入力します:
=MOD(A2,2)
この数式はA2の値を2で割り、余りを返します。偶数は0、奇数は1を生成します。
2. この数式をコピーして、残りの数字リストに適用します。
3. 前述のヘルパー列メソッドで説明したように、このヘルパー列に基づいてデータを並べ替えます(データ > 並べ替え)。最小値から最大値への並べ替えは、すべての偶数(0)を奇数(1)の前に配置します。
ヒント:
- データに非整数値が含まれている場合、MODは依然として動作しますが、目的通り0または1を示すのは整数のみです。
- この方法は言語や地域に依存せず、TRUE/FALSE出力よりも透明性が高い場合があります。
- 昇順と降順の並べ替えを切り替えて順序を変更できます。
関連記事:
Excelで取り消し線付きのデータを並べ替えたりフィルタリングしたりするには?
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得