はじめに
『自セルが〇〇ならば書式を適用する』を実現するためにセルの条件付き書式設定を行う際やくだつのが自セル参照の数式です。
自セルの参照なので、セルに入力すると当然のことながら循環参照の警告が出ます。
なので、普段はあまり馴染みのない数式だと思います…が知っているといつか役に立つ日が来るかもしれません!
この記事では、自セルの参照を返す数式2パターンについて解説します!
自セルを参照するExcel数 2パターン
それでは数式2パターン、見てみましょう!
<例で使用している数式>
・A1形式
INDIRECT(ADDRESS(ROW(),COLUMN())))
・R1C1形式
INDIRECT("RC",FALSE))
セル参照を返すだけあって、INDIRECTちゃんが大活躍ですね!
自セルの参照を返してほしいという依頼は
結構珍しいです。
図で説明済みですが、
それぞれの数式について見てみましょう
INDIRECT(ADDRESS(ROW(),COLUMN())))
この式は4種類の関数のネストでやや複雑ですね
ROW関数とCOLUMN関数は引数を省略すると
それぞれ入力されているセルの行番号と列番号を返します
えっと
『セルB5』だとROW関数は5、COLUMN関数は2
…こういうことですか?
その通りです!
逆に辿る形になってしまいますが、
ADDRESS関数はROW関数とCOLUMN関数から受け取った
行番号と列番号をセル番地の文字列(『”B5″』など)
にして返します
あとは私(INDIRECT関数)が文字列を
セル参照に変えて返します
これで自セル参照が完成ですね!
INDIRECT(“RC”,FALSE))
この式は私にはちょっと難しいですね…
R1C1形式での表現に慣れていないと難しいかもしれません
第一引数の『”RC”』は原点、つまり
入力されているセルの番地のことです
第二引数の『FALSE』(『0』でもOK)は
第一引数の文字列をR1C1形式で読むという意味です
『TRUE』または省略時はA1形式として読みます
難しいっ…ですけど、数式がコンパクトですね
慣れない内は使いやすい方で良いと思いますよ
基本的には同じ意味の数式ですからね
ADDRESSも使ってもらえたら嬉しいです
A1のように相対参照セル番地としても良い(むしろ一般的でしょう)
もちろん条件付き書式で自セルを参照させるには自セルの相対参照でのセル番地(『A1』のような形式)で書いても問題ありません。(むしろこっちの方が一般的かと思われます。)
上記の2パターンの数式はどこのセルに入れても自セルを参照させるための数式です。
例えば、A1形式の相対セル参照での書き方ではセルB5に入力する時には『B5』、 セルC6に入力する時には『C6』 と入力しなくてはなりません。
上述2パターンの数式ですと、どのセルに入力する場合であっても数式を変更する必要がないという違いがあります。
おわりに
以前書いた記事の数式を作るのに自セルの参照について色々やっていて面白い話題だと思って記事にしてみました。
同じ自セル参照のはずなのにセルの条件付き書式では若干挙動が違うようで戸惑いました。
どうして違う挙動をするのか、私には原因が分かりませんでした。
条件付き書式設定の自セル参照で詰まった誰かの役に立てば幸いです!
最後までお付き合い頂き、ありがとうございました!
当ブログはエクセル関数の擬人化キャラクター記事をメインコンテンツとしています!
よろしければこちらの記事もどうぞ~!
コメント