概念: 他のワークブック内のデータを参照する外部参照の使用
ワークブックでは、他のワークブック内にあるセルまたはデータ範囲を参照することもできます。このような参照を外部参照またはワークブック間参照と呼びます。
同じワークブック内にある他のシートへの参照も構文がよく似ているため、それについてもこのトピックで説明します。単独の参照を作成したり (等号と参照のみを使用)、参照を数式の引数にしたりすることができます。
コンシューマー ワークブックは、別のワークブック内のデータを参照する (取り込む) ワークブックです。プロデューサー ワークブックは、別のワークブックから参照されるデータを含むワークブックです。1 つのワークブックがコンシューマーとプロデューサーの両方になることもあります。

外部参照の作成
コンシューマー ワークブックでプロデューサー ワークブックへの参照を追加するには、コンシューマー ワークブックに対する "編集可能" 権限と、プロデューサー ワークブックに対する "表示可能" 以上の権限が必要です。
外部参照が含まれる数式を作成または修正すると、ワークシートではそれを行ったユーザーが記憶されます。ワークシートでは、数式の実行時に、外部参照されるワークブックにアクセスする権限がそのユーザーにあるかどうかがチェックされます。
プロデューサー ワークブックでは
、完全な参照をコピーし、それをコンシューマー ワークブックに貼り付けることができます。- 参照するデータを選択し、右クリックして"外部参照としてコピー"を選択します。
- コンシューマー ワークブックを開きます。参照を配置するセルに、等号 (=) を入力し、Ctrl + V キー (Windows) または Command + V キー (Mac) を押して参照を貼り付けます。
または、 に移動し、外部参照の残りの部分をコンシューマー ワークブックに手動で追加することで、プロデューサー ワークブックの Workday ID を取得することもできます。
コンシューマー ワークブックでは
、プロデューサー ワークブックの Workday ID をコピーしてから、定義名またはシート名とセル/範囲の参照を手動で追加できます。- 参照を配置するセルで を選択すると、アクセス権のあるすべてのワークブックが表示されます。
- プロデューサー ワークブックに移動してから"Workday ID のコピー"をクリックします。
- コンシューマー ワークブックで、等号 (=) を入力し、Ctrl + V キー (Windows) または Command + V キー (Mac) を押して Workday ID を貼り付けます。次に、定義名またはシート名とセル/範囲参照など、参照の残りの部分を入力します。
外部参照の更新
コンシューマー ワークブックでは、ワークブック ツールバーにグレーの
外部参照
アイコンが表示されます。プロデューサー ワークブックのデータが変更されると、アイコンが緑色に変わり、それをクリックしてコンシューマー ワークブックのデータを更新できます。"外部参照"
アイコンには、どの組織のワークブック権限でもアクセスできます。発生する更新は、"すべて再計算" を実行した
場合と同じです。プロデューサー ワークブックのデータが変更されてから、コンシューマー ワークブックの 外部参照
アイコンが緑色に変わるまで、最大 2 分の遅延が発生する場合があります。プロデューサー ワークブックのデータを変更する際に、コンシューマー ワークブックを開いたときに外部参照が自動的に更新されるように選択できますが、コンシューマー ワークブックを開いて "
外部参照"
アイコンをクリックして外部参照を手動で更新することもできます。"ファイル
" >"設定" を
クリックし、"ワークブックが開くたびに、外部ワークブックからデータを更新する"
チェックボックスをオンまたはオフにします。また、ライブ データのリフレッシュをスケジュールして、コンシューマー ワークブックの再計算を促すこともできます。コンシューマー ワークブックにライブ データが含まれていない場合でも、再計算を自動化するようにスケジュール設定したリフレッシュを設定できます。
たとえば、3 つのワークブックが結合している場合 (プロデューサー > コンシューマー/プロデューサー > コンシューマー) は、データ リフレッシュをスケジュールすることで、各ワークブックの更新を自動化できます。また、スケジュールされたリフレッシュを間隔があいていると、次のワークブックのデータが再計算される前に、1 つのワークブックのデータが最新であることが確認できます。
この方法により、ワークブック間のデータフローが自動化され、手動で更新する必要がなくなります。
- プロデューサー/コンシューマー ワークブックのリフレッシュをスケジュールします。プロデューサー/コンシューマー ワークブックで"データ">"ライブ データのリフレッシュのスケジュール"をクリックして、リフレッシュ時間を正午などに設定します。この操作により、プロデューサー ワークブックから取得されたデータが更新されます。
- コンシューマー ワークブックのリフレッシュをスケジュールします。コンシューマー ワークブックで、プロデューサー/コンシューマーのリフレッシュ後にリフレッシュ時間をスケジュールします (たとえば、午後 12:15 など)。これにより、コンシューマー ワークブックには、常に最新の再計算データが表示されます。
"ライブ データのリフレッシュのスケジュール"
オプションは、ワークブックの所有者のみが設定でき、スケジュールされたリフレッシュは 1 日 1 回のみ実行できます。構文ガイドライン
外部参照の場合:
- 角かっこ内にワークブックの Workday ID を入力してから、シート名とセルまたはセル範囲、あるいは定義名を入力します。プロデューサー ワークブックのフォルダ/パス情報は含めないでください。
シート間参照または外部参照の場合:
- セルの内容を等号 (=) で開始します。
- シート名が以下のいずれかに当てはまる場合は、名前を一重引用符 (') で囲みます。
- シート名の先頭が文字でも下線でもでない。
- シート名の 2 文字目以降が、文字、数字、ピリオド、下線のいずれでもない。
- シート間の参照の例:
- =Sheet1!A1:A4
- ='All Employees'!A1:A4
- ='All Employees'!DataArea1 (DataArea1 は定義名)
次の表に外部参照の例をいくつか示します。Workday ID は、読みやすくするために短縮されています。
=[9f9a1]January!A1 | Workday ID が「9f9a1」であるワークブックの "January" シートのセル A1 からデータを取得します。 |
=SUM([9f9a1]January!A1:B6) | Workday ID が「9f9a1」であるワークブックの "January" シートの範囲 A1:B6 のセル合計を表示します。 |
=[9f9a1]DataArea1 | Workday ID が「9f9a1」であるワークブックから定義名 "DataArea1" でデータを取得します。 |
=SUM([9f9a1]Regions!A1:B6) | Workday ID が「9f9a1」であるワークブックの "Regions" シートの範囲 A1:B6 のセル合計を表示します。 |
=SELECT("SELECT * FROM ?",ARRAYAREA([9f9a1]'Data Sheet'!A1)) | SELECT 関数を使用して、ワークブック 9f9a1 の Data Sheet シートから配列のデータを取得します。 |
外部参照に関する考慮事項
外部参照を使用する際は、以下のヒントに留意してください。
- プロデューサー ワークブック内のデータが変更された場合は以下のように動作します。
- 緑色の外部参照アイコンをクリックしてコンシューマー ワークブックを更新した場合のアクションは、"すべて再計算"の動作と同じ。
- シートを削除したり、ある範囲内に列を挿入したりしてプロデューサー ワークブック内のデータの配置を変更した場合、コンシューマー ワークブック内の参照は自動で更新されない。
- プロデューサー ワークブックにアクセスできなくなった場合、またはプロデューサー ワークブックが削除された場合は、外部参照からのデータに依存しているワークブック セルに #REF! エラーが表示されます。
- 作成したユーザーのアカウントが非アクティブになったために参照が無効になった場合、または作成したユーザーがプロデューサー ワークブックおよびコンシューマー ワークブックに対する権限を失った場合、ワークシートではワークブック内の失われた外部参照を割り当て直します。ユーザーがコンシューマー ワークブックに対する編集権限または所有者権限を持っており、プロデューサー ワークブックに対する表示以上の権限を持っている場合、"外部参照"アイコンをクリックすると、ワークシートで外部参照の修正が試みられます。ワークシートで参照の更新に失敗すると、#REF エラーが表示され、参照を手動で更新する必要があります。
- 構造化参照 (ライブ データ テーブル名/列名) を含む外部参照があり、テーブル名または列名を変更した場合、ワークシートではコンシューマー ワークブックが自動的に更新されないため、参照を手動で更新する必要があります。
- コンシューマー ワークブックのセルがまだ書式設定されていなければ、プロデューサー ワークブック内の参照に設定されている書式がコンシューマー ワークブックでも適用されます。参照されるプロデューサー ワークブックのセルの書式設定を後で変更した場合、新しい書式はコンシューマー ワークブックで適用されません。(同じワークブック内の参照でも、これと同じ動作が発生します)
- 数式バーの外部参照に含まれる Workday ID にカーソルを合わせると、プロデューサー ワークブックの名前が表示されます。
- プロデューサー ワークブックのグラフへの参照をコンシューマー ワークブックに追加することはできません。参照をコンシューマー ワークブックに配置するとエラーが発生します。
- ワークブックの所有者は、範囲保護を使用して、"編集可能" 権限を持つユーザーがプロデューサー ワークブックの内容を変更できないようにすることができます。ただし、コンシューマー ワークブックで範囲保護を使用しても、更新がプロデューサーからコンシューマーに継承されるのを防ぐことはできません。
- 特定のテナントでは、最大 10,000 個のコンシューマー ワークブックから単一のプロデューサー ワークブックを参照できます。最大 25 個のプロデューサー ワークブックが単一のコンシューマー ワークブックにデータを提供できます。
- NOTIFYIF 関数と NOTIFYIFS 関数は、プロデューサー ワークブックのデータが変更されても自動的には更新されないため、参照を手動で更新するか、スケジュールされたライブ データのリフレッシュを設定する必要があります。(ワークブックにライブ データが含まれている必要はありません。スケジュールされたリフレッシュによって再計算アクションが実行され、それによってコンシューマー ワークブックのデータが更新されます)