タグ別アーカイブ: INDIRECT関数

名前機能について

皆さんは、学生時代に友達にあだ名とかつけていませんでしたでしょうか?

例えば、佐藤という苗字の友人が複数いたら、呼ぶのに便利ですよね?

このあだ名はエクセルを使用する際にも結構、有効活用できます

エクセルのセミナーを行っていて、「あれ?あまり知られていないな・・」と感じたのが名前機能です

これは結構、便利なのでぜひ有効活用して頂きたいと思います

この名前機能を有効活用すると、次のGIF画像のようなこともできてしまいます!

名前機能とは何?

文字通り、セルや範囲に名前、すなわちあだ名をつけてあげる機能です

他人が作成したエクセルファイルは使いにくいですよね

実は自分自身でも「あれってこの数式ってどうなってたっけ?」と後から思うこともあります

常に重要なセルの箇所や範囲に名前をつけて管理できるようにしておけば、エクセルを使いやすくできます

ちなみに、付けた名前は「数式タブ」の「名前の管理」で一覧化されます

つけた名前の一覧は名前ボックスからも確認できます

名前の付け方

何種類か方法はありますが、今回は一番シンプルな方法だけ解説します

下の画像のように、「名前の管理」の右にある名前の定義から①名前と②参照範囲を設定します

上の画像の場合は、下の画像のペンギンを参照範囲として指定しています

もし、後から「ペンギン」とは何のことか忘れてしまった場合は、名前ボックスからペンギンの場所に移動することができます

関数内での名前の使用

名前は関数の中でも使用することができます

例えば、下の画像の表に「検索範囲」と名前を付けておきます

この検索用の範囲をVLOOKUP関数に使うのですが、名前で代用することが可能です

<まとめ>

短い内容でしたが、いかがでしたでしょうか?

名前機能についてのイメージは明確になりましたでしょうか?

この名前機能は様々な応用が効きます

このブログでも2つ事例を紹介しています

興味のある方はぜひそちらの記事もご参照ください

1.VLOOKUP関数の参照範囲を切り替える 記事

下のGIF画像では、VLOOKUP関数の2つの参照範囲に「レディース」「メンズ」と名前をつけています。

VLOOKUP関数内のINDIRECT関数が都度、2つの名前を切り替えながら参照しているイメージになります


2.表示画像の切り替え記事

スライサーなどで表示を切り替える際に、表示画像も変えて「何に切り替えたのか?」を分かり易くします

こちらも1と同じくINDIRECT関数を使用します


にほんブログ村



INDIRECT関数を使いこなす!

5百あるエクセル関数の中でも、「ややこしい」が「使い勝手があり」「個性が強い」のがINDIRECT関数です

「INDIRECT関数って何ができるの?」と聞かれたら、少し返答に困ってしまいます

でも、確実に言えるのはこの関数は使えるということです!

今回は、INDIRECT関数の世界を覗いてみましょう!

基本形

今、下の画像のようにD2セルに「おやすみなさい」と入力されているとします

そして、B2セルには「D2」と「おやすみなさい」の文字が入力されているセルの名称が入力されています

上のGIF画像のようにINDIRECT関数の引数としてB2セルを指定すると、D2セルの内容が出力されます

名前参照

今度は、下の画像のようにD2セルに「挨拶」と名前を付けます

B3セルには「挨拶」の文字が既に入力されています

では、基本形と同じ様にようにINDIRECT関数の引数にB3セルを指定します

繰返しになりますが、「おはようございます」の挨拶が入力されたD2セルは「挨拶」という名前が設定されています

すると、下の画像のようにD2セルの内容が基本形と同じ様に出力されます

画像の抽出

INDIRECT関数をうまく使えば、画像の抽出も行えます

上の画像のように、東京タワーや自由の女神などの画像が入ったセルに名前をつけておきます

この画像をカメラで別な場所に映しだすと、下の画像のように数式バーでは「画像の入ったセル」を参照しています

なお、上の画像は実際にはトリミングを行っています

こちらの数式バーを先ほど名前をつけた「アメリカ」に変えても画像は同じです

では、名前と画像の関係をお話したので、前述のINDIRECT関数の仕組みを使用して画像を自由に変えられるようにしてみましょう

今回は、画像という名前の中にINDIRECT関数を設定します

下の画像のように「画像」という名前にて、上の画像のF1セルをINDIRECT関数を通じて参照するように設定します

こうしておけば、INDIRECT関数を通じて、F1セルに表示された名前の画像をカメラ機能で表示することができます

ちなみに、セルは絶対参照にしておきましょう!(セルの位置がズレていくことがあります)

<まとめ>

いかがだったでしょうか?INDIRECT関数の面白さを体感して頂けたと思います

今回は、最後、画像の抽出の事例を紹介しましたが、INDIRECT関数を使用してVLOOKUP関数の参照範囲を変えることもできます

つまり、INDIRECT関数を使って関数を二次元で使うことができるということです

興味のある方はそちらの記事も参照してみてください


にほんブログ村

VLOOKUP関数を場合分けして使う

VLOOKUP関数を場合分けして使えたら、便利だと思ったことはありませんか?

4

例えば、レディースとメンズで価格が違う場合などは、都度、参照範囲を使い分けできたらとても便利です

2

 

INDIRECT関数を使えば、”場合分け”を実現できます

条件は、以下のように、予め2つの範囲に名前をつけておくことです

3

では実際にVLOOKUP関数の場合分けをしましょう

1.各範囲に名前を付ける

該当する範囲を選択して、名前ボックスに”名前”入力しましょう

5

2.VLOOKUP関数の中にINDIRECT関数を組み入れる

セルG3(メンズかレディースが選択される)を参照することで、一致する名前の範囲を紐づけるようにします

6

以下のようになりましたでしょうか?

GIF1

INDIRECT関数は関数の中でも分かりずらい部類に入ると思いますが、慣れればとても便利です。まずは使う機会を増やしていきましょう!

ExcellentなDashboard作成演習#3 ~ボダン活用 5回目~

前回はこちらから

今回からオプションボタンから出力される番号に従って画像を変える処理をするのですが、

まずはINDIRECT関数の使い方を押さえておきましょう!

INDIRECT関数を覚えると関数の使い方が2次元的になります。覚えるコツは”習うより慣れろ”です。サンプルファイルをダウンロードして手を動かしみましょう!

1.セルを間接的に参照する

C2セルに”=indirect(B2)”と入力しましょう

11

B2セルに入力されているD2のセルの内容が”間接”的に反映されましたか?試しに他の”こんにちは”などにD2セルを変えて見てください。即座に変更内容が反映されるはずです

つまり、B2セル⇒(を通じて)D2セルという参照の流れになっています

2.名前を付けた範囲を間接的に参照する

今度はD2セルに”挨拶”という名前を付けましょう

名前の定義をクリックしましょう!

12

名前のところに”挨拶”、参照範囲にD2を指定しましょう!

13

そして、C3セルに”=indirect(B3)”と入力しましょう

B3セル⇒(を通じて)挨拶⇒(を通じて)D2セル

という参照の流れが起きます

14

3.名前管理の中で間接的な参照を完結する

まず”あいさつ”という名前にINDIRECT関数を埋め込みましょう(”挨拶”が埋め込まれているB3セルを指定します)

15

そしてD3セルに”=あいさつ”を入力してください

すると

あいさつ(D3セル)⇒(を通じて)⇒B3セル⇒(を通じて)挨拶⇒(を通じて)D2セル

という参照の流れが起こります

16

ちなみに、Greetingという名前(D4セル参照)を作成したとします

17

そしてD4セルに”Hello!”を入力し、さらに、B2セルをGreetingに変更します

するとD3セルは”Hello!”と表示されます!

18

ややこしいですが、とにかく手を動かしてみましょう!

では6回目でお会いしましょう!
にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村
にほんブログ村 IT技術ブログ VBAへ