メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelの動的なワークシートまたはワークブック参照

Author Siluvia Last modified

複数のワークシートやワークブックに同じ形式のデータがあり、これらのワークシートやワークブックから別のシートにデータを動的に取得する必要があるとします。INDIRECT関数を使用すると、それを迅速に実行できます。

doc-dynamic-worksheet-reference-1

別のワークシートのセルを動的に参照する
別のワークブックのセルを動的に参照する


別のワークシートのセルを動的に参照する

例えば、4人の営業担当者の四半期ごとの売上が記載された4つのワークシートがあり、対応する営業担当者に基づいて四半期の売上を動的に取得するサマリーワークシートを作成したいとします。これを機能させるには、以下の数式が役立ちます。

汎用数式

=INDIRECT("'"&sheet_name&"'!データを返すセル")

doc-dynamic-worksheet-reference-2

1. 下のスクリーンショットに示すように、まず、異なるセルに個別にシート名を入力してサマリーワークシートを作成し、空白のセルを選択して、次の数式をコピーして貼り付け、Enterキーを押します。

=INDIRECT("'"&B3&"'!C3")

doc-dynamic-worksheet-reference-3

: コード内では、

  • B3は、データを取得するシート名が含まれているセルです。
  • C3は、特定のワークシート内のデータを取得するセルアドレスです。
  • B5(シート名のセル)またはC3(データを取得するセル)が空の場合にエラー値が返されるのを防ぐために、INDIRECT関数をIF関数で囲み、次のように表示してください:
    =IF(OR(B3="",C3=""),"",INDIRECT($B$3&"!C3"))
  • シート名にスペースがない場合は、この数式を直接使用できます。
    =INDIRECT(B3&"!C3")

2. 次に、フィルハンドルを下にドラッグして数式を他のセルに適用します。これで、特定のワークシートから第1四半期のすべての売上が返されます。

doc-dynamic-worksheet-reference-4

3. 必要に応じて、他の四半期のすべての売上も取得してください。また、数式内のセル参照を変更することを忘れないでください。

doc-dynamic-worksheet-reference-5


別のワークブックのセルを動的に参照する

このセクションでは、Excelで別のワークブックのセルを動的に参照する方法について説明します。

汎用数式

=INDIRECT("'[" & Book name & "]" & Sheet name & "'!" & Cell address)

下のスクリーンショットに示すように、「SalesFile」という名前の別のワークブックにある「Total sales」ワークシートの列Eに返したいデータがあります。以下の手順に従って操作を行ってください。

doc-dynamic-worksheet-reference-6

1. まず、データを取得するためのワークブック情報(ワークブック名、ワークシート名、参照セルなど)を入力します。この情報を基に現在のワークブックにデータを取得します。

2. 空白のセルを選択し、次の数式をコピーして貼り付け、Enterキーを押します。

=INDIRECT("'["&$B$3&"]"&$C$3&"'!"&D3)

doc-dynamic-worksheet-reference-7

:

  • B3には、データを抽出するワークブック名が含まれています。
  • C3はシート名です。
  • D3は、データを取得するセルです。
  • 参照されているワークブックが閉じている場合、#REF! エラー値が返されます。
  • #REF! エラー値を回避するには、INDIRECT関数を以下のようにIFERROR関数で囲んでください:
    =IFERROR(INDIRECT("'["&$B$3&"]"&$C$3&"'!"&D3),"")

3. 次に、フィルハンドルを下にドラッグして数式を他のセルに適用します。

doc-dynamic-worksheet-reference-8

ヒント: 参照されているワークブックを閉じた後に戻り値がエラーにならないようにするには、数式に直接ワークブック名、ワークシート名、セルアドレスを指定できます。次のようにします:
=INDIRECT('[SalesFile.xlxs]Total sales'!E3,"")


関連する関数

INDIRECT関数
Microsoft ExcelのINDIRECT関数は、テキスト文字列を有効な参照に変換します。


最高のオフィス生産性ツール

Kutools for Excel - あなたを群衆から際立たせるツール

🤖 Kutools AI Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |Kutools機能の呼び出し
人気の機能重複を見つける、ハイライトする、または特定する | 空白行を削除 | データを失うことなく列やセルを結合 | 数式を使わずに丸める...
スーパー VLookup複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト | 従属ドロップダウンリスト | 複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加 | 列を移動 | 非表示の列の可視化ステータスを切り替え | 列を比較して同じ&異なるセルを選択...
特徴的な機能グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト) | 日付ピッカー | ワークシートの統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線のフィルタリング...)...
上位 15 のツールセット: 12 個のテキストツール (テキストの追加, 特定の文字を削除...) | 50以上 チャート タイプ (ガントチャート...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算...) | 19 個の挿入ツール (QRコードの挿入, パスからの画像挿入...) | 12 個の変換ツール (単語に変換, 通貨変換...) | 7 個のマージ&分割ツール (高度な行のマージ, Excelセルの分割...) | ... さらに多くのツール
お好みの言語で Kutools を使用可能 - 英語、スペイン語、ドイツ語、フランス語、中国語など、40以上の言語に対応!

Kutools for Excel は300以上の機能を誇り、必要なものがワンクリックで手に入ります...


Office Tab - Microsoft Office(Excel含む)でタブ形式の閲覧と編集を有効にする

  • 数十の開いている文書を1秒で切り替える!
  • 毎日数百回のマウスクリックを減らし、マウス手から解放されます。
  • 複数の文書を閲覧・編集する際、生産性が50%向上します。
  • Chrome、Edge、Firefoxのように、タブ機能をOffice(Excel含む)にもたらします。