HOME > 数式 > 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合

 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合

エクセル2007では、「ブックレベルの名前」と同じ名前を持つ「シートレベルの名前」を定義できる。
この場合、どちらも参照できるシートから参照すると、「シートレベルの名前」が優先的に使われる。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
1

左図の「Sheet1」シートのセルA1に、ブックレベルの名前「dupName」を付ける。

「Sheet1」シートのセルA1を選択する。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
2

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

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
3

《新しい名前》ダイアログボックスが出てくる。《名前》に「dupName」と入力する。

《範囲》が「ブック」であることを確認し、《参照範囲》が「=Sheet1!$A$1」になっていることを確認できたら、OKボタンを押す。

これで、「ブックレベルの名前」の「dupName」ができた。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
4

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

「Sheet1」シートのセルA2を選択する。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
5

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

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
6

《新しい名前》ダイアログボックスが出てくる。《名前》に「dupName」と入力する。

《範囲》を「Sheet1」と設定し、《参照範囲》が「=Sheet1!$A$2」になっていることを確認できたら、OKボタンを押す。

これで、「シートレベルの名前」の「dupName」ができた。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
7

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

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
8

《名前の管理》ダイアログボックスが出てくる。《範囲》列には、名前が「どのレベルで定義されたか」が書いてある。

「ブック」と書いてあれば「ブックレベルの名前」、シート名が書いてあれば「シートレベル」であって、その名前が「有効」なシート名が表示されている。

左図の場合、「Sheet1」シートで「dupName」という名前が有効であることを示している。ブックレベル、シートレベルの名前が競合していることがわかる。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
9

このような状況下で、「dupName」という名前が、どう扱われるか検証してみる。

「Sheet2」シートのセルB1に「=dupName」と入力する。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
10

入力を確定すると、「Sheet1」シートのセルA1と同じ内容が表示された。

「Sheet2」シートでは、シートレベルの「dupName」は有効でないので、ブックレベルの「dupName」が使われる。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
11

「Sheet1」シートのセルB1に「=dupName」と入力する。

すると、ブックレベルとシートレベルの名前どちらかを使うか問われるが、ここは「ワークシート」を選択すれば「=dupName」と入力されるので、「ワークシート」を選ぶ。

エクセル 2007 名前の有効範囲−ブックレベル、シートレベルの名前が競合した場合
12

入力を確定すると、セルA2と同じ内容が表示された。

ブックレベル、シートレベルの名前が競合した場合、シートレベルが優先的に選ばれることがわかる。