Excelで、各セルの値の行列(縦横)入れ替えを、コピペや数式で行う方法
Excelで図表を含んだ資料を作っているときに、こんな操作をしたいと思うことがあります。
Excelで、各セルの値の行列(縦横)入れ替えを行いたい!
たとえば以下のような値を入力したExcelのシートがあったとします。
そしてシート上の各値を、以下のように別の場所に行列(縦横)を入れ替えて入力したい!というような操作です。
こういった操作は、Excelを使っている際に一般的によく行われるものであり、行列入れ替え※と呼ばれます。
※Excelでは縦方向を行、横方向を列と表現します。
上記9セル程度の行列入れ替えであれば、手間がかかって面倒ではあるものの、手入力でもできないこともありません。
ですが10行・10列(100セル)程度の入力があると、手入力での行列入れ替えはとっても大変。
また入力間違いをしてしまう可能性も少なくありません。
幸いなことにExcelでは、行列入れ替えを実行する専用の機能がいくつか用意されているので、行列入れ替えをするときはそういった専用の機能を使うと良いでしょう。
Excelで、各セルの値の行列(縦横)入れ替えを行う方法
Excelで、各セルの値の行列(縦横)入れ替えを行う方法は、いくつか考えられます。
今回はその中から、行列入れ替え貼り付け機能と関数を使った行列入れ替え方法をご紹介します。
行列入れ替え貼り付け機能による、行列入れ替えの方法
この方法では、行列入れ替えを行いたい範囲を選択してコピー。
そして貼り付けの際に、行列入れ替え貼り付け機能を使うことで、行列入れ替えを実行します。
先ほどご紹介した以下行列入れ替えを例に、その方法をご紹介しましょう。
まずは行列入れ替えを行いたいセル範囲を選択して、コピーを実行してください。
今回の例では以下A1:C3のセル範囲が対象となるので、このセル範囲をコピーします。
次に、行列入れ替え貼り付けの実行先の起点セル、E1セルを選択して右クリックを行い、コンテキストメニューを表示。
『貼り付けのオプション』項目下部にある『行列を入れ替える』ボタンをクリックしてください。
すると以下のように行列入れ替えが実行された状態で、各セルに値が貼り付けされています。
書式情報をコピーしたくないときは、『値』+『行列を入れ替える』の組み合わせで貼り付けを実行!
先にご紹介した手順の行列入れ替え貼り付け機能を使用すると、貼り付け先のセルには、貼り付け元の書式や数式情報(背景色や文字色、数式などの情報)も併せてコピー・設定されます。
これらが不要で、計算結果の数字のみを行列入れ替え貼り付けしたいときは、以下の手順で『値』+『行列を入れ替える』の組み合わせで貼り付けを実行します。
本操作では、コピー元のセル範囲のコピー。
その後行列入れ替え貼り付けの実行先の起点セルで右クリックし、コンテキストメニューを表示するところまでの手順は同じです。
そしてコンテキストメニューを表示したら、『行列を入れ替える』ボタンではなく、『形式を選択して貼り付け』メニューをクリックします。
『形式を選択して貼り付け』画面が表示されるので、『貼り付け』部で『値』を選択してから、『行列を入れ替える』にチェックを入れ『OK』ボタンをクリックしてください。
この操作により計算結果の値のみがコピーされ、行列入れ替え貼り付けが実行されます。
『形式を選択して貼り付け』画面では、『値』以外にも多くの選択肢があるので、必要に応じて選択を行うと良いでしょう。
尚、先にご紹介した『行列を入れ替える』ボタンのクリックは、本画面上で『すべて』を選択し、『行列を入れ替える』にチェックが入った状態での貼り付けと同等の処理が実行されています。
Excelの『貼り付けのオプション』や『形式を選択して貼り付け』についての詳細は、別途Excelの貼付・形式を選択して貼り付け動作の違いを分かりやすく解説!でくわしく解説しているので、興味がある方は併せてご覧ください。
関数を使った行列入れ替え方法
行列入れ替え貼り付け機能による、行列入れ替えの方法では、貼り付け機能を使って行列入れ替えを実現していました。
ですが、関数や数式を使って行列入れ替えをしたいときもあるでしょう。
Excelでは、TRANSPOSE関数と配列数式を使用すれば、行列入れ替えを数式で実行可能です。
この方法を使用するときは、まず行列入れ替えした値を表示するセル範囲を選択。
次に選択した範囲に『=TRANSPOSE(行列入れ替え元のセル範囲)』という形式の数式を入力します。
今回の例では、行列入れ替え元のセル範囲がA1:C3となるので、『=TRANSPOSE(A1:C3)』と入力してください。
そしてこの状態で『Enter』キー押下で式を確定するのではなく、『Ctrl』+『Shift』キーを押しながら、『Enter』キーを押下して、式の入力を確定します。
以上の操作により配列数式として計算式が入力され、式が『{=TRANSPOSE(A1:C3)}』という形式で入力されます。
この方法では関数を使った数式入力により、行列入れ替えを実現しています。
そのため入れ替えの元となっているセル範囲の値を変更すると、連動して行列入れ替え後のセル範囲の値も変更されます。
たとえばB3セルを8→excelという文字列に変更すると、行列入れ替え先の対応セルであるG2セルの値も8→excelに即時変更されます。
TRANSPOSE関数を使用したセルで、『#VALUE!』と表示された場合の対処方法
TRANSPOSE関数を使用したセルで『#VALUE!』と表示された場合、数式入力後に『Enter』キーのみを押下して数式を確定した可能性があります。
この場合には配列数式として入力されず、『#VALUE!』というエラーが表示されます。
本エラーは数式の入力を確定する際に、『Ctrl』+『Shift』キーを押しながら『Enter』キーを押下することで改善し、正しく行列入れ替えが動作するはずです。
以上、参考になさってくださーい!
補足:配列数式って何?
配列数式について、少しだけ補足しておきたいと思います。
配列数式とは、配列(複数のセル・セル範囲)に対し、一つの数式で計算を行う数式のことです。
普通の数式とは異なり、数式入力の確定の際に『Ctrl』+『Shift』キーを押しながら、『Enter』キーを押下する、というポイントがあります。
配列に対する計算の結果を、シンプルな計算式の入力で算出できるため、とても便利です。
ただし配列数式自体の知名度はかなり低く、日々Excelを使った業務を行っている方でも知らない方が少なくありません。
そのため他人が配列数式を見たときに、意味をすぐに理解できず、困ってしまうことがあるかもしれない、という点にはご注意ください。