Excel。行番号列番号からセル番地を構成できるADDRESS関数とは?
<ADDRESS関数>
使うことは滅諦にない関数というのも結構ありまして、ADDRESS関数というのもその一つではないでしょうか?
ADDRESS関数は、行番号と列番号で指定したセル番地を構成することができる関数なんです。
ADDRESS関数の読み方はそのものズバリ「アドレス」です。
ADDRESS関数の引数も確認しておきましょう。
ADDRESS(行番号,列番号,[参照の種類],[参照形式],[シート名])
関数の分類は、「検索・行列」に所属しています。
次の表を使って確認してみましょう。
ADDRESS関数も手入力するほうが楽な関数です。
というのも、入力途中で引数のフォローが入ってくれるからです。
参照の種類は、1の絶対参照から4の相対参照まで選択することができます。
1の絶対参照は、$B$4
2の行(絶対参照)/列(相対参照)は、B$4
3の行(相対参照)/列(絶対参照)は、$B4
4の相対は、B4
と設定できます。
今回は、「1」の絶対参照を採用しました。
次に設定するのが、「参照形式」
R1C1形式化、A1形式かを選択することができます。
今回は、「1」のA1形式を採用します。
シート名はこのシートとしますので、省略します。
完成した数式は、
=ADDRESS(4,2,1,1)
結果を見てみると、「$B$4」
えっ、B4の100が表示されるのでは?と思ったかもしれませんが、このADDRESS関数は、あくまでも、セル番地を構成するだけの関数なので、セルの内容を表示させるものではありません。
セルの内容を表示させるには、INDIRECT関数の力を借りる必要があります。
A1の数式を次のようにINDIRECT+ADDRESS関数のネストに変更してみます。
=INDIRECT(ADDRESS(4,2,1,1))
すると、B4のセル内容を表示することができました。
Excel VBAでつかうというのもいいですし、アイディアによって、使えそうな関数がExcelにはたくさんありますので、色々調べたり、組み合わせみると、現場で使えるものも沢山ありそうですね。