名前の定義について INDIRECT関数も組み合わせて使おう。

機能

Excelの機能である名前の定義を利用すると範囲の指定が楽になります。
また、Excel関数や入力規則と組み合わせる事でできることが増えるので是非覚えてください。

スポンサーリンク

名前の登録方法について

登録方法は色々ありますが、私が使用しているやり方を3つ紹介します。

範囲選択して名前ボックスで入力

名前を付けたい範囲を選択して名前ボックスにつけたい名前を入力してEnterキーで登録することが出来ます。

先ほど設定した範囲を選ぶと名前が付いていれば名前が表示されます。

この方法は表などに名前を定義する際にすぐに出来るのでお勧めです。

選択範囲から作成

まず範囲を選択します。

リボンの数式⇒定義された名前の部分にある選択範囲から作成をクリックします。

クリックすると画像の画面が表示されますので定義名の位置を選択してOKを押します。

1つ目の方法との違いは上端行を名前にしたので一番上は範囲に入っていません。

氏名・郵便番号・住所が追加されています。

また、複数列に指定したので名前が複数作成しています。
1つだけ作成したい場合は1列のみ選択して行ってください。
この方法はタイトル列ごとに定義する時に一括作成出来て便利です。

名前の定義から作成

リボンの数式⇒定義された名前の名前の定義をクリックします。

名前に定義したい名前を入力し、参照範囲で範囲を設定してOKをクリックします。

作成した名前の管理

定義した名前はリボンの数式⇒定義された名前の名前の管理で行います。

間違えて追加してしまった場合はこちらから削除しましょう。

テーブルを使用して行を追加できるようにしておく

定義後に行数増やした場合に自動的に範囲を変えるには?

名前の定義は絶対参照になっており通常のやり方で行の追加できません。
テーブルにしておくと気にせず下に追加できるようになります。

リボンの挿入⇒テーブルからテーブルの作成を行えます。
これをしておくと行を追加しても範囲が自動的に増えるようになります。

定義した名前の使用方法

定義した名前を使用する方法について説明します。

入力規則で使う。

入力規則はセルの入力を制限する機能です。
よく使うのはドロップダウンリストを追加してリストから選択させる使い方ですね。

使い方です。まず入力規則を設定したいセルを選択します。
リボンのデータ⇒データツールの中のデータの入力規則をクリックします。

入力値の種類からリストを選択します。

元の値部分に =定義した名前 を入力しOKをクリックします。

定義したリストがドロップダウンで表示されるようになりました。

定義した名前を簡単に入れたい場合

定義した名前はF3のキーを押すと簡単に貼り付けることが出来ます。

関数で使う

関数で範囲を指示していた部分は名前に置き換えることが出来ます。
大規模の表は別シートに作成することが多いので毎回範囲を選択せずに済みますね。

次に使い方の応用を説明していきます。

活用例

INDIRECT関数を使用して入力規則のリストを変化させる

画像のようにドロップダウンリストを変化させたい場合の方法を説明していきます。

最初にカテゴリ用のリストを作成し名前を定義します。
次にカテゴリで使用した項目のリストを作成します。
今回は画像通りのタイトル名で1列ずつ名前を付けています。
※画像のように密集させる必要はありません

カテゴリの入力部に入力規則でドロップダウンリストを作成します。

項目の入力規則に下記の関数を入力しOKを押します。
=INDIRECT($A$3)
A3の部分はカテゴリの入力位置を指定しています。

カテゴリの入力部が空白だとこのメッセージが出ますが
はい を選択してかまいません。

以上で完成です。カテゴリごとに項目のリストが変わるようになりました。

VLOOKUP関数などの範囲を変更する

関数の範囲を条件によって分岐させたい場合はINDIRECT関数を使用して定義した名前を指定すると範囲を変えることが出来ます。

INDIRECT(インダイレクト)関数とは?

INDIRECT関数は参照先の文字列を範囲として扱う関数です。
範囲が1つのセルだと画像のようにA1の参照となります。
関数の使い方は
=INDIRECT(参照文字列,参照形式)
参照形式はA1形式もしくはR1C1形式かを選べますが省略するとA1形式となります

まずINDIRECT関数のみに変えた場合は関数内を名前ではなく文字列にする必要が有ります。この状態でも名前の定義と同じ状況です。
INDIRECT関数は範囲を意味する文字列を使ってセル参照する関数なので
参照文字列が定義した名前と同じになりば良いんです。

INDIRECT関数を使用することによって参照文字列自体をセル参照にしたり
セル参照&文字列で文字列を作成することが出来ます。

こうすることで参照の範囲を条件によって変化できるようになります。

選択した項目によって画像を変化させる。

画像のリンク貼り付け・名前の定義・INDIRECT関数を組み合わせると
選択した内容によって画像をさせることが出来ます。

検索値と画像名の紐づけにVLOOKUPで使用できる表を用意しておきます。

画像を置いておく範囲に画像ごとに名前を定義しておきます。
範囲の大きさは実際に画像を表示させる大きさにしておくと良いです。

次に定義した範囲をコピーして画像を表示したい位置で右クリック⇒形式を選択して貼り付け⇒その他貼り付けオプションの画像のリンク貼り付けをクリックします。

画像はappleホームページより

定義した位置に画像を配置するとリンク貼り付けされた画像にも表示されていれば成功です。

次にリストの変更によって画像が変化するようにします。

画像はappleホームページより

名前を定義した画像1,画像2,画像3に画像を設置します。

設定した画像名が検索値で出てくるようにVLOOKUPなどを使用して出しておきます。
今回はI6のセルに設定しました。

次に画像変化用の名前を定義します。

重要なのが画像名を表示するセルをINDIRECT関数を使用することです。
こう設定しないと画像を変化することはできません。

リンク貼り付けを行った画像を選択すると数式の部分がセル参照になっています。
その部分を先ほど作成した選択画像という名前に変更すると検索値で画像が変化するようになります。

如何でしょうか、このように画像もVLOOKUP関数を使用したみたいに変わるようになりました。
枠が気になる場合は、リンク貼り付けをした画像をトリミングをして小さくするとキレイに表示することが出来ます。

まとめ

最後まで閲覧して頂きありがとうございました。
最後にこの記事のまとめです。

名前の定義まとめ

  • 名前を定義するとセルの参照がスムーズになる。
  • 定義した名前はテーブルにしておくと行追加時に楽になる。
  • INDIRECT関数を使用してVLOOKUPなどの範囲を変化できるようになる
  • INDIRECT関数と名前の定義・図のリンク貼り付けを活用すると画像も変化させることが出来ます

コメント

タイトルとURLをコピーしました