Excel 名前定義機能(5)名前定義の本質について切り込む

Excel 一歩先へ

スポンサーリンク

Excelの名前定義機能について、前回まで4回にわたり一般的な事項を述べてきたが、今回からそろそろ、私の見解をメインとした記事を書いていきたい。

可変的なセル範囲に名前定義を設定する

上図でいうD2:D6とかのセル範囲に名前定義を付けるやり方の例を、この間の記事で扱ったりしたが、こんな決まりきったセル範囲に名前定義を付ければいいなんて生易しいケースは、実際の業務では期待しない方が良いと思う。

実際の業務では、D6セルの下にも数字が幾つ続くのか全然分からなくて、それにも対応できるようにしないといけないのが当たり前だ。

では、そういう風に幾つデータがあっても対応できる方法、可変的なセル範囲にも対応できる方法というのは、名前定義に限らず様々な場面で問われることだが、それをどうするか。

答えを言うと、

=OFFSET($D$1,1,0,COUNTA($D:$D)-1,1)…式①

などというワケの分からん式を組まないといけない。

別解としては
=$D$2:INDEX($D:$D,COUNTA($D:$D),1)
といったところか。

これらの式の意味は、今回は解説とかしないけどね。

そしてこの式①を、<Ctrl+F3>「名前の管理」から追加する。

そんでこのセル範囲を合計したい場合なんかは

=SUM(売上高)…式②
といった数式を組めば良い・・・というところで、大体のテキストとかの解説は終わっているはずだ。

突っ込みどころ

・・・もうなんかね、自分で書いててしょうもないと思うんだけど、皆この辺で突っ込みどころを感じてるのか感じてないのか。
何が突っ込みどころかって、そりゃもうね・・・。

=OFFSET($D$1,1,0,COUNTA($D:$D)-1,1)…式①
=SUM(売上高)…式②

式①みたいなクソ複雑な式を名前定義に組み込めるんだったら、それを式②でSUM式の中なんかに入れ込む必要あるのかってこと。
式②を全部丸ごと、「=売上高計算式」とでもいう名前定義にすることができるんじゃないのかってことだ。

つまり式①と②を両方合わせた

=SUM(OFFSET($D$1,1,0,COUNTA($D:$D)-1,1))…式③
の式を名前定義にしてしまえば良いだけのことじゃないのかよって突っ込みが入ってほしいところなのだ。

そしてその突っ込みは正しい。式③を名前定義に組み込むことで、下図のようにきちんと合計する計算式となる。

名前定義機能の本質とは

また、定数を名前定義に組み込む方法の記事で、0.07という数値に「利率」という名前定義を付けてみた。

その「利率」名前について上図の「参照範囲」欄は「=」から始まっていて、定数とはいっても実際には数式となっている。

ここまで書けば、私の言いたいことは分かっていただけるのではないかと思うが、はっきり述べよう。

名前定義機能の本質

Excelの名前定義機能とは、セル範囲に対して設定するものor定数に対して設定するものと世間では思われているかも知れないが、それは誤解というか、名前定義機能のごく一部でしかない。

名前定義機能の本質とは、数式に名前を付けることだ
SUM関数はもちろん、その他の複雑な数式にも名前を付けることができる。

だから、「$D$2:$D$6」みたいな決まりきったセル範囲に名前を付けるなんてチンケな使い道しかないという理解をしてたらアカンのだ。

スポンサーリンク