Excelで別シートにデータを自動反映(連動)させる6つの方法

Excelで別シートにデータを自動反映(連動)させる6つの方法

当サイトはアフィリエイト広告を利用しています。

Sheet1の内容をSheet2にも入力する必要がある場合、手入力すると誤入力の可能性がありますし、間違っていなくても後々内容に変更があった場合、両方のシートを修正しなければならず、面倒です。

そこで今回は、Excelで別シートにデータを自動反映させる方法をご紹介します。

この方法を知っていれば、無駄に同じ内容を何度も入力しなくて済むので、作業効率化になりますよ。

Excelで別シートにデータを自動反映させる方法

Excelで別シートにデータを自動反映させる方法には、以下のようなものがあります。

  • セル参照を使う
  • INDIRECT関数を使う
  • リンク貼り付けを使う
  • カメラ機能を使う
  • Power Queryを使う
  • ドロップダウンリストを使う

方法1:セル参照を使う

文字列を別シートに自動反映させたい場合は、セル参照を使う方法がおすすめです。

セル参照を使って別シートにデータを自動反映させるには、参照先のセルに以下のような数式を入力します。

=参照元シート名!参照元セル番地

たとえば、Sheet1のA1にSheet2のA1の内容を自動反映させたい場合は、Sheet1のA1に=Sheet2!A1と入力します。

セル参照で別シートのデータを自動反映した結果

数式は手入力でも良いですが、参照先のセルに「=」と入力した後、参照元のセルをクリックして[Enter]を押すというやり方のほうが簡単です。Sheet1のA1に「=」と入力したあと、Sheet2のA1をクリックして[Enter]を押すといった感じです。

セル参照で別シートのデータを自動反映する手順

方法2:INDIRECT関数を使う

文字列を別シートに自動反映させたい場合で、かつ参照元のシート名やセル番地を文字列で指定したい場合は、INDIRECT関数を使う方法がおすすめです。

INDIRECT関数(インダイレクト関数)は、文字列で指定されたセル番地の値を返す関数です。

INDIRECT関数の構文

INDIRECT(参照文字列, [参照形式]

参照文字列(必須)
取得したい値があるセル番地を「A1形式」または「R1C1形式」の文字列で指定する。
参照形式(省略可)
【参照文字列】の種類を以下のいずれかで指定する。省略すると「TRUE」として処理される。
  • TRUE:【参照文字列】をA1形式とみなす。
  • FALSE:【参照文字列】をR1C1形式とみなす。

INDIRECT関数を使って別シートにデータを自動反映させるには、参照先のセルに以下のような数式を入力します。

=INDIRECT(参照元シート名が入力されたセル番地&"!"&参照元セル番地が入力されたセル番地)

たとえば、Sheet1のA1にSheet2のA1の内容を自動反映させたい場合で、Sheet1のC2に参照元のシート名が、D2にセル番地が入力されている場合は、Sheet1のA1に=INDIRECT(C2&"!"&D2)と入力します。

INDIRECT関数で別シートのデータを自動反映した結果

方法3:リンク貼り付けを使う

表を別シートに自動反映させたい場合は、リンク貼り付けを使う方法がおすすめです。

リンク貼り付けを使って別シートにデータを自動反映させるには、まず参照元のセルを選択して[Ctrl]+[C]でコピーします。

参照元シート

参照先のセルを右クリックして「リンク貼り付け」をクリックします。

参照先シート

これで別シートにデータが自動反映されます。

リンク貼り付けで別シートのデータを自動反映した結果

参照元セルの書式も反映させたい場合は、リンク貼り付けの直後に右クリックして「書式設定」をクリックします。

参照先シート

これで参照元セルの色や配置なども反映されます。

書式設定を貼り付けて別シートの書式を反映した結果

なお、参照元セルの書式については、変更しても参照先セルには自動反映されません。

方法4:カメラ機能を使う

表やグラフを別シートに自動反映させたい場合は、カメラ機能を使う方法がおすすめです。

カメラ機能を使って別シートにデータを自動反映させるには、まずExcelのシート画面で[Alt]⇒[F]⇒[T]の順に押して「Excelのオプション」画面を表示し、「クイックアクセスツールバー」をクリック⇒メインエリア左側の「コマンドの選択」から「リボンにないコマンド」を選択⇒「カメラ」をクリック⇒「追加」ボタンをクリック⇒「OK」ボタンをクリックします。

「Excelのオプション」画面

たとえばグラフを別シートに自動反映させたい場合は、グラフが含まれるセル範囲を選択し、クイックアクセスツールバーにあるカメラアイコンをクリックします。

参照元シート

参照先のシートを開き、グラフを表示したい場所をクリックすると、グラフが自動反映されます。

カメラ機能で別シートのデータを自動反映した結果

方法5:Power Queryを使う

共通項目がある複数の表を結合して別シートに自動反映させたい場合は、Power Queryを使う方法がおすすめです。

Power Queryを使って別シートにデータを自動反映させるには、まず結合したい1つ目の表を選択して「データ」タブ⇒「テーブルまたは範囲から」をクリックします。

結合したい1つ目の表があるシート

Power Queryエディターが表示されたら、必要に応じて「クエリの設定」で「名前」を変更し、「ホーム」タブ⇒「閉じて読み込む」をクリックします。

Power Queryエディター

すると1つ目の表が新しいシートで作成されます。

Power Queryで表を読み込んだ結果

結合したい2つ目の表も同様の操作を行いますが、最終的に作成された新しいシートは削除してしまってOKです。

Power Queryで表を読み込んだ結果

新しいシートの表を選択して「クエリ」タブ⇒「編集」をクリックします。

Power Queryで新しく作成されたシート

共通項目以外で結合する際に不要な列がある場合は、必要に応じて左側の「クエリ」で表を切り替え、不要な列の見出しを右クリックして「削除」をクリックします。今回は「売上」表をベースに「商品」表の「単価」を結合したいので、「商品」表から「商品名」列を削除します。

Power Queryエディター

「ホーム」タブ⇒「クエリのマージ」をクリックします。

Power Queryエディター

「マージ」画面が表示されたら、ドロップダウンリストから結合するもう一方の表を選択します。

「マージ」画面

それぞれの表で共通項目をクリックして「OK」ボタンをクリックします。

「マージ」画面

値が「Table」となっている列の見出しの右端のボタンをクリックします。

Power Queryエディター

結合したい見出し名にチェックを付けて「OK」ボタンをクリックします。

Power Queryエディター

「Table」が正しい値に変わったことを確認して「ホーム」タブ⇒「閉じて読み込む」をクリックします。

Power Queryエディター

これで表が結合されます。

Power Queryで表を結合した結果

なお、元の表を変更した場合は、結合した表内にカーソルを置いて「クエリ」タブ⇒「更新」をクリックすると、変更が反映されます。

方法6:ドロップダウンリストを使う

文字列を選択肢として使いたい場合は、ドロップダウンリストを使う方法がおすすめです。

ドロップダウンリストを使って別シートにデータを自動反映させるには、まず選択肢として使用したいセル範囲を選択して右クリックし、「名前の定義」をクリックします。

参照元シート

「新しい名前」画面が表示されたら、任意の名前を付けて「OK」ボタンをクリックします。

「新しい名前」画面

選択肢を表示したいセルをクリックし、「データ」タブを開いて「データの入力規則」をクリックします。

参照先シート

「データの入力規則」画面が表示されたら、「設定」タブを開き、「入力値の種類」から「リスト」を選択⇒「元の値」に「=定義した名前」と入力⇒「OK」ボタンをクリックします。

「データの入力規則」画面

これで別シートのデータが選択肢として自動反映されます。

ドロップダウンリストで別シートのデータを自動反映した結果

入力方式を選択式にしたい方には、以下の記事もおすすめです。

Excelで別シートにデータが自動反映されないときの対処法

Excelで別シートにデータが自動反映されないときの対処法には、以下のようなものがあります。

  • シート名を半角シングルクォーテーションで囲む
  • 表示形式を「標準」にする
  • 未入力のセルにスペースを入力する
  • IF関数を使う

対処法1:シート名を半角シングルクォーテーションで囲む

シート名に空白がある」または「シート名が数字で始まる」といった場合は、シート名を半角シングルクォーテーションで囲むで囲むと良いでしょう。

たとえば、=Sheet1 (2)!A1のような数式を入力している場合は、「Sheet1 (2)」を半角シングルクォーテーションで囲めば良いので、='Sheet1 (2)'!A1のようにします。

参照元シート名を半角シングルクォーテーションで囲む

対処法2:表示形式を「標準」にする

参照先のセルに数式が表示される場合は、表示形式が「文字列」になっていることが原因と考えられますので、表示形式を「標準」にすると良いでしょう。

表示形式を「標準」にするには、まず参照先のセルを選択⇒「ホーム」タブ⇒「数値の書式」から「標準」を選択します。

参照先シート

参照先のセルの数式バーにカーソルを置いて[Enter]を押します。これで参照元のデータが反映されます。

参照先セルの表示形式を「文字列」にした結果

対処法3:未入力のセルにスペースを入力する

参照先のセルに「0」と表示される場合は、参照元のセルが未入力であることが原因と考えられますので、未入力のセルにスペースを入力すると良いでしょう。

参照元シート

参照元のセルにスペースを入力すると参照先のセルにもスペースが自動反映されるので、「0」と表示されなくなります。

参照元セルにスペースを入力する前の参照先セル
スペースを入力する前
参照元セルにスペースを入力した後の参照先セル
スペースを入力した後

対処法4:IF関数を使う

参照元のセルが未入力で参照先のセルに「0」と表示される場合は、IF関数を使って「セルが入力されていれば入力内容を自動反映し、入力されていなければ空白にする」という処理を行うのも良いでしょう。

IF関数(イフ関数)は、条件を満たす場合と満たさない場合とで処理を変える関数です。

IF関数の構文

IF(論理式, 真の場合, 偽の場合

論理式(必須)
条件を指定する。
真の場合(必須)
条件を満たす場合の処理を指定する。
偽の場合(必須)
条件を満たさない場合の処理を指定する。

このような処理を行うには、参照先のセルに以下のような数式を入力します。

=IF(参照元シート名!セル番地<>"",参照元シート名!セル番地,"")

たとえば、Sheet1のA1にSheet2のA1の内容を自動反映させたい場合は、Sheet1のA1に=IF(Sheet2!A1<>"",Sheet2!A1,"")と入力します。すると、Sheet2のA1が未入力でなければその内容が自動反映され、未入力であれば空白が表示されます。

参照元セルが未入力でない場合の参照先セル
参照元セルが未入力でない場合
参照元セルが未入力の場合の参照先セル
参照元セルが未入力の場合

Excelで別シートにデータを転記・蓄積する方法

「入力フォームに入力した内容を住所録に追加したい」といったように、別シートにデータを転記・蓄積したい場合は、「マクロ」を使いましょう。

以下の記事にて入力フォームのデータを住所録に転記・蓄積するマクロをご紹介していますので、興味のある方はぜひご覧ください。

Excelで条件に合うデータを別シートに抽出する方法

「IDで検索して一致する名前を別シートに抽出したい」といったように、条件に合うデータを別シートに抽出したい場合は、以下のような方法があります。

  • VLOOKUP関数を使う
  • HLOOKUP関数を使う
  • XLOOKUP関数を使う
  • INDEX関数を使う
  • FILTER関数を使う

詳しくは以下の記事をご覧ください。

Excelで別ファイルにデータを自動反映させる方法

Excelで別ファイルにデータを自動反映させる方法には、以下のようなものがあります。

  • 外部参照を使う
  • データの取得機能を使う

詳しくは以下の記事をご覧ください。

まとめ

今回は、Excelで別シートにデータを自動反映させる方法をご紹介しました。

別シートにデータを自動反映させるには、セル参照、INDIRECT関数、リンク貼り付け、カメラ機能、Power Query、ドロップダウンリストなどを使います。

それぞれ適したシーンが異なりますので、「何を自動反映させたいのか」「自動反映させて何がしたいのか」といったことをはっきりさせ、その目的に合った方法で自動反映させましょう。