ExcelでINDIRECT関数を使ってシート名を数式で参照する方法

IT
この記事は約4分で読めます。

意外に知られていない素人臭いExcel講座です。 
今回は大量のシートを集計して推移表を作る時に、INDIRECT関数を使ってシート名を自動的に参照させる方法です。

スポンサーリンク
スポンサーリンク

状況説明

Excelで1つのシートに1ヶ月分のデータ(今回の場合は試算表)があり、それが大量に(今回は12ヶ月分)並んでいます。

この状態から、一つシートを追加して以下のような12ヶ月通期の推移表(以下通期シート)を作りたいと考えています。とりあえず以下の通り、表の枠だけ作りました。

この状況から各月の勘定科目別の金額を入力していくわけですが、まず、1セル1セル値貼り付けで入力するのは、個別のシートに変更があった時に通期シートにその変更が反映されないので採用できません。

というわけで、vlookup関数を使ってみるかということで、1月分を以下のようにvlookup関数で参照してみました。ここまではうまくいっています。

しかし、ここからが問題です。1月の列の数式をそのままコピーして12月のところまで一気に引き伸ばしたいところですが・・・

ところが、やってみるとわかりますが、シート名が1月、2月、3月・・・と綺麗に並んでいても、コピーした数式はそんな都合よくシート名を参照してくれません。以下のように、1月のシートを参照したままになってしまいます。

できればあと11回もvlookupを記述したくありません。ということでどないしましょうということに相成りました。

INDIRECT関数とは

さて、今回のテーマのINDIRECT関数です。

INDIRECT関数というのは、平たく言うと、文字列を関数の中に”関数の一部として”取り込むことを可能にするものです。例えば以下のように、E2セルに入力されているセル名A1を参照したいときに、”=INDIRECT(E2)”と記述することで、”E2セルの内容を介して”A1セルを参照することができます。

これを応用すると以下のようなことができます。ちなみに”1月”シートのA1セルには”みかん”と入力されています。

上の式を説明しますと、if関数の「~だったら」の部分は「”1月”シートのA1セルが”みかん”だったら」を表しています。”INDIRECT(D2&”!A1″)”の部分はそのまま関数の一部になります。普通だと、「’1月’!A1」と記述するべき部分です。

ややこしいのは、普通に記述したら出てくる「’」(シングルクオーテーション)がなくなって、!A1を「”」(ダブルクオーテーション)で囲う必要があるということです。

ダブルクオーテーションで囲う理由は、「!A1」が文字列なんですよ!ということを明示するためです。原田なりに一応この2つの理由を考えてみたのですが、あんまり納得いく説明はできそうにないので、そういうもんだと思って覚えてしまっています。

なお、「INDIRECT(D2&”!A1″)」の部分を「INDIRECT(D2)&”!A1″」としてしまうとうまくいきませんので、ご注意ください。!A1も含めて、INDIRECT()の中にあるものをまとめて関数の一部にしときますね、ということですね。

解決策

というわけで解決策です。INDIRECT関数を使って、通期シートを楽々で作ってしまいましょう。

まずどこか一つのセル(例えば1月の売上のところ)に「=VLOOKUP($B3,INDIRECT(C$2&”!$B:$C”),2,FALSE)」と入力します。以下パーツごとに説明します。

  • $B3:”売上”をキーにしています。常にB列の勘定科目を引っかけるために、「B」の前に$マークをつけています(絶対参照)。
  • INDIRECT(C$2&”!$B:$C”) :「C$2」の部分が「1月」です。常に2行目を参照するために「2」の前に$マークをつけています(絶対参照)。
  • 2:参照したい数字はb:cの範囲の2列目ですので「2」です。
  • FALSE:あいまい参照しないので”FALSE”です。

さて、準備が整いました。

このC3セルを他のすべての月、すべての勘定科目のところにまとめてコピーしましょう。そうすると、INDIRECT関数の中の部分もまとめて相対参照で「ずらして」くれます。

原田は初めてこの関数を知った時、中々の感動を覚えました。みなさんも機会があれば是非やってみてください。

スポンサーリンク
スポンサーリンク
京都市の税理士・公認会計士事務所 原田会計のご紹介
10年を超える監査の経験で培った会社の経営分析能力を活かし、親しみやすい人柄で経営者さんの悩みを総合バックアップします!
売上が伸びない、利益が残らない、税金のことで相談したい、内部管理体制をしっかりしたい、資金管理が心配、といった悩みをお持ちの経営者さんは是非一度、原田会計までご相談ください。
詳しいプロフィールやサービス内容、お問い合わせはHPへお越しください。
IT
ストレスフリーで生きていく

コメント

タイトルとURLをコピーしました