Excelの表の縦と横をTRANSPOSEを使って組み替える

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

ExcelのTRANSPOSE関数を使うと縦のデータを横して保存することができます。また、vbaでもTRANSPOSEを使ってマクロを記述することができます。

TRANSPOSE_19

(使用Excel;2013)

参考

参考 Office Support;TRANSPOSE関数

参考 microsoft;配列数式のガイドラインと例


TRANSPOSE関数

TRANSPOSE関数は次のように記述します。

「=TRANSPOSE(配列)」

※ 「配列」について

「配列」には「($A$1:$D$8)」というようにセル番号を記述します。配列については「配列数式のガイドラインと例」を参照してみてください。

※ 式を記述した後の注意点!

TRANSPOSE関数を活かすためには、「Ctrl」キーと「Shift」キーを押しながら「Enter」を押します。

(microsoft;配列数式のガイドラインと例より)

  配列数式をブックに入力するときは Ctrl キーと Shift キーを押しながら Enter キーを押すため、配列数式は “CSE 数式” とも呼ばれます。

TRANSPOSE関数の使用例

次のような表を用意しました。

TRANSPOSE_11

F1セル以降にA1セルからD8セルまでの表の縦横を入れ替えたデータを貼り付けてみます。

F1セルに次のような式を入力しました。

「=TRANSPOSE($A$1:$D$)」

しかし、下の画像のとおり「#VALUE!」と表示されエラーとなってしまいます。

TRANSPOSE_12

「Ctrl」キーと「Shift」キーを押しながら「Enter」

F1セルをいったん選択し(つまりカーソルキーが点滅する状態)、「Ctrl」キーと「Shift」キーを押しながら「Enter」を押してみます。

TRANSPOSE_13

上の画像のとおりF1セルの式全体が「{ }」でくくられ、エラーになることなくA1セルの「従業員」が表示されました。

「F1からM4」に「A1からD8」のデータの縦横を入れ替えて貼り付けるため、同じ作業を繰り返してみます。

TRANSPOSE_14

F1セルからM4セルまで選択後、数式バーをクリックして、「Ctrl」キーと「Shift」キーを押しながら「Enter」を押してみます。下の画像のとおり、縦横を入れ替えて同じデータを表示することができました。

TRANSPOSE_15

TRANSPOSEのvbaでの使用例

次にTRANSPOSEをvbaで使用してみます。次のように「従業員別」と「D_給与」という2つのシートを用意しました。

TRANSPOSE_16

TRANSPOSEを使って別シートへ縦横を入れ替えて貼り付け

「従業員別」シートに記載した数値を「D_給与」に縦横を組み替えて貼り付ける記述をしてみました。

TRANSPOSE_17

上の画像のとおり「WorksheetFunction.Transpose()」でVariant型の変数(varFa)に代入したデータの縦横を入れ替えて貼り付けてみます。

※ 「従業員別」シートのA列目の文字列は、「D_給与」シートの1行目にすでに入力されているものとして、B1セルかたD8セルを貼り付けるような記述になっています。

実行すると次のとおりです。

TRANSPOSE_18

※ 上の画像の水色の枠囲み部分はマクロの記述対象外部分です。

まとめ

見た目を考えて縦横を組み替えたい表がある場合、TRANSPOSE関数を使うと便利かもしれません。


■□◆◇ 編集後記 ◇◆□■

昨夜はだいぶ涼しかったですね。ちょっとのどが痛くなってしまいました。