名前の有効範囲−ブックレベル、シートレベル
シート内からのみ参照可能な名前を「シートレベルの名前」といい、
ブック全体から参照可能な名前を「ブックレベルの名前」という。


まずは、「シートレベルの名前」と「ブックレベルの名前」を作ってみる。
「Sheet1」シートのセルA1に対し、「bookLevel」という名前を、ブックレベルで定義する。
「Sheet1」シートのセルA1を選択する。


リボンの《数式》タブ->《定義された名前》グループ->《名前の定義》ボタンを押す。


《新しい名前》ダイアログボックスが出てくる。《名前》に「bookLevel」と入力する。
《範囲》が「ブック」であることを確認し、《参照範囲》が「=Sheet1!$A$1」になっていることを確認できたら、OKボタンを押す。
これで、「ブックレベルの名前」の「bookLevel」ができた。


「Sheet1」シートのセルA2に対し、「sheetLevel」という名前を、シートレベルで定義する。
「Sheet1」シートのセルA2を選択する。


リボンの《数式》タブ->《定義された名前》グループ->《名前の定義》ボタンを押す。


《新しい名前》ダイアログボックスが出てくる。《名前》に「sheetLevel」と入力する。
《範囲》を「Sheet1」と設定し、《参照範囲》が「=Sheet1!$A$2」になっていることを確認できたら、OKボタンを押す。
これで、「シートレベルの名前」の「sheetLevel」ができた。


「名前」がどのように定義されているかを確かめるため、リボンの《数式》タブ->《定義された名前》グループ->《名前の管理》ボタンを押す。


《名前の管理》ダイアログボックスが出てくる。《範囲》列には、名前が「どのレベルで定義されたか」が書いてある。
「ブック」と書いてあれば「ブックレベルの名前」、シート名が書いてあれば「シートレベル」であって、その名前が「有効」なシート名が表示されている。
左図の場合、「Sheet1」シートで「sheetLevel」という名前が有効であることを示している。


これらの名前が、使用可能かどうか検証してみる。
「ブックレベルの名前」である「bookLevel」を使ってみる。「Sheet1」シートのセルB1に「=bookLevel」と入力する。


入力を確定すると、セルA1と同じ内容が表示された。
「ブックレベルの名前」である「bookLevel」は、「Sheet1」シートでは有効である。


「シートレベルの名前」である「sheetLevel」を使ってみる。
「Sheet1」シートのセルB2に「=sheetLevel」と入力する。


入力を確定すると、セルB1と同じ内容が表示された。「シートレベルの名前」である「sheetLevel」は、「Sheet1」シートでは有効である。


次に「Sheet2」シートで同じことをしてみる。
セルB1は「=bookLevel」、セルB2には「=sheetLevel」と入力する。
左図はその結果であるが、シートレベルの名前は「#NAME?」エラーが起きてしまった。「エクセルには"sheetLevel"という名前はわからない」ということである。
つまり、「シートレベルの名前」は「その名前が定義されたシート内でのみ」有効であり、「ブックレベルの名前」は「どのシートからも」有効である、ということである。