例による INDIRECT 関数の分析

一見すると(特にヘルプを読むとき)、関数は 間接 (間接) シンプルで不必要にさえ見えます。 その本質は、リンクのように見えるテキストを本格的なリンクに変えることです。 それらの。 セル A1 を参照する必要がある場合は、習慣的に直接リンクを作成する (D1 に等号を入力し、A1 をクリックして Enter キーを押す) か、 間接 同じ目的のために:

例による INDIRECT 関数の分析

関数の引数 (A1 への参照) が引用符で囲まれていることに注意してください。実際には、ここではテキストです。

「まあ、わかりました」とあなたは言います。 「で、メリットは?」 

しかし、第一印象で判断しないでください – それは欺瞞です. この機能は、多くの状況で役立ちます。

例 1.転置

ジャンルの古典: 垂直直径を回す必要があります

グルーブを水平に(トランスポーズ)。 もちろん、特別な挿入または関数を使用できます 輸送 (転置) 配列数式で、しかし、あなたは私たちの 間接:

例による INDIRECT 関数の分析

ロジックは単純です。次のセルのアドレスを取得するには、文字「A」を特殊文字「&」と現在のセルの列番号で接着します。これは関数によって得られます。 カラム (桁).

逆の手順は、少し異なる方法で行う方がよいでしょう。 今回はセル B2、C2、D2 などへのリンクを形成する必要があるため、古典的な「海戦」の代わりに R1C1 リンク モードを使用する方が便利です。 このモードでは、セルは列番号のみが異なります: B2=R1C2、C2=R1C3、D2=R1C4 等々

ここで、オプションの関数の XNUMX 番目の引数の出番です。 間接. 等しければ 横たわっている (NS)の場合、R1C1 モードでリンクアドレスを設定できます。 したがって、水平方向の範囲を垂直方向に簡単に戻すことができます。

例による INDIRECT 関数の分析

例 2. 間隔ごとの合計

関数を使用して、シート上の特定のサイズのウィンドウ (範囲) を合計する XNUMX つの方法を既に分析しました。 廃棄 (オフセット). 同様の問題は、次を使用して解決することもできます 間接. 特定の範囲期間からのデータのみを要約する必要がある場合は、それを断片から接着してから、関数内に挿入できる本格的なリンクに変えることができます (和):

例による INDIRECT 関数の分析

例 3. スマート テーブルのドロップダウン リスト

Microsoft Excel では、スマート テーブル名と列が完全なリンクとして扱われないことがあります。 たとえば、ドロップダウン リスト (タブ データ – データ検証) 列に基づく 職員 スマートテーブルから のワークプ エラーが発生します。

例による INDIRECT 関数の分析

関数でリンクを「ラップ」すると 間接、Excel は簡単​​にそれを受け入れ、新しい従業員をスマート テーブルの最後に追加すると、ドロップダウン リストが動的に更新されます。

例による INDIRECT 関数の分析

例 4. 壊れないリンク

ご存知のように、Excel は、シートの行列を挿入または削除するときに、数式内の参照アドレスを自動的に修正します。 ほとんどの場合、これは正しく便利ですが、常にそうとは限りません。 名前を従業員ディレクトリからレポートに転送する必要があるとします。

例による INDIRECT 関数の分析

通常のリンク (最初の緑色のセルに =B2 を入力して下にコピー) を配置すると、たとえば Dasha を削除すると、#LINK が取得されます。 彼女に対応する緑色のセルのエラー。 (#REF!)。 リンク作成機能を利用する場合 間接 そのような問題はありません。

例 5: 複数のシートからデータを収集する

異なる従業員 (Mikhail、Elena、Ivan、Sergey、Dmitry) からの同じタイプのレポートを含む 5 つのシートがあるとします。

例による INDIRECT 関数の分析

すべてのテーブルの商品と月の形状、サイズ、位置、および順序が同じであると仮定してみましょう。数字だけが異なります。

次の XNUMX つの式だけで、すべてのシートからデータを収集できます (合計するのではなく、下に重ねて配置します)。

例による INDIRECT 関数の分析

ご覧のとおり、考え方は同じです。指定されたシートの目的のセルにリンクを貼り付けます。 間接 それを「ライブ」に変えます。 便宜上、表の上に列 (B、C、D) の文字を追加し、右側に各シートから取得する必要がある行番号を追加しました。

落とし穴

使用している場合 間接 (間接) その弱点について覚えておく必要があります。

  • 別のファイルにリンクする場合 (角括弧で囲まれたファイル名、シート名、およびセル アドレスを接着することにより)、元のファイルが開いている間のみ機能します。 閉じると、エラー #LINK! が表示されます。
  • INDIRECT は動的な名前付き範囲を参照できません。 静的 - 問題ありません。
  • INDIRECT は揮発性または「揮発性」関数です。つまり、通常の関数のようにセルに影響を与えるだけでなく、シートの任意のセルの変更に対して再計算されます。 これはパフォーマンスに悪影響を与えるため、大きな INDIRECT テーブルに夢中にならないようにすることをお勧めします。

  • 自動サイズ変更でダイナミック レンジを作成する方法
  • OFFSET 関数を使用してシートの範囲ウィンドウを合計する

 

コメントを残す