- INDIRECT はテキストとして構築された参照を評価してその内容を返すため、動的な参照が可能になります。
- A1 (デフォルト) および F1C1 スタイルをサポートします。複数シートのレポートでは SUM または VLOOKUP と組み合わせることができます。
- 外部参照ではソース ブックが開いている必要があります。グリッド外への参照ではエラーが返されます。
もしあなたが数式で指し示したいと思ったことがあるなら セル、範囲、または別のシートを動的に毎回数式を書き直す必要がないので、INDIRECT関数が便利です。この関数を使えば、テキスト、セル、またはその両方の組み合わせから参照を構築でき、Excelはその参照を評価して即座に内容を返します。
INDIRECTの利点は、 数式に触れずに数式が指すセルまたは範囲を変更するは、複数のシートにデータが分散しているレポート、ダッシュボード、テンプレートに最適です。また、他の関数(SUM、VLOOKUPなど)との連携も可能で、連鎖参照やレポートの一元管理を可能にします。
Excel の INDIRECT 関数は何をするのですか?
間接的な利益 テキストとして渡す参照の内容このテキスト文字列は、「B2」のように単純なものから、「'Sales 2024'!C5」のように複雑なものまで様々です。また、他のセルの値を取得し、& 演算子で連結して完全な参照を作成することもできます。
INDIRECTに送られた参照が有効な場合、Excelはそれを評価して そのセルまたは範囲の値を表示します参照が無効であるか、シートの境界外を指している場合は、状況に応じて #REF! や #VALUE! などのエラーが表示されます。
重要なニュアンスがあります。テキストを通じて別の本(ファイル)を参照する場合、 ソースブックが開いている必要があります 関数は参照を解決できます。ファイルが閉じられている場合、INDIRECTはエラー(#REF! または #VALUE!)を返します。
また、Excelはグリッド外の参照を受け入れません。テキストが行1.048.576または列XFD(16.384)を超える場合、 間接的解決はできず失敗する.
INDIRECT構文と引数
一般的な構文は =INDIRECT(参照;)最初の引数は必須、2 番目の引数はオプションであり、参照の解釈方法を制御します。
参照 これは評価したい参照を表すテキストです。リテラル文字列(例:"B3")、セルの内容(A2、A3など)、セルまたは範囲を指す定義済みの名前、あるいは&を使って複数の要素をリアルタイムで組み合わせた参照など、様々な形式が考えられます。
a1 参照形式を示すオプションの論理値です。TRUEの場合(または省略した場合)、Excelは次のように解釈します。 A1判; FALSEの場合、スタイル内の参照を考慮する F1C1この引数はセルを指す引数ではなく、参照の「言語」を定義する引数です。
refに渡したテキスト文字列が有効な参照を表していない場合(たとえば、構文が正しくない、範囲が存在しないなど)、 INDIRECTはエラーを返します 期待される値の代わりに、コンテキストに応じて #REF! または #VALUE! が返されます。
参照A1とF1C1(R1C1):その意味と使用時期
Excelでは最も一般的なスタイルは A1判列は文字(A、B、C、…)、行は数字(1、2、3、…)で識別されます。A10のようなアドレスは、列Aと行10の交差を示します。
代替スタイルは F1C1 (Fは行、Cは列を表します)ここで、座標は両方とも数値です。例えば、F5C10は行5と列10の交点を表します。 これは、プログラムによる参照の自動化や生成に役立ちます。.
実際には、INDIRECTの2番目の引数を指定しないかTRUEに設定した場合、関数は次のように動作します。 A1参照を F1C1 として解釈する必要がある場合は、XNUMX 番目の引数として FALSE を指定します。
基本的な例と期待される結果
INDIRECT が単純な参照、定義名、テキスト連結でどのように機能するかを理解するために、いくつかの典型的な状況を見てみましょう。 これらのパターンは、より複雑なシナリオの基礎となります。.
| データ | フォーミュラ | 説明 | 結果 |
|---|---|---|---|
| A2 = "B2"、B2 = 1,333 | =間接(A2) | この式はA2のテキスト(「B2」)をアドレスとして取得し、 B2の値を読み取る. | 1,333 |
| A3 = "B3"、B3 = 45 | =間接(A3) | 再び、A3はアドレスを保存します。間接 B3にあるものを返す. | 45 |
| B4には定義された名前(例:「George」)があり、その値は10です。 | =INDIRECT("ホルヘ") | この関数は、 定義された名前 関連付けられている値 (セル B4) を取得します。 | 10 |
| A5 = 5、B5 = 62 | =間接("B"&A5) | 参照は、「B」と A5 の 5 を連結することによって構築されます。 B5を指す. | 62 |
いずれの場合も 参照はテキストから来ている (リテラル、別のセル、または名前からの参照)。これが INDIRECT の本質です。つまり、有効な文字列を実際の参照に変換するのです。
使用方法の簡単な概要
迷子にならないための速達ガイドが必要な場合は、非常に便利で直接的なミニチートシートがあります。 日常使用向けに設計:
- フォームを使用する =INDIRECT(テキスト参照) Excel が保存または構築された参照をテキストとして評価できるようにします。
- 参照引数では、 完全な住所 (例: C2) または文字と数字を & で結合します (例: «C»&2)。
- 別のシートに移動するには、シート名とセルを含むテキストを作成します。 =INDIRECT(«'»&シート&»'!セル»).
シート名にスペースや特殊文字が含まれている場合は、 名前を一重引用符で囲む必要があります テキスト内: たとえば、「Sales Seville」など。
テキストとセルからの参照の構築
INDIRECTの大きな利点の一つは、各要素を連結して柔軟なパスを作成できることです。例えば、B1に列番号、B2に行番号を格納する場合、次のように記述できます。 =間接(B1 & B2) Excel はそのアドレスを指します。
一方、列を固定し、行を1つのセルだけ変更したい場合は、次のようにします。 =INDIRECT("C" & B2) 常に、B2 で示される行 C 列の内容が返されます。
これらの トリック 構築すると非常に強力になります セレクター付きパネル (データ検証、 ドロップダウンメニューなど)があり、特定の時点でどの方向を見るべきかを制御します。
他のシートや他の書籍への参照
別のシートを指すための基本的なパターンは =INDIRECT(«'»&シート名&»'!アドレス»)シート名がA1にあり、そのセルC1に移動したい場合は、次のようにします。 =間接(«'»&A1&»'!C1»).
このアプローチでは、以下のデータを収集した「要約」シートを作成することができます。 同一の構造を持つ複数のタブセル内のシート名を変更すると(またはドロップダウン メニューを使用して)、数式によってそのシートからデータが自動的に取り込まれます。
外部ブックの場合も考え方は似ていますが、条件が1つあります。それは、ファイルが開かれている必要があるということです。次のようなことを試してみましょう。 =INDIRECT("2月!"!BXNUMX") 本が閉じられている場合はエラーが返されます。 開けば動作します.
強力な組み合わせ: SUM、VLOOKUP、その他
INDIRECT関数は単独で使われることは稀です。他の関数と組み合わせることで、その魔法が発揮されます。例えば、シート名がA1である範囲B5からB3までの合計を求めるには、次のように記述します。 =SUM(INDIRECT(«'»&A3&»'!B1:B5»)).
シート間の動的な検索を構築するには、 VLOOKUP関数 間接的から: =VLOOKUP(E2; INDIRECT(«'»&D1&»'!A3:D6»); 4; FALSE)D1の内容を別シート名に変更することで、数式に触れずに検索を調整します。
シートの複数の部分で範囲を再利用したいだけの場合は、次のように参照を生成できます。 =INDIRECT(«'»&D1&»'!A3:D6») そして、自分に合った役割でそれを使用してください。
行または列を挿入するときに参照をロックする
重要な詳細:古典的な参考文献、例えば = A5 上に行を挿入すると更新されます(=A6になります)。代わりに、 =INDIRECT("A5") セルが空であったり、他の内容が含まれていても、アドレス A5 はテキストとして引き続き参照されます。
これは、 式は一方向に固定されたままである 行や列の挿入や削除によってシートを再構成しても、意図を持って使用する必要があります。ただし、A5 に「以前」あった値を本当に追跡したい場合は、直接参照する方が適切かもしれません。
ケーススタディ: タブ間の都市別売上
各都市(バルセロナ、マドリード、セビリア、ビルバオ)のスプレッドシートがあり、すべて同じ範囲に同じ表が配置されているとします。セレクターで選択した都市に基づいて主要な数値を表示するレポートを作成したいとします。 INDIRECTはぴったりフィット.
手順:「レポート」シートを作成し、都市のドロップダウンリストを含むセルを追加します(たとえば、 D3)を作成し、集計表を作成します。その表のE7セルに、 =間接($D$3&»!B2″) 選択した都市の B2 にあるデータを取得します。
象徴 $ D3への参照を設定すると、数式をテーブル全体にコピーまたはドラッグすると、 セレクタを常に読み続ける次に、D3で「Sevilla」を「Madrid」に変更すると、数式によって「Madrid」シートからB2が自動的に取得されます。
必要な残りのセル(B3、B4など)に対してパターンを繰り返し、都市シート間で同じレイアウトを維持し、マッピングの一貫性を保ちます。 メンテナンスは最小限.
連鎖参照と柔軟な構築
INDIRECTは連鎖参照にも適しています。例えば、A1にテキスト「B1」があり、B1に数字5がある場合、 =間接(A1) 最初に A1 (つまり B1) を解き、次に B1 の値 (つまり 5) を返します。
興味深いのは、アドレスを数式自体の文字とセル内の行に分割できることです。 =INDIRECT("B" & A5) Excel は列 B と列 A5 の数値を連結し、その交差点の値を返します。
このタイプの構造は、 同じ形状の行列 複数のシートで、各タブで数式を繰り返さずに特定のセルに取り込みたい。
良い習慣、限界、よくある間違い
名前にスペースや特殊文字が含まれるシートへの参照を作成する場合は、 常に一重引用符で囲む チェーン内では、「Sales Sevilla」が正しい形式です。
Excelグリッドの外側(XFDまたは1.048.576行目を超える)のアドレスを作成しようとすると、 この関数では解決できない エラーが表示されます。これは純粋な論理です。存在しないものを要求しているのです。
他のファイルへの外部参照を使用する場合は、必ず参照先のブックを開いてください。開いていない場合は、 INDIRECTはルートを評価できません 状況に応じて #REF! または #VALUE! を返します。
連結時に #VALUE! が表示される場合は、変換されていない数値を含むテキストを追加していないか、引用符と感嘆符の構造が正しいかを確認してください。 正しく組み立てられている (特に葉に関して言えば「'Leaf'!Cell」)。
日常生活に役立つ例
A3シートに月のリストがあり、選択した月に対応するシートのB1からB5までの合計を計算したいとします。 =SUM(INDIRECT(«'»&A3&»'!B1:B5»)) A3 で月を変更すると、変更される合計が表示されます。
他の計算に適用されるダイナミックレンジを定義するには、 =INDIRECT(«'»&D1&»'!A3:D6»)このフレーズは、D3 に名前があるシートの範囲 A6:D1 を構築し、そこから SUM、AVERAGE、またはルックアップに適合させます。
何らかの理由でF1C1スタイルを使用したい場合は(たとえば、数値インデックスを扱うマクロやモデルなど)、 2番目の引数を調整する: =INDIRECT("F5C10"; FALSE) を使用すると、Excel は文字列を F1C1 形式で解釈します。
レポートとダッシュボードのヒント
目的地名(都市、月、商品)を1つのシートにまとめ、データの入力規則を使用して選択します。 セレクターを変更するだけです レポートの残りの部分は自動的に更新されます。
シート間の構造を標準化します(同じヘッダー、同じ主要指標の位置)。この一貫性により、次のような数式が作成可能になります。 =INDIRECT(«'»&セレクター&»'!固定セル») 頭痛に悩まされることなく仕事ができる。
行や列が挿入された場合でも参照を固定する必要がある場合は、直接参照を次のように変更します。 固定テキストの間接こうすることで、Excel がパスを自動的に調整するのを防ぐことができます。
これらの考え方を習得すると、INDIRECT 関数はワイルドカードになります。 動的な参照、複数シートのレポート、堅牢な数式 小さな構造変更でも壊れない、シンプルながらも非常に多機能なツール。Excelブックを次のレベルへと引き上げます。
バイトの世界とテクノロジー全般についての情熱的なライター。私は執筆を通じて自分の知識を共有するのが大好きです。このブログでは、ガジェット、ソフトウェア、ハードウェア、技術トレンドなどについて最も興味深いことをすべて紹介します。私の目標は、シンプルで楽しい方法でデジタル世界をナビゲートできるよう支援することです。
