中級

【Excel】
セルに名前を定義すれば関数や数式の管理が楽にできる


(約文字)

2018-08-27 2019-06-26

  • Keyword
  • Excel
  • セル
  • 名前
  • 定義
エクセルでセルに名前を定義して数式の管理を楽にする

エクセルでセルに名前を定義して数式の管理を楽にする

この記事では「エクセルの数式や関数の管理を楽にする方法」について解決します。

数式や関数を駆使した大きく複雑なシートを作ると、時間が経過して変更や見直しする時のメンテナンスが大変ですよね?

こんなシートのメンテナンスを楽にするのが「セルの名前定義」です。

セルの名前定義を利用すれば、数式や関数の理解が楽になり、作業が効率化されます。

特に「大きなセル範囲」「他シートのセル番地やセル範囲」を計算から参照する場合は、セルに名前を定義しておくと便利な場合があります。

この記事の説明に使用したサンプルファイルです。ダウンロードしご自身のパソコンでも確認してください。

1.【知識】エクセルのセル/セル範囲に名前を定義すると何が便利か?

エクセルで数式や関数の引数には通常”セル番地”を指定しますが、”ひとつのセル”や”セル範囲”に「名前」を付けておき、数式や関数からその名前を利用すると、数式や関数の内容が理解しやすくなります

以下では、

  • ①セルに名前を定義しない場合(通常の指定方法)」
  • ②セルに名前を定義した場合

を比較してみます。

①セル範囲に名前を定義しない場合(通常の指定方法)

まずは、通常の指定方法としてセル範囲に名前を付けない場合です。

=SUM(A3:E3)

①セル範囲に名前を定義しない場合(通常の指定方法)

この様に、SUM関数の引数”A3:E3”は何を表しているのか解かりませんので、SUM関数が何の合計を求めているのか不明です。

②セル範囲に名前を定義した場合

次に、セル範囲に名前を付けた場合です。

=SUM(五教科の得点)

②セル範囲に名前を定義した場合

この様に、SUM関数の引数が”五教科の得点”であるのが一目で判り、SUM関数が何の合計を求めているのかすぐ理解できます。

2.【知識】セル/セル範囲に名前を定義すると別シートを参照する場合が判りやすい

VLOOKUP関数の第2引数の参照先は別シートに作ることがよくありますが、参照先のセル名が長くなりがちで数式が判読しにくいです。

この場合、VLOOKUP関数の参照先のセル範囲に名前を付けて、VLOOKUP関数から利用すると数式が短くなるので、判読がしやすくなります。

以下では、「①セルに名前を付けない場合(通常の指定方法)」と「②セルに名前を付けた場合」を具体的に比較してみます。

①セル範囲に名前を定義しない場合(通常の指定方法)

①セル範囲に名前を定義しない場合(通常の指定方法)

この様に、VLOOKUP関数の第2引数で別シートを参照する場合、シート名や絶対参照を使うので、参照先のセル名が長く、数式が判読しにくいです。

②セル範囲に名前を定義した場合

②セル範囲に名前を定義した場合

この様に、VLOOKUP関数の第2引数が”商品マスタ表”であることが一目で判るので理解しやすいです。

数式の長さを比較

上記の、①セル範囲に名前を定義しない場合の数式の長さと、②セル範囲に名前を定義した場合の数式の長さを比較してみましょう。

①セル範囲に名前を定義しない場合の数式の長さ

=IFERROR(VLOOKUP($B3,'商品マスタ(セルに名前定義なし)'!$A$2:$D$7,2,FALSE),"")【62文字】

②セル範囲に名前を定義した場合の数式の長さ

=IFERROR(VLOOKUP($B3,商品マスタ表,2,FALSE),"")【40文字】

この様に、セル範囲に名前を定義しない場合の数式の長さは62文字、セル範囲に名前を定義した場合の数式の長さは40文字と”22文字”の差が生まれます。

これはVLOOKUP関数の第二引数の違いです。

特にセル範囲には名前を定義したほうが数式が短くなり理解が進むので、可能な範囲で名前の定義の利用をオススメします。

3.【基礎】エクセルのセル/セル範囲の名前定義の6つのルール

エクセルのセルやセル範囲に名前を付けるには、以下のルールに従い命名する必要があります。

命名ルール①:先頭に使える文字種

名前の先頭の文字は「英文字」「ひらがな」「カタカナ」「漢字」「アンダースコア(_)」が使用できます。これ以外の文字は使用できません。

命名ルール②:先頭以外に使える文字種

名前の先頭以外の文字は”命名ルール①”に加えて、「数値」「ピリオド(.)」「円記号(\)」も使用できます。

命名ルール①②の整理

命名ルール①②を整理すると下表になります。

文字種先頭文字先頭以外
英文字×
ひらがな×
カタカナ×
漢字×
アンダースコア(_)×
数値
ピリオド(.)
円記号(\)

命名ルール③:文字の長さは255文字まで

名前に使用できる文字数は最大255文字です(経験上長くても13文字程度にしましょう)。

命名ルール④:大文字と小文字は区別されない

名前は「大文字」と「小文字」が使用できますが、区別されず同じ文字として認識されます。 例えば、"LIST"と"List"と"list"は同じ名前として認識されます。

命名ルール⑤:スペースはNG

名前に「空白(スペース)」は使用できません。「半角スペース」「全角スペース」共にNGです。

命名ルール⑥:エクセルのシステムに競合する名前はNG

一文字の"C"、"c"、"R"、"r" はエクセルのシステムと競合するので使えません。又、セル番地も使えません。

エクセルのセル番地については、以下の記事で詳しく解説しています。ぜひご覧ください。

4.【基礎】セル/セル範囲の名前定義が適用される範囲(スコープ)

Excelのセルの名前定義は、指定した範囲内で一意にする必要があります。

既に付けた名前を、同じ範囲内で再定義することは出来ません。

但し、範囲が違えば、既につけた名前と同じものを使用できます。

例えば、以下の2つの例は、どちらも同じ名前を定義することが可能です。

  • 例①:ブックに適用される名前として”消費税率”と定義し、Sheet1に適用される名前として同じ”消費税率”と定義する
  • 例②:Sheet1に適用される名前として”評価基準”と定義し、Sheet2に適用される名前として同じ”評価基準”と定義する

但し、同名を定義するのは混乱の元になりますので、利用は控えたほうが良いでしょう。

5.【基礎】エクセルのセル/セル範囲に名前を定義する2つの方法

エクセルのセルに名前を定義する方法は、2種類あります。

  • ・セル/セル範囲に名前を定義する方法①:数式バーの[名前]ボックスを使う
  • ・セル/セル範囲に名前を定義する方法②:[新しい名前] ダイアログボックスを使う

以下では、これらの方法を具体的に解説します。

セルやセル範囲に名前を定義する方法①:数式バーの[名前]ボックスを使う

こちらはシンプルに指定できる方法ですが、名前が適用される範囲(スコープ)に制約があります。

「セル」又は「セル範囲」を選択>数式バーの左にある [名前] ボックスをクリック>名前を入力>【Enter】

セル/セル範囲に名前を定義する方法①:数式バーの[名前]ボックスを使う

注意点は、名前が適用される範囲(スコープ)が、ブック(エクセルファイル)全体になります。

セルやセル範囲に名前を定義する方法②:[新しい名前] ダイアログボックスを使う

こちらはチョット手間はかかりますが、名前が適用される範囲(スコープ)を自由に設定することが出来ます。

「セル」又は「セル範囲」を選択>[数式]タブ>[名前の定義]>[名前の定義]>[新しい名前]ダイヤログボクスで[名前]を指定>【OK】

セル/セル範囲に名前を定義する方法②:[新しい名前] ダイアログボックスを使う

名前の定義が適用される範囲(スコープ)は、[新しい名前]ダイヤログボクスの[範囲]で”ブック” 又は”ワークシート名”から適切範囲を選ぶ必要があります。

  • ・”ブック”を選べばブック全体に名前の定義が適用されます
  • ・”ワークシート名”を選べば、そのワークシートだけに名前の定義が適用されます

6.【応用】セル/セル範囲に定義された名前を変更する方法

セルに定義された名前は変更可能です。

[数式] タブ>[名前の管理]>[新しい名前]ダイヤログボクスで変更する名前を選択し[編集]>[名前]ボックスに新しい名前を入力>[OK]>[閉じる]

セル/セル範囲に定義された名前を変更する方法

名前を変更した場合、数式や関数内で既に使用している定義された名前も自動で変更されます。

7.【応用】セル/セル範囲に定義された名前を削除する方法

セルに定義された名前を削除できます。

[数式]タブ>[名前の管理]>削除する”名前”を選択>[削除]>[OK]>[閉じる]

セル/セル範囲に定義された名前を削除する方法

但し、数式や関数の中で使われている”名前”はそのままでセル番地に変更されないので、#NAME?エラーが発生してしまいます。

IFERROR関数などを使って、#NAME?エラーを表示させない様にもできますが、定義した名前の削除はやめておきましょう。

まとめ

このページでは、エクセルの「セルへの名前定義」について、以下を解説してきました。

  • ・エクセルのセル/セル範囲に名前を定義すると内容が理解しやすくなる
  • ・名前を定義すると別シートを参照する場合が特に判りやすくなる
  • ・エクセルのセル/セル範囲の名前定義には6つのルールがある
  • ・名前の定義が適用される範囲(スコープ)が決まっている
  • ・セル/セル範囲に名前を定義する方法は2つありスコープが変わる
  • ・定義された名前を変更でき、数式や関数で使っている名前も自動で更新される
  • ・定義された名前を削除できるがNAME?エラーになるのでやめたほうがいい

ご理解いただけましたでしょうか?

次は、あなたが実際にエクセル上で実際に作業してみて下さい。 自分の手を動かすことが、パソコンスキル向上の近道です。

この記事は以上です。