「Excelの作業、もっとラクにできないかな…」と感じたことはありませんか?そんなあなたにおすすめなのが、INDIRECT(インダイレクト)関数です。今回は、パソコンやスマホにあまり詳しくない方でも理解できるよう、INDIRECT関数の基本から活用例まで、やさしく解説します。
INDIRECT関数とは?
文字列でセルを参照する関数
INDIRECT関数は、文字列で指定したセルの値を取得する関数です。たとえば、セルに「B2」と入力し、セルに「=INDIRECT()」と入力すると、にはセルB2の値が表示されます。
これは、に入力された「B2」という文字列を、セルの参照先として認識し、そのセルの値を取得する仕組みです。
基本的な構文
INDIRECT関数の基本的な書き方は以下の通りです。
=INDIRECT(参照文字列, )
- 参照文字列: 参照したいセルのアドレスを文字列で指定します。
- 参照形式: 省略可能で、TRUE(または省略)で形式、FALSEでR1C1形式を指定します。
通常は形式を使用するため、参照形式は省略して問題ありません。
このサイトをチップで応援
INDIRECT関数の活用例
シート名をセルから参照する
複数のシートからデータを集計したい場合、INDIRECT関数を使うと便利です。たとえば、各店舗の売上データが「東京」「大阪」「名古屋」などのシートにあるとします。集計シートで、セルに「東京」と入力し、セルB2に「=INDIRECT(& “!B2”)」と入力すると、「東京」シートのB2セルの値を取得できます。
このように、シート名をセルから動的に参照することで、複数のシートからのデータ集計が簡単になります。
ドロップダウンリストと連動させる
ドロップダウンリストを使って、選択肢に応じて表示内容を変えたい場合にもINDIRECT関数が役立ちます。たとえば、セルに都道府県名のリストを作成し、セルB1に市区町村名のリストを表示させたい場合、セルB1のデータの入力規則に「=INDIRECT()」と設定します。
これにより、選択した都道府県に対応する市区町村のリストが表示され、入力ミスの防止や作業効率の向上につながります。
VLOOKUP関数と組み合わせる
INDIRECT関数は、VLOOKUP関数と組み合わせて使うこともできます。たとえば、会員種別ごとに異なる料金表があり、セルに会員種別(「ゴールド」「シルバー」など)、セルに商品名を入力するとします。各料金表には名前が定義されており、INDIRECT関数を使ってVLOOKUP関数の検索範囲を動的に変更できます。
=VLOOKUP(, INDIRECT(), 2, FALSE)
この数式により、会員種別に応じた料金表から商品価格を取得することができます。
よくある質問や疑問
INDIRECT関数を使うとエラーが出るのはなぜですか?
INDIRECT関数でエラーが出る主な原因は、参照先のセルやシートが存在しないことです。たとえば、セルに「Sheet1」と入力し、実際には「Sheet1」というシートが存在しない場合、「=INDIRECT(& “!B2”)」はエラーになります。参照先が正しく存在するか確認しましょう。
INDIRECT関数は他のブックでも使えますか?
INDIRECT関数で他のブックを参照する場合、参照先のブックが開いている必要があります。参照先のブックが閉じていると、INDIRECT関数はエラーを返します。他のブックを参照する際は、必ず開いている状態で使用してください。
まとめ
INDIRECT関数は、文字列でセルやシートを動的に参照できる便利な関数です。シート名の参照やドロップダウンリストとの連動、他の関数との組み合わせなど、さまざまな場面で活用できます。
最初は難しく感じるかもしれませんが、使いこなせるようになると、Excelの作業効率が大幅に向上します。ぜひ、実際に試してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント