• 公開日:

エクセルでシートを連動させる関数

この記事では、エクセルでシートを連動させる関数をご紹介します。

「データを変更すると参照先のシートにも連動して更新される関数」「シート名が特定のセルに連動して反映される関数」の2つの関数を紹介します。

それぞれ例を用いて説明しているので、ぜひ日常の業務でご活用ください。

エクセルでシートを連動させる関数

エクセルでシートを連動させる関数をご紹介します。

INDIRECT関数

データを変更すると参照先のシートにも連動して更新される関数には、「INDIRECT関数」があります。

INDIRECT関数は、セルの参照を文字列で指定する関数です。セルだけではなく、他のシートも参照することができます。

書式は「=INDIRECT(参照文字列,[参照形式])」のように記述します。

使い方については、以下をご参照ください。

ExcelのINDIRECT関数の使い方|セルや他のシートを参照する

CELL関数

シート名が特定のセルに連動して反映される関数に、「CELL関数」もあります。

CELL(セル)関数は、Excelにおいてセルの内容や書式、位置等を調べることが出来る関数です。

書式は「=CELL(検査の種類,[参照])」のように記述します。

以下の記事で、使い方について解説しています。

ExcelのCELL関数の使い方|指定したセルの情報を得る

INDIRECT関数でシートを連動させる方法

以下、INDIRECT関数を使ってシートを連動させる方法をご紹介します。

シートを準備する

今回は、「各店舗の売上比較表」シートのB列に「A店」「B店」「C店」シートのB12セルの売上データを表示します。

INDIRECT関数を入力する

「各店舗の売上比較表」シートを選択します。

②B3セルに「=INDIRECT(」と入力します。

セル参照を指定する

INDIRECT関数の引数「参照文字列」として、シート名とB12セル("A店!B12")を指定します。

シート名はA列を参照できるため、「=INDIRECT(」に続いて「A3&」と入力します。

「&」を付けることで、後の文字列が結合されます。

「!」を付けてセルを指定する

「=INDIRECT(A3&」に続いて「"!B12")」を入力し、Enterを押します

「!」を付けることで、シートを参照しているという意味になります。

オートフィルする

結果(例:171)が表示されました。

「=A店!B12」でも結果は同じですが、INDIRECT関数を使えば1つずつ参照せず数式をコピーできるので便利です。B3セルのフィルハンドルをダブルクリックまたは下にドラッグします。

連動されるか確認する

「A店」「B店」「C店」シートに入力されている売上データが「各店舗の売上比較表」シートに反映されました。

試しにデータを変更してみます。

別シートのデータを変更する

「A店」シートを選択し、②B12セルに「200」と入力し変更します。

シートが連動された

「各店舗の売上比較表」シートを選択して確認すると、データの変更に伴って、自動的にB3セルのデータも「200」に変更されていることがわかります。

INDIRECT関数を使って、別シートのデータを連動させて表示することができました。

ドロップダウンリストでシートを連動させる

INDIRECT関数の活用方法として、ドロップダウンリストでシートを連動させることができます。

以下、ドロップダウンリストでシートを連動させる方法をご紹介します。

シートを準備する

今回は、「各店舗の売上合計」シートのA3セルに設定するドロップダウンリストで店舗名を切り替えて、「A店」「B店」「C店」シートの売上データを表示されるようにします。

データの入力規則を選択する

「各店舗の売上合計」シートを選択します。

ドロップダウンリストを設定したいセル(例:A3セル)、③データタブ、④「データの入力規則」の順に選択します。

リストを作成する

「データの入力規則」ダイアログボックスが表示されます。

「入力値の種類」でリストを選択し、②「元の値」にそれぞれの店舗名(例:A店,B店,C店)を入力します。

「OK」ボタンを押します

リストが作成できた

店舗名のドロップダウンリストが設定できました。

①ドロップダウンリストの右側の三角ボタンを押して、②任意の選択肢(例:A店)を選択しておきましょう。

INDIRECT関数を入力する

INDIRECT関数を使って、A3セルで選択した店舗名のシートを参照する数式を入力します。

B3セルに「=INDIRECT(A3&"!B12")」と入力します。

別シートのデータが参照された

結果(例:171)が表示されました。

試しにドロップダウンリストの店舗名を変更してみます。

プルダウンで変更する

①ドロップダウンリストの右側の三角ボタンを押して、②別の店舗名(例:B店)を選択します。

別シートのデータに連動された

店舗名の変更に伴って、参照されるシートが切り替わり、データが変更されました。

ドロップダウンリストの選択肢に応じて、別シートのデータを連動させて表示することができました。

CELL関数でシートを連動させる方法

以下、CELL関数を使ってシートを連動させる方法をご紹介します。

なお、CELL関数のほかにLEN関数、FIND関数、RIGHT関数も使用するので、それぞれの使い方については次の記事をご確認ください。

ExcelのLEN関数の使い方|半角と全角の区別なく文字数を返す

ExcelのFIND関数の使い方|文字列が最初に現れる位置を検索

ExcelのRIGHT関数の使い方|文字列の右側から指定した文字数を返す

シート名を連動させる例

今回は、シート名「A店」をB1セルに表示します。

エリアを用意する

それぞれの関数をわかりやすく説明するためにエリアを設けます。

CELL関数を入力する

CELL関数を使って、ファイルパスを取得します。

G2セルに「=CELL("filename")」と入力し、Enterを押します

LEN関数を入力する

パスを取得できました。次に、LEN関数を使ってパス全体の文字数を数えます。

G3セルに「=LEN(G2)」と入力し、Enterを押します

FIND関数を入力する

パスの総数が返りました。次に、FIND関数を使って「"]"」の位置を調べます。

G4セルに「=FIND("]",G2)」と入力し、Enterを押します

RIGHT関数を入力する

「"]"」の位置が返りました。次に、RIGHT関数を使ってパスの総数(例:69)から"]"の位置(例:67)を差し引いた文字分を取り出します。

G5セルに「=RIGHT(G2,G3-G4)」と入力し、Enterを押します

すべての関数をつなげる

すると、シート名「A店」が返されます。

一つの数式でシート名を表示したい場合は、任意のセル(例:B1セル)に「=RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")))」と入力し、Enterを押します

シート名を変更する

シート名「A店」が表示されました。試しに、シート名を変更してみます。

「やまだ店」と入力し、Enterを押します

シート名が連動された

シート名の変更に伴って、自動的にB1セルも「やまだ店」に変更されていることがわかります。

CELL関数を使って、シート名を連動させて特定のセルに反映することができました。