Excelを使っていると、データの順番を上下に入れ替えたい場面は意外と多いものです。
たとえば、日付の古い順・新しい順を反転させたいときや、表全体を逆順にしたいとき、さらには文字列そのものを上下反転させたいときなど、用途はさまざまでしょう。
しかし、「簡単に上下を入れ替える方法がわからない」「関数を使って自動化したい」といった疑問をお持ちの方も多いのではないでしょうか。
この記事では、Excelでデータや文字を上下に入れ替え・反転する方法を、貼り付けを使った方法・関数を使った方法・文字の反転まで、幅広く丁寧に解説していきます。
ぜひ最後まで読んで、日々の作業効率アップに役立ててください。
Excelで上下を入れ替え・反転するには複数の方法がある
それではまず、Excelで上下を入れ替え・反転する方法の全体像について解説していきます。
【Excel】エクセルで上下を入れ替え・反転する方法(貼り付け・関数・文字の反転など)というテーマには、大きく分けて3つのアプローチが存在します。
1つ目は「貼り付けを使った手動での入れ替え」、2つ目は「関数を使った自動反転」、3つ目は「セル内の文字そのものを反転・上下逆にする」方法です。
それぞれに向いているシーンが異なるため、目的に合わせて使い分けることが大切でしょう。
Excelで上下を反転する主な方法は「貼り付け」「関数(INDEX・OFFSET・SORTBY)」「文字の反転」の3種類です。データ量や目的に応じて最適な方法を選びましょう。
以下の表に、各方法の特徴をまとめました。
| 方法 | 難易度 | 自動更新 | 向いているシーン |
|---|---|---|---|
| 貼り付けを使う方法 | ★☆☆ | なし | 少量データの一度きりの入れ替え |
| INDEX関数を使う方法 | ★★☆ | あり | データが変わる可能性がある場合 |
| SORTBY関数を使う方法 | ★★☆ | あり | Excel365・2021での効率的な反転 |
| 文字の反転(UNICHAR等) | ★★★ | あり | セル内文字を上下逆に表示したい場合 |
まずはそれぞれの詳細を順番に確認していきましょう。
貼り付けを使ってデータを上下に入れ替える方法
続いては、貼り付けを使ってデータを上下に入れ替える方法を確認していきます。
この方法は関数の知識がなくても実践できるため、Excelを使い始めたばかりの方にも取り組みやすいやり方です。
ただし、元のデータが変わった場合に自動で反転は更新されないため、一度きりの操作に向いています。
補助列(連番)を使った手順
最もシンプルな上下反転の手順は、補助列に連番を振ってから並び替える方法です。
まず隣の列に「1, 2, 3…」と連番を入力し、その後「データ」タブの「並べ替え」機能を使って連番を降順に並べ替えるだけで、データ全体が上下逆順になります。
手順例(A列にデータ、B列を補助列とする場合)
① B1に「1」、B2に「2」…と連番を入力する
② A列・B列を選択し、「データ」→「並べ替え」をクリック
③ 「列B」を基準に「降順」を選択して「OK」
④ B列の補助列を削除して完了
操作が直感的で、特別な数式を覚える必要がない点が大きなメリットでしょう。
コピー&貼り付けで手動入れ替えする手順
行数が少ない場合には、手動でコピー&貼り付けを繰り返す方法も現実的な選択肢です。
データを1行ずつ切り取って逆順に貼り付ける方法は、データが5行程度以内であれば最も手軽に実行できます。
ただし、データが10行以上になると作業ミスのリスクが高まるため、連番を使った並べ替え方法を推奨します。
「行列を入れ替えて貼り付け」との違いに注意
Excelには「行列を入れ替えて貼り付け(転置)」という機能があります。
これは行と列を入れ替える(横のデータを縦にする)操作であり、上下の反転とは異なる機能です。
混同しやすいポイントなので、「転置」は行列の入れ替え、「上下反転」はデータの順序の逆順化と区別して覚えておきましょう。
関数を使ってデータを上下に反転する方法
続いては、関数を使ってデータを上下に反転する方法を確認していきます。
関数を使う最大のメリットは、元データが変更されても反転結果が自動的に更新される点です。
繰り返し使うデータや、更新頻度の高い表に特に有効でしょう。
INDEX関数とROWS関数を組み合わせた反転
ExcelでデータをINDEX関数を使って反転させる方法は、幅広いバージョンで利用できる定番のテクニックです。
数式例(A1〜A10のデータをC1から逆順に表示する場合)
=INDEX($A$1:$A$10, ROWS($A$1:$A$10)+ROW($A$1)-ROW(), 1)
または
=INDEX($A$1:$A$10, ROWS(A1:$A$10))
この数式では、ROWSが参照範囲の行数を返し、INDEXがその行番号を使って末尾から順にデータを取り出す仕組みになっています。
数式をC1に入力してC10までコピーすれば、A列のデータが上下逆順にC列へ展開されます。
SORTBY関数を使った反転(Excel365・2021対応)
Excel365やExcel2021をお使いの方には、SORTBY関数を使った反転がよりシンプルで便利です。
数式例(A1〜A10のデータを逆順に表示する場合)
=SORTBY(A1:A10, ROW(A1:A10), -1)
「ROW(A1:A10)」で各行の行番号を基準として、「-1」を指定することで降順(逆順)に並べ替えています。
スピル機能により、1つのセルに入力するだけで全データが自動展開される点が大きな魅力でしょう。
OFFSET関数を使った反転
OFFSET関数を使った反転も、古いバージョンのExcelで利用可能な選択肢のひとつです。
数式例(A1〜A10のデータをD1から逆順に表示する場合)
=OFFSET($A$10, -(ROW()-ROW($D$1)), 0)
この数式ではOFFSETの基点を最終行(A10)に設定し、ROW関数で取得した相対的な行番号を引くことで、上から順番に末尾のデータを取得していきます。
INDEX関数を使った方法と同様の結果が得られますが、数式のメンテナンスのしやすさという観点ではINDEX関数の方が一般的に推奨されています。
関数を使った反転のまとめ:Excel365・2021ではSORTBY関数が最もシンプル。それ以前のバージョンではINDEX+ROWS関数の組み合わせが定番です。
文字列・テキストを上下反転・逆順表示する方法
続いては、セル内の文字列そのものを上下反転・逆順に表示する方法を確認していきます。
「データの行順を逆にする」のではなく、「文字の並び自体を逆にしたい」というニーズに対応した内容です。
たとえば「EXCEL」という文字列を「LECXE」のように逆順表示したい場合などが該当します。
TEXTJOIN・MID・ROW関数を組み合わせた文字逆順表示
Excelには文字列を直接反転させる専用関数は存在しませんが、複数の関数を組み合わせることで実現できます。
数式例(A1の文字列を逆順に表示する場合)
=TEXTJOIN(“”, TRUE, MID(A1, LEN(A1)+1-ROW(INDIRECT(“1:”&LEN(A1))), 1))
(Ctrl+Shift+Enterで配列数式として入力)
この数式では、LEN関数で文字数を取得し、MID関数で末尾から1文字ずつ取り出し、TEXTJOINで結合するという仕組みを採用しています。
Excelのバージョンによってはスピル対応・非対応の差があるため、動作確認しながら使ってみてください。
縦書き・上下反転の見た目表示はセルの書式設定で対応
「文字を縦書きにしたい」「上下逆さまに見せたい」という見た目の調整は、セルの書式設定で対応可能です。
「セルの書式設定」→「配置」タブの「方向」でテキストの角度を変更することで、文字を90度・180度回転させて表示できます。
180度に設定すれば、文字が上下反転して表示される視覚的な効果が得られるでしょう。
UNICHAR関数を使った特殊文字による反転表現
より高度な表現として、UNICHAR関数を使ってUnicode上で上下反転したグリフ(字形)の文字コードを指定する方法もあります。
ただし、対応している文字が限られるため、アルファベットや一部の記号に限定される点に注意が必要です。
実務的な用途よりもデザイン的な用途に向いている手法といえるでしょう。
まとめ
この記事では、【Excel】エクセルで上下を入れ替え・反転する方法(貼り付け・関数・文字の反転など)について幅広く解説しました。
データの行順を逆にしたい場合は、少量データなら補助列+並べ替えの手動操作、自動更新が必要な場合はINDEX・SORTBY関数が有効です。
文字列そのものを逆順にしたい場合は、TEXTJOIN+MID+ROWの組み合わせや、書式設定による角度変更が選択肢として挙げられます。
それぞれの方法には向き・不向きがあるため、データの量・更新頻度・Excelのバージョンに合わせて最適な手法を選ぶことが大切でしょう。
今回の内容を参考に、日々のExcel作業をよりスムーズに進めていただけると幸いです。