[[20210317120739]] 『セルの値が0より大きかったら図形を表示させる方磨x(がぼう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルの値が0より大きかったら図形を表示させる方法』(がぼう)

要約通りですが、セルA1の値が0より大きかったら「エラー!!」みたいな図?画像?を
表示させたいです。
(現状はネットで拾った画像をコピペして、テキスト挿入して、
 グループ化したものを使っています。
 これではダメなら改善方法も教えてもらえると助かります。)

調べたら http://ryotr.com/excle/906
このサイトの内容がやりたいことと似ているなと思い、やってみましたが、
下のコメントと同じように、貼り付けた画像名を定義した名前に変更すると
「参照が正しくありません。」と表示してしまいます。

よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 >貼り付けた画像名を定義した名前に変更する
 リンク先のどの工程でのことなのだろうか?
(ねむねむ) 2021/03/17(水) 13:15

 私は以前同じようなことをするときに下記のサイトを参考にした。
 がぼうさんの示したリンク先と同じことだと思うが下記も参考にしてはどうだろうか?

http://officetanaka.net/excel/function/tips/tips14.htm
(ねむねむ) 2021/03/17(水) 13:19


ねむねむさん、ご返信ありがとうございます。

サイトの説明でいうと
「貼り付いた画像を選択すると、数式バーに=$H$4のように番地が入っています。
 これを先程定義したyamadaに書き換えます。」
この部分です。書き換えようとすると「参照が正しくありません。」と出ます。

ちなみに、画像の範囲は複数セルにしていますが、これが失敗の原因だったりしますかね…?

教えていただいたサイトですが、そちらもやってみました。
ただ、やりたいことが若干違うと思います。
それだとリストで選択しないと画像が変わらないと思いますが、
セルの値に応じて画像が自動的に表示するようにしたいです。
=IF("$A$1">0,"不一致")で、その不一致が画像で表示するような感じです。
(がぼう) 2021/03/17(水) 14:01


 名前は何と付けたのだろうか?
(ねむねむ) 2021/03/17(水) 14:27

ねむねむさん

画像が入っているセルは「不一致」で、indirect関数使っているのが「だめ」です。
(がぼう) 2021/03/17(水) 14:46


 INDIRECT関数ですが
 =INDIRECT($A$1)
          ^^^^^^
 のように絶対参照にしていますか?
(bi) 2021/03/17(水) 15:18

biさん

はい、絶対参照しています。
セルが複数だからダメかなと思い、全部1個のセルに直したりもしましたが、それでも参照が正しくありませんと…。
(がぼう) 2021/03/17(水) 15:40


 以下の手順を実際の範囲に置き換えて試してみてください。

 E1:F2セルの範囲にエラー時の画像
 G1:H2セルの範囲にエラーではない時の画像

 B1セルに =IF(A1>0,"不一致","一致")

 名前の管理
 不一致 → =$G$1:$H$2
 一致  → =$E$1:$F$2
 だめ  → =INDIRECT($B$1)

 G1:H2をコピーしてC1セルに「リンクされた図」を選択して貼り付け
 =$G$1:$H$2 を =だめ に書き換える
(bi) 2021/03/17(水) 16:10

名前の定義で=INDIRECT()のかっこの中身の記述が間違ってるんじゃないでしょうか
適当なセルに名前の定義で入力している=INDIRECT(...)をペーストしてエラーが帰ってないかチェックしてみてはどうでしょうか
(田中) 2021/03/17(水) 16:33

biさん

そのやり方でやったらできました!

一致の時になにも表示しなくていいから、作らなかったんですが、
不一致の画像しかなかったからダメだったんですかね…?

今はそのやり方で一致の図形を透明にしています!

田中さん
エラーが返ってきました(;_;)
=INDIRECT($A$1)  セルA1=IF("$A$1">0,"不一致")
TRUEのみじゃダメですかね?
(がぼう) 2021/03/17(水) 16:53


>TRUEのみじゃダメですかね?
真しかない場合は問題ないでしょうけど真しかないならこの方法を使う必要ないんじゃないかな〜
ちなみに偽を省略した場合戻り値はFALSEでFALSEは名前の定義で使えないので任意の文字列なりを入力する必要があります
(田中) 2021/03/17(水) 17:06

田中さん

確かに必要は全くないんですが、遊び心で入れたくて…(笑)

任意の文字列ということは空白もダメですよね?
最初は =IF("$A$1">0,"不一致","")にしていました。

(がぼう) 2021/03/17(水) 17:12


その場合は偽だと=INDIRECT("")=エラーとなってしまうので=IF("$A$1">0,"不一致","一致")などにして
名前の定義で使わない空白のセルに一致という名前を付ける必要があります
(田中) 2021/03/17(水) 17:18

ごめんなさい。
気づくのが遅れましたけど"$A$1"の部分って""で囲んでいるのは理由があるのでしょうか。
A1セルを参照する場合=IF($A$1>0,"不一致","一致")が正しい記述だと思います。
(田中) 2021/03/17(水) 17:28

田中さん

"$A$1"の部分って""で囲んでいるのは入力ミスです。Excelのほうでは""入れていません。

=INDIRECT("")を使うとだめなんですね。
やっと理解してスッキリしました!

ありがとうございました!
(がぼう) 2021/03/18(木) 10:03


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.