VLOOKUPとCOLUMN

Excelで、Sheet1のA列にある文字を検索、検索値と一致したその行に対応するZ列の値をVLOOKUPで拾ってくる場合、
=VLOOKUP(検索文字列,'Sheet1'!A:Z,26,FALSE)
と書けば、間に合いますが、Sheet1のA列〜Z列の間に挿入があった場合、例えば1列挿入があったことにしましょう。そうすると、上の式は、自動的に、範囲の部分は広がってくれて、下のようになります。
=VLOOKUP(検索文字列,'Sheet1'!A:AA,26,FALSE)
しかしながら、範囲内で26列目を参照するという部分は相変わらずなので、本当はAA列の値を拾って欲しいのに、Z列の値を拾うようになります。上の式の26を27に書き換えなければならない。ウザいです。
そこで、あらかじめ、
=VLOOKUP(検索文字列,'Sheet1'!A:Z,COLUMN('Sheet1'!Z1),FALSE)
このような書き方にしておくと、同じようにSheet1に1列挿入があった場合でも、
=VLOOKUP(検索文字列,'Sheet1'!A:AA,COLUMN('Sheet1'!AA1),FALSE)
と自動的に書き変わり、相変わらず目的の列の値を拾ってくれるようになりました。
ROWやCOLUMNはROW()、COLUMN()と書いて、自分のいる行番号や、列番号をもらうくらいしか使い道が無いなあと思っていたのですが、こういう場合ではCOLUMNのかっこの中に特定のセルを指定することにより、セルの位置の動的な変化に対応できるようになるんだなぁと、今更ながら感心しました。日々勉強の毎日です。