見出し画像

【エクセル】あなたは「INDIRECT関数」を知っていますか?

おはようございます。こんにちは。いたをです。

突然ですが、あなたはエクセルで「INDERECT(インダイレクト)関数」って知っていましたか?

えっ、初めて聞く名前でした?
あまり初心者向けのエクセル本には最初っから登場してこない関数ですよね。

INDIRECT(参照文字列, [参照形式])
指定される文字列への参照を返します。 セル参照はすぐに計算され、結果としてセルの内容が表示されます。 INDIRECT 関数を使うと、数式自体を変更しないで、数式内で使用しているセル参照を変更することができます。

Microsoft Support「INDIRECT関数」より
https://bit.ly/3t4gFHw

ナンジャコリャ???

といっても、一度この関数を理解して使い道を知ってしまえば、この関数なしには、仕事にならないというほど役立つ関数です。

INDIRECT関数自体、単独で活躍することはありませんが、裏方に徹して、地味に役立つ「素敵」関数なのですよ。

今日から数回にわたってそんな素敵な関数をご紹介していきます。

はじめまして♥INDERECT関数

INDIRECT(インダイレクト)関数をわかりやすく説明すると、「文字列で」指定したセル番地の値を表示するエクセル関数です。
太字にしているのは大事なポイントですので、頭の片隅にとどめてこの先を読んでみてください。

たとえば、任意のセルに「=A2」と入力すれば、そのセルからセルA2を参照できます。これは簡単ですね。

INDIRECT関数を使うと、上のように、参照するセルのアドレスを文字列で指定できるんですよ。

「なんじゃ、そりゃ?」
「何に使うの?」

そう思ったあなた!そのとおりです。
ここまでの説明だとこの関数の素敵なところが全くわかりません。

ポイントは
「参照するセルのアドレスを文字列で指定できる」
というところです(2回言ってますよ~)

文字列で指定できるのなら、参照したいセルのアドレスを自分で作っちゃえばいいんです!
例えばこんなのでも大丈夫。

エクセルでは文字列と数値を&演算子で結合して文字列を作ることができます。今回は文字列の"A"と数値の6を結合して、"A6"というアドレスを作りだしたわけです。

別の関数を組み合わせてみます

まだピーンときてない?
それでは以前ご紹介した「ROW関数」と組み合わせてみることにしましょう。

ROW([範囲])
引数として指定された配列の行番号を返します。

Microsoft Support「ROW関数」より
https://bit.ly/34JNWhW

列番号を返すROW関数を組み合わせてみました。
A1行を参照していますので、1が返されるわけです。
すなわちアドレス"A1"が作られましたので、INDERECT関数によって「香川」が返されるわけです。

あとは、オートフィルすれば・・・、

1つの式で出来ちゃいましたね。

別の関数を組み合わせてみます②

今度は、COUNTA関数と組み合わせてみましょう。COUNTA関数は任意のセル範囲に入力されているデータの個数を返してくれる関数です。

COUNTA(値 1, [値 2], ...)
COUNTA関数は、範囲に含まれる空白ではないセルの個数を返します。

Microsoft Support「COUNTA関数」より
https://bit.ly/3MN727L

引数が「A:A」と指定されているのは「常にA列全体の中で」という意味。
何がしかの入力が行われているセルの個数がカウントされるというわけです。ということは最終行は9行目ということになりますので、

このような式を立てることでアドレス”A9”を作り出して、最後の名前の入ったセルを表示させることができます。

まとめ

いかがでしたでしょうか?

SUM関数やSUMIF関数、VLOOKUP関数のようなメジャー級の関数も大切ですが、実務のエクセルは、今回ご紹介したINDIRECT関数のように、複数の関数を組み合わせて数式を作り出すことが結構ありますし、実際そちらのほうが重要だったりします。

発想次第でいろんなことに使える「素敵」関数としてINDIRECT関数を勉強、活用してみてください。

それではまた。

***


この記事が参加している募集

#最近の学び

181,931件

さいごまで読んでいただき、まことにありがとうございました。 もし面白い記事だったなぁと思っていただけたら、是非!ぜひ「スキ」や「シェア」をお願いします。 戴いたサポートは、皆様の応援に使わせていただき、時々モチベーションUPのためのビール代に使わせてくださいまし。