エクセルを使っているとき、
「ココの表示は、セルの内容で分岐したい!」って時には、IF文で分岐しますよね。では、
「ココの画像は、セルの内容で分岐したい!」って時には、どうしますか?
答えは、
「画像を貼り付けた箇所のセルに名前をつけ、その名前で分岐した式に名前をつけ、その式の名前を図形オブジェクトに式として渡す」です!
今回は、1~5点の点数に応じて、1~5個の星を表示する方法を例として、解説していきます。
※この記事の内容は、Microsoft Office 365のExcelを対象としています。
0.サクッと準備
こんな感じのシートを用意しました。画像のとおりです。
今回は、B3で星の数をコントロールしたいと思います。
1.Excelに画像を貼り付け、貼り付けた箇所に名前をつける
はい、文字で書くと面倒臭そうですが、やることは簡単です。
「images」という名前のシートを作成し、そのシートに
こんな感じで画像を貼り付けてください。上から星5→星1ということになります。
貼り付けが終わったら、「A1~U5」までのセルを選択し、数式タブの「定義された名前」グループから「名前の管理」をクリックしてください。
にゅっとウィンドウが表示されると思うので、その中の「新規作成」をクリック。
下記のように入力してください。
名称 | 入力内容 |
---|---|
名前 | 星5 |
範囲 | ブック |
コメント | 星5個のエリアです |
参照範囲 | =images!$A$1:$U$5 |
※多分、範囲と参照範囲は最初から入力されていると思います。あと、コメントは入力なしでもいいです。名前はお好みで。
※A1~U5というのは、5個の星の画像をすっぽりと覆うようにセルを指定しているということです。
入力が完了したら、「OK」を押してください。
上記を星4個~星1個の場所までやってください(下の画像のようになっていればOKです)
はい!これで第1ステップ「画像を貼り付けた箇所のセルに名前をつけ」が完了です。
2.分岐式に名前をつける
Excelでは、分岐にIF文を使用します。なので、文字列で星5~星1を分岐するには、こんな感じになります。
=IF(B3 = 5, "星5個だよ", IF(B3 = 4, "星4個だよ", IF(B3 = 3, "星3個だよ", IF(B3 = 2, "星2個だよ", "星1個だよ"))))
上の式の文字列の部分を、さっきつけた名前に置き換えます。
=IF(B3 = 5, 星5, IF(B3 = 4, 星4, IF(B3 = 3, 星3, IF(B3 = 2, 星2, 星1))))
最後にこの式を名前をつけて登録します。
さっきと同じように、名前の管理から新規登録してください。
名称 | 入力内容 |
---|---|
名前 | 星表示分岐 |
範囲 | ブック |
コメント | 星の出し分けを行います |
参照範囲 | =IF(B3 = 5, 星5, IF(B3 = 4, 星4, IF(B3 = 3, 星3, IF(B3 = 2, 星2, 星1)))) |
はい!これで第2ステップ「その名前で分岐した式に名前をつけ」が完了です。
次でいよいよ最後です!
3.画像を出し分ける
最後に実際に表示するエリアを作成していきます。
適当なセルを選択してコピーしてください。その後、右クリックして、「リンクされた図」ペーストをしてください。
※分かりづらいと思うので、図を貼っておきます。
ペーストすると、リンクされた図形オブジェクトが表示されます。
その図形オブジェクトを選択し、数式バーに
=星表示分岐
と入力すると、B3に入力されている数と同じ数の星が表示されると思います。
・・・なんか汚くね?
はい、なんかマス目が汚いですね。なので、少し調整をば。
imagesシートに移動して、表示タブの表示グループの「目盛線」のチェックを外してみてください。
戻ってくるとあら不思議、キレイに見えちゃうんです!
この状態で、B3の数字を変えれば、自由に星の数を出し分けることが出来ます。
また、imagesシートの画像を変えれば、いろいろな出し分けができるのです。
#最後に
この記事、Excel以外のタグが思いつかんのです。なにかいいタグがあったら教えてプリーズ!
それでは(`・ω・´)ノシ