Excel

【Excel】エクセルで横のデータを縦に参照(違うシートも)方法【縦持ちと横持ちの変換:別シートの場合も】

当サイトでは記事内に広告を含みます

今回は、エクセルで横のデータを縦に参照(違うシートも)方法について説明します。

図のように、合計が表示されている7行目をI列のように縦に表示したい時、また逆に縦に表示されたものを横にしたい時、それぞれ別シートの情報を参照したい時について説明していきます。

エクセルで横のデータを縦に参照する方法

まずは、エクセルで横のデータを縦に参照する方法です。

下図のような表を例として使用します。

この表の7行目の合計をI列に表示してみます。

今回は、OFFSET関数ROW関数を使用します。

Aの合計(今回の場合はC7セル)をI3セルに表示させてみます。

このときは、I3セルに「=OFFSET($C$7,0,ROW(A1)-1)」と入力してください。

これでC7セルの値がI3セルに表示されるようになりました。

ほかのI列にもデータを表示させたいので、I3セル右下の「■」をドラッグし、I6セルまで引っ張ります。

これで7行目のデータがI列に表示されるようになりました。

 

ここから関数について説明します。

今回使用したOFFSET関数は、

=OFFSET(参照元(起点),X方向にずらしたい量,Y方向にずらしたい量)

という形式になっています。

I3セルに表示させるだけであれば、参照元(起点)はAの合計が表示されたセルなので、「C7」ですが、この後ほかの行にも同じ式を展開したいので、ここのセルを固定させるため「$C$7(“$”でセルを固定できます)と記載します。

次にX方向にずらしたい量については今回はX方向にはずらす必要がないので「0」となります。

Y方向にずらした医療についてはI3列だけなら「0」ですが、I4セル以下の行にも式を展開したいので、「0,1,2,3」としたいです。こうしたい時にROW関数を使います。ROW関数は行の番号を取得できるので、ROW(A1)とすると、「1」が入力されます。今回は「0」にしたいので、「ROW(A1)-1」としています。

このA1セルのコピーをすると行ごとにA2,A3…とずれていくので、それぞれが「0,1,2,3」と置き換わり、参照できるようになっています。

 

別シートへの対応

応用として、別のシートに対して同じことをやってみます。

まず、図のようにシートを二つ用意し、それぞれに以下のようにデータを作成します。

ここから先は、参照する内容が異なるだけでやり方はほとんど同じです。

Sheet2のほうのC2セルに、「=OFFSET(Sheet1!$C$7,0,ROW(A1)-1)と入力します。

同じシートで実施した場合との違いは、「$C$7」となっていた部分が「Sheet1!$C$7」となっているところだとわかります。頭に「Sheet1!」とつけることで、参照元がSheet1のセルであることを示しています。

続けて、先ほど同様ほかのセルにも式を展開するため、C2セルの右下の「■」をドラッグし、下にずらします。

これで、C列に別シートの数字が移されました。

 

エクセルで縦のデータを横に参照する方法

次に、に並んだデータを横に参照してみます。

まずは以下のようなデータを準備します。

このI3L3セルにG列の合計を表示します。

まず、I3セルに「=OFFSET($G$3,COLUMN(A1)-1,0)」と入力します。

OFFSET関数については先ほど使用したのと同じです。今回は縦方向ではなく、横方向に動かいしたいので、Y方向は「0」、X方向は先ほどのROW関数と似たCOLUMN関数を使用します。COLUMN関数は列番号を返す関数なので、COLUMN(A1)で「1」を返します。今回は0から始めたいので-1しています。

先ほど同様、I3セルの式をほかのセルにも展開したいので、I3セルの右下の「■」をドラッグし、右にスライドさせます。

これでほかのセルも参照出来ました。

 

なお別シートの場合も先ほどと同様に参照したいセルに「Shhe1!」とつけることで、参照することができます。

 

 

まとめエクセルで横のデータを縦に参照(違うシートも)方法

今回はエクセルで横のデータを縦に参照(違うシートも)方法について説明しました。

OFFSET関数、ROW関数、COLUMN関数の組み合わせで縦、横の変換はできますので、ぜひ活用してください。