名前定義での数式定義では、選択中のセルに対する相対で記述できる

Excelでは名前定義という機能を使うことで、セル範囲や定数、数式を1箇所にまとめておくことができる。

数式の定義では、普通の数式と同じようにセルを直接記述できる。例えば「=A1+B1」のように、相対位置でセルを指定できる。この際、基準セルとなるのが「名前定義の際に選択していたセル」となる。

名前定義には3つの入力があるということ。

  1. 名前:
  2. 基準位置: 名前定義の際に選択していたセル
  3. 範囲
    • 定数
    • 相対または絶対位置で指定するセル範囲
    • 相対または絶対位置のセルを用いて定義される数式

そのため、以下の2つのケースは別の意味を持つ。

  1. C1セルを選択中に、名前「ADD1」を参照範囲「=A1+B1」で定義
    • 2つ左のセルと1つ左のセルを加算
  2. D1セルを選択中に、名前「ADD2」を参照範囲「=A1+B1」で定義
    • 3つ左のセルと2つ左のセルを加算


初めは選択中のセルが意味を持つことを知らず、2時間以上も思ったとおりに動作しない状態が続いてしまった。「エクセルで特定のセルにある関数式を複数の場所で利用できる?」で回答者が以下のように「H2のセルを選択する(必須)」と書いていた所に気づき、ようやく「選択中のセルに対する相対で記述できる」事に気づいた。

あるシートで「H2セルを選択する」(必須)
挿入メニューの名前の定義で次の通り登録する
名前 H2の式
参照範囲
=IF(!H5=TEXT(NOW(),""),"",IF(COUNTIF(!H5,"*42*"),1,IF(COUNTIF(!H5,"*LA*"),2,IF(COUNTIF(!H5,"*67*"),3))))
「H5」じゃなく「!H5」なので,間違えないように作成します

各シートのH2セルに
=H2の式
と記入する。