【Excel】エクセルで別シートのセルを参照・表示方法(関数・置換・空白・できないやずれる原因と直し方も・数式とINDIRECT) | モアイライフ(more E life)
エクセル初心者向けの関数note販売中♪

~実務で即使えるサンプル付きで徹底解説~

→エクセルで人生が大変化する第一歩♪

【Excel】エクセルで別シートのセルを参照・表示方法(関数・置換・空白・できないやずれる原因と直し方も・数式とINDIRECT)

Excelのスキルアップ
本サイトでは記事内に広告が含まれています

エクセルで作業していると、「別シートのデータを参照したい」「他のシートの値を表示させたい」「シート間で置換したい」「参照がうまくできない」「参照がずれる原因を知りたい」「空白の場合の処理方法を知りたい」といった場面に遭遇することはありませんか? 複数シートでデータを管理する場合、シート間の連携は必須のスキルでしょう。

この記事では【Excel】エクセルで別シートを参照・表示方法(関数・置換・空白・できないやずれる原因と直し方も・数式とINDIRECT)について解説していきます。

ポイントは

・イコール記号とシート名で別シートのセルを参照
・INDIRECT関数で動的にシートを参照
・絶対参照と相対参照を使い分けて参照ずれを防止

です。

それでは詳しく見ていきましょう。

 

スポンサーリンク

エクセルで別シートを参照する基本方法1【数式で直接参照】

エクセルで別シートのデータを参照する最も基本的な方法は、イコール記号(=)を使ってシート名とセル番号を指定して直接参照することです。

この方法なら、参照元のデータが変更されると自動的に参照先にも反映されるため非常に便利でしょう。

例えば、以下のような状況を考えてみましょう。

「データシート」に入力されている情報を「集計シート」で参照して表示したい場合に有効です。

解決方法

まず、参照先のシート(集計シート)を開き、データを表示したいセル(例えばB2)をクリックして選択しましょう。

セルに「=」と入力してから、画面下部にあるシートタブから参照元のシート(データシート)をクリックします。

データシートに切り替わったら、参照したいセル(例えばB2)をクリックして、「Enter」キーを押してください。

すると、集計シートのセルに以下のような数式が自動的に入力されます。

=データシート!B2

この数式の構造は「=シート名!セル番号」となっています。データシートのB2セルの値が変更されると、集計シートのセルも自動的に更新されます。

数式を手動で入力する場合も、同じ形式で記述できます。シート名にスペースや特殊文字が含まれている場合は、シート名を単一引用符(’)で囲む必要があります。

=’データ シート’!B2

複数のセルを参照したい場合は、数式をオートフィルでコピーすれば、他のセルにも同じ参照関係を適用できます。

範囲全体を参照する場合は、以下のように記述します。

=SUM(データシート!B2:B10)

計算を含めることもできます。

=データシート!B2+データシート!B3

この数式なら、データシートのB2とB3の合計を表示します。

【操作のポイント:イコール記号とシート名で別シートのセルを簡単に参照できる】

 

エクセルでINDIRECT関数を使って別シートを動的に参照する方法2【柔軟な参照】

シート名を固定せず、セルの値に応じて参照先を変更したい場合もあるでしょう。

そんな時に役立つのが、INDIRECT関数を使って文字列からシート名を組み立てて動的に参照する方法です。

この方法なら、ドロップダウンリストでシートを選択したり、複数シートから自動的にデータを収集したりできます。

複数の月次シートから選択的にデータを取得したい場合に有効です。

解決方法

まず、参照したいシート名をセルに入力します。例えば、A1セルに「1月」と入力しましょう。

データを表示したいセル(例えばB2)に、以下のINDIRECT関数を入力してください。

=INDIRECT(A1&”!B2″)

この数式は、A1セルの文字列(シート名)と「!B2」を結合して、「1月!B2」という参照を作成します。A1のシート名を「2月」に変更すれば、自動的に参照先が「2月!B2」に変わるわけです。

より複雑な例として、シート名とセル番号の両方を動的にする場合は以下のようになります。

=INDIRECT(A1&”!”&B1)

この数式なら、A1にシート名、B1にセル番号(例:B2)を入力すれば、その組み合わせで参照できます。

ドロップダウンリストと組み合わせると、さらに便利です。A1セルにデータの入力規則でリストを設定し、「1月,2月,3月」などのシート名を選択できるようにしてください。

複数のセルを同時に参照する場合は、範囲指定も可能です。

=SUM(INDIRECT(A1&”!B2:B10″))

この数式は、選択したシートのB2からB10までの合計を計算します。

INDIRECT関数のエラー対策として、IFERROR関数と組み合わせることをおすすめします。

=IFERROR(INDIRECT(A1&”!B2″),”シートが存在しません”)

この数式なら、参照先のシートが存在しない場合にエラーメッセージを表示できます。

注意点として、INDIRECT関数は揮発性関数のため、ファイル全体が再計算されるたびに評価されます。大量に使用するとファイルが重くなる可能性があるため、必要な箇所にのみ使用してください。

【操作のポイント:INDIRECT関数なら動的にシート名を変更して柔軟に参照可能】

 

エクセルで別シートを参照して空白を表示する方法3【0を非表示】

別シートを参照すると、参照元が空白の場合に「0」が表示されてしまうことがあります。

そんな時には、IF関数を使って参照元が空白の場合は空白を返す方法で対処する必要があります。

この設定により、見た目もすっきりした表が作成できます。

参照元が空白なのに参照先に0が表示されてしまう場合の対処法です。

解決方法

通常の参照数式では、参照元が空白の場合に0が表示されます。

=データシート!B2

この問題を解決するには、IF関数で参照元が空白かどうかをチェックします。

=IF(データシート!B2=””,””,データシート!B2)

この数式は、データシートのB2が空白の場合は空白(””)を返し、データがある場合はそのデータを表示するわけです。

複数のセルを参照する場合も、同じ方法が使えます。

=IF(データシート!B2=””,””,データシート!B2+データシート!C2)

関数と組み合わせる場合は以下のようになります。

=IF(INDIRECT(A1&”!B2″)=””,””,INDIRECT(A1&”!B2″))

より短く記述したい場合は、以下のような方法もあります。

=IF(データシート!B2<>””,データシート!B2,””)

この数式は「空白でない場合にデータを表示」という逆の条件で記述していますが、結果は同じです。

数式を変更せずに0を非表示にする方法として、表示形式を変更する方法もあります。セルを選択して右クリック→「セルの書式設定」→「表示形式」タブで「ユーザー定義」を選択し、以下の形式を入力してください。

0;-0;;@

この表示形式なら、0が自動的に非表示になります。ただし、意図的に0を表示したい場合もあるため、状況に応じて使い分けることが重要です。

【操作のポイント:IF関数で空白チェックすれば参照元が空白の時に0が表示されない】

 

エクセルで別シートを参照できない・ずれる原因と対策4【エラーと修正方法】

別シートを参照する際に、エラーが表示されたり、参照がずれたりすることがあります。

そんな時には、よくあるエラーの原因を理解して、適切に対処する方法を知っておく必要があります。

これらの対処法を理解すれば、ほとんどの参照エラーを解決できます。

参照がうまくいかない、またはコピーすると参照がずれる場合の対処法です。

原因と解決方法

**原因1:#REF!エラー(参照エラー)**

シート名を変更したり、シートを削除したりすると、#REF!エラーが表示されます。

=#REF!A1

対処法:「データ」タブ→「クエリと接続」→「リンクの編集」から参照先を修正するか、数式を正しいシート名で書き直してください。

**原因2:参照がずれる問題(相対参照)**

数式をコピーすると、セル番号が自動的に変わってしまいます。

=データシート!B2

この数式を下にコピーすると、B3、B4…と変わります。

対処法:固定したいセル番号に$マークを付けて絶対参照にします。

=データシート!$B$2

行だけ固定したい場合は「$B2」、列だけ固定したい場合は「B$2」のように記述します。「F4」キーを押すと、相対参照→絶対参照→複合参照と切り替わるため便利です。

**原因3:#VALUE!エラー(値エラー)**

参照先のセルに文字列が入っているのに、数値として計算しようとするとエラーになります。

対処法:参照先のデータ型を確認し、必要に応じてVALUE関数やTEXT関数で変換してください。

=VALUE(データシート!B2)

**原因4:循環参照エラー**

参照元と参照先が互いに参照し合うと、循環参照エラーが発生します。

対処法:参照の流れを見直し、一方向の参照になるように修正してください。「数式」タブ→「エラーチェック」→「循環参照」で該当セルを確認できます。

**原因5:シート名の入力ミス**

シート名のスペルミスや、存在しないシート名を指定すると#REF!エラーになります。

=データシイト!B2 ‘「シート」の入力ミス

対処法:シート名を正確に入力するか、シートタブをクリックして自動入力を活用してください。

**原因6:ファイルを閉じた状態での参照**

参照元のファイルを閉じた状態で数式を編集すると、ファイルのフルパスが表示されて複雑になります。

=’C:\Users\[ファイル名.xlsx]データシート’!B2

対処法:参照元のファイルを開いた状態で数式を作成・編集すると、シンプルな形式で表示されます。

**原因7:置換でシート参照が壊れる**

「Ctrl + H」で置換を実行すると、数式内のシート名も置換されてエラーになることがあります。

対処法:置換前にバックアップを取るか、「検索する場所」を「数式」以外に指定してください。また、置換対象を慎重に選択し、「すべて置換」ではなく「次を検索」で一つずつ確認しながら置換することをおすすめします。

これらの原因を一つずつチェックすれば、ほとんどの参照エラーは解決できるでしょう。

【操作のポイント:絶対参照と相対参照を使い分けて参照ずれを防止し、エラーは原因を特定して対処】

 

まとめ エクセルで別シートの表示方法(置換・空白・できないやずれる原因と直し方も)

エクセルで別シートを参照する方法をまとめると、イコール記号とシート名で別シートのセルを簡単に参照でき、「=シート名!セル番号」という基本構文で実現し、オートフィルで複数セルにも適用可能です。

また、INDIRECT関数なら動的にシート名を変更して柔軟に参照でき、ドロップダウンリストと組み合わせれば複数シートから選択的にデータ取得でき、IF関数で空白チェックすれば参照元が空白の時に0が表示されず見た目が整います。

さらに、絶対参照($マーク)を使えば参照ずれを防止でき、F4キーで簡単に切り替え可能で、#REF!エラーはシート名の変更や削除が原因のため正しいシート名に修正し、循環参照エラーは参照の流れを一方向に見直す必要があります。

これらの方法を状況に応じて使い分けていけば、ほとんどの別シート参照の問題を解決できます。

特にイコール記号による基本的な参照と絶対参照の使い方は最も重要な基礎知識として、複数シート管理の必須テクニックとしてマスターすることをおすすめします。

ただし、INDIRECT関数は揮発性関数のため大量使用はファイルを重くする可能性があり、置換機能使用時は数式内のシート名も置換される可能性があるため慎重に実行することも大切でしょう。

エクセルの別シート参照機能を正しく理解して、効率的な複数シート管理とデータ連携を実現していきましょう!

コメント

スポンサーリンク
タイトルとURLをコピーしました