Excel(エクセル)で関数を使用して別シートにデータを転記する方法

スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 2021 365

エクセルのデータを別のワークシートに関数を使用して転記する方法です。

通常、別シートのデータを転記したいときには、

「=」を入力して、

別シートの転記したいセルをクリックして指定するだけです。

後は、その式を下にコピーすれば転記終了。

これを、あえて関数を使用してやってみましょう。

 

セル参照の知識があると役立つにゃ

スポンサーリンク

別シートのデータを転記する方法

「INDIRECT関数」を使用して転記します。

この「INDIRECT関数」は転記するための関数ではありません。

指定された文字列の参照を返してくれる関数です。

文字で説明すると何を言っているか分かりませんね。

下の表をご覧ください。

この表の「E1」に「INDIRECT関数」で「A1」を指定してみます。

「A1」には「C3」と入力されていますね。

その「C3」を参照して、結果は「三毛猫」が返されます(表示されます)。

「A1」に入力された「C3」という文字列をセル番地として認識して、その番地の結果を返してくれました。

つまり、言葉を短くすると、

「指定された文字列の参照を返してくれた」ということになります。

この関数をワークシート名の指定に利用します。


INDIRECT関数・・・指定された文字列の参照を返す

=INDIRECT(参照文字列,参照形式[省略可])

  • 参照文字列・・・セル参照や、文字列、定義された名前を指定する
  • 参照形式・・・[参照文字列]で指定したセル参照を「TRUE」か「FALSE」で指定する。省略するかTRUEの場合はA1形式、FALSEの場合はR1C1形式になる。

※[参照形式]は特殊な場合を除き、R1C1形式を使用していることは無いと思いますので説明を省略します。

 

では、下の画像のように、「C1」セルに「新宿店」ワークシートの「C5」セルの内容を転記してみます。

転記したいセルを選択して[関数の挿入]ボタンをクリック。

[関数の分類]を[すべて表示]か[検索/行列]に切り替えて「INDIRECT」を選んで[OK]をクリック。

ワークシートのセルを参照したい場合は、下のように設定します。
※シート名の後ろに「!」を入れます。

=シート名!セル番地
例: =Sheet1!D2

今回の場合は「新宿店」ワークシートの「C5」番地を参照したいので、

“新宿店!C5”

と指定します。
※文字列として指定するので、ダブルクォーテーション「”」で囲む必要があります。

 

ワークシート名と見出しの名前を一致させておけばセル参照でも指定できますよ。

その場合は、

C4&”!C5″

となります。

C4」で「新宿店」を指定して、「“!C5”」で「!C5」。

その2つを「&」演算子で繋ぎます。

別シートのセルを文字列でどのように表現するかがポイントです。

スポンサーリンク

複数シートのデータを転記する方法

最後に応用的な転記方法を紹介しておきます。

見出しとシート名を一致させておくと、INDIRECT関数を使用することで複数シートのデータをまとめることができます。

今回は、「売上一覧」シートに、「新宿店」「渋谷店」「吉祥寺店」の3店舗の合計部分だけを転記したかったとします。

下の画像をご覧いただき、作業内容を把握しておいてください、

また、見出しとシート見出しの名前を同じにしています。

必要な知識は、今回説明したINDIRECT関数に追加して下の2つです。

  • VLOOKUP関数
  • ネスト(関数の中で関数を使用する)

両方とも説明に時間のかかる知識なので、ここでの説明は割愛して解説リンク先だけ載せておきます。

Excel(エクセル)で行中で一致したセルを抽出する|VLOOKUP関数の使い方
Excel(エクセル)で数値や文字が一致したセルのデータを取り出す、VLOOKUP関数の説明です。
Excel(エクセル)での関数の使い方 ⑤|複数の関数を入れ子にして使う方法(ネストの使い方)
Excel(エクセル)で関数の中に関数を使う(入れ子にする)ことをネストとよびます。このネストの使い方を説明します。IF関数と組み合わせて使用することが多いですね。

 

今回作成する式は下のようになります。

=VLOOKUP(B5,INDIRECT(C4&"!B4:F9"),5,FALSE)

VLOOKUP関数の引数入力画面を表示したのが下の画像です。

これで、下のように「新宿店」の合計が表示されます。

せっかくセル参照を使用しているので、この式を下と右にコピーして終わらせたいですね。

そうなると複合参照の知識が必要になります。

作成した式を

=VLOOKUP(B5,INDIRECT(C4&"!B4:F9"),5,FALSE)

下のように変更します。

=VLOOKUP($B5,INDIRECT(C$4&"!B5:F9"),5,FALSE)

2か所に「$」記号を追加しただけですが、これで下と右にコピーできます。

最終的に「C5」に入れる式の引数入力画面は下のようになります。

複合参照については下のリンク先で説明しています。

Excel(エクセル)で計算する方法 ④|複合参照の使い方
Excel(エクセル)での計算や関数で使用する複合参照の説明です。セル参照には、相対参照、絶対参照とありますが、この複合参照まで使えるようになればバッチリです。

まとめ

最後に紹介した方法では、VLOOKUP関数にINDIRECT関数をネストするので、簡単に設定できるとは言えませんね。

また、「&」演算子や文字列を「”」で囲む方法や、最終的には複合参照の知識も使いました。

初心者の方はVLOOKUP関数の学習も兼ねてゆっくり設定するのがお勧めです。

 

INDIRECT関数で指定する文字列は「A1」のようなセル番地だけではなく、定義された名前も参照可能です。

INDIRECT関数は他の機能と組み合わせても便利に使うことができますよ。

下のリンク先で使用例があります。

Excel(エクセル)のドロップダウンリスト(プルダウン)入力で、リストを連動して絞り込む方法
Excel(エクセル)のドロップダウン(プルダウン)入力で、リストを連動して絞り込むやり方を説明します。

 

「=」のセル参照だけを使う方が楽だにゃー