• ベストアンサー

エクセル表中に入力条件に対応した図(jipファイル)を表示したいのですが。。。

エクセル97で保険契約の契約内容入力フォームを作ろうとしています。 指定したセルに入力された内容に対応して、数パターンのメッセージまたは図形を結果のセルに表示させたいと思っているのですが、セルへの図の表示方法が分かりません。 あるセルへの入力結果に対応して図を表示する方法が知りたいのですが。 なるべく簡単単純だとうれしいです。 (文字列の表示はIF関数を使おうと思っています) よろしくお願いします。

  • makie
  • お礼率100% (2/2)

質問者が選んだベストアンサー

  • ベストアンサー
  • kbonb
  • ベストアンサー率51% (254/492)
回答No.2

こんにちは  A1:A10のセル内にそれぞれ一つづつ図が入っているとします。  まずは名前定義です。 1.Ctrl+F3(メニュー[挿入]-[名前]-[定義] 3.[名前]に Pic と入力 4.[参照範囲]に=INDIRECT($G$1) と入力 5.[OK]ボタンをクリック  セルG1に A1 と入力しておきます。  続いて、図のリンク貼り付けです。 1.セルA1を選択(オートシェイプではなく、セルA1を選択)してCtrl+C(コピー) 2.セルH1を選択して、Shiftキーを押しながらメニュー[編集]-[図のリンク貼り付け] 3.数式バーに =Pic と入力  これで、セルG1に、A2 とか A3 のようにアドレスを入力してみてください。

参考URL:
http://www2.odn.ne.jp/excel/
makie
質問者

お礼

すばらしいご回答をありがとうございました! 「求めていたのはコレ!」という感じで早速やってみました。 なんとか出来上がってホッ。。。です。 ご教授ありがとうございました。

その他の回答 (1)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

お望みの動作はVBAが必要です。なるべく簡単単純ということですが、簡単な例を示しますので、やるかどうかの判断材料にしてみてください。 まず準備として、 1) 表示したい図をすべてセル上に貼り付けます。貼り付け方法は、[挿入]>[図]>[ファイルから]です。 2) 次に、図に名前を付けます。図を選択して、数式バーの左横の名前ボックスに名前を書き込みます。ここでは、pic1,pic2,pic3とします。 3) 読み込んだすべての図を実際に表示したいセルの上に重ねて表示します。(重ねる順番はどうでもいいです) これで、準備が整いました。 ここでは、セルに入力された値を判断して、pic1,pic2,pic3の表示を切り替えることにします。つまり、セル"A1"に"1,2,3"と入力された場合に、それぞれ"pic1,pic2,pic3"を表示させ、それ以外の値の場合は何も表示しない、つまりセルそのものが表示されるような例です。 4) [ツール]>[マクロ]>[VisualBasicEditor] とし、立ち上がったVBエディタを起動します。 5)(デフォルトで)左側にあるプロジェクトウインドウの"Sheet1(Sheet1)"をダブルクリックします。 6) コードウインドウに下のコードをコピー&ペーストします。 '---ここから Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Address <> "$A$1" Then Exit Sub With ActiveSheet   .Shapes("pic1").Visible = False   .Shapes("pic2").Visible = False   .Shapes("pic3").Visible = False   Select Case Range("A1").Value    Case 1: .Shapes("pic1").Visible = True    Case 2: .Shapes("pic2").Visible = True    Case 3: .Shapes("pic3").Visible = True   End Select End With End Sub '---ここまで 4) VisualBasicEditorを閉じます。 試しに、Sheet1のセルA1に数字を1,2,3と入れてみてください。図が変化するはずです。簡単な例でもこれくらいややこしいです。値を入れるセル(判断基準のセル)を変更する場合は、3行目の"$A$1"と、8行目の、Range("A1").Valueのところを変えればOKです。図の名前は"pic1"~"pic3"の所を変えます。

makie
質問者

お礼

ご回答ありがとうございました! 順を追って丁寧に書き込んでいただいていたので、VBA使ったことないながらも、トライしようという気持ちになりました。ただ、あまりに私自身無知な為、応用が利きそうにないので、今回は別の方法で作成してしまいましたが。。。 今後もこの作業を使うことは多い予定なので、次回につなげたいと思っています。 ありがとうございました!

関連するQ&A

  • エクセルで図を…

    エクセル97で、図を作成しました。 例えばその、図がA1の中に表示されていたとします。 普通だと、1の行を削除すると図はのみのこってしまいます。 削除・挿入・表示しないなどに図形も一緒に対応させたいのです。 セルと図形のグループ化のようなことはできるのでしょうか?? よろしくお願いします。

  • Excelで都道府県を入力するとそのコードを表示させるようにするには?

    Excelについて質問です。 例えばセルB1に都道府県を入力すると、A1に都道府県コード(1~47までの数字)を表示させたいと思っています。 別シートのA列に都道府県コード、B列に都道府県を作って47都道府県コードとその都道府県を作ってVLOOKUPで表示させようとしましたがうまくできませんでした。 次にif関数を使って「B1が北海道ならA1に1を表示」というように47都道府県をif関数を重複させて作っていきましたがif関数を8つぐらいまでしか重複させることができず失敗に終わりました。 何か良い方法はありますでしょうか?

  • ExcelでIF関数を用いたときの散布図のエラー

    win7 64bit+Excel 2010を使用しています. Excelにて、IF関数を用いて次のように何行か入力するとします. =IF(A1="","",A1+B1) =IF(A2="","",A2+B2) これをC列に出力し,D列に任意のデータを入力します. そして,C列をx軸に,D列をy軸にして散布図をとったときに,C列の選択したセルの最後の行が空欄になっていると,A列をx軸にとった散布図になってしまいます. 入力するデータ数は定まっていないため,余裕をとって散布図表示ができるようにしたいのですが, 解決できる方法がありましたら,是非,お教え願います.

  • 違うシートの対応表を使った関数(?)

    入力の仕事をしていますが、入っていた関数を消してしまったので教えてください。 年齢を入力すると、対応する数字が次のセルに入るようになっていました。 年齢の対応表は次のシートに入っています。 IF関数ではなく、これを使った関数が入っていたようなのですが、わからなくて困っています。 対応表は、20歳以下は1、21歳から25歳は2、26歳から30歳は3、となるので、入力をしている次のシートの、A列に1から30までの数字が、B列に1から3までの数字が対応する年齢毎に入っています。(実際は85歳まで、4,5歳きざみに対応数字があります) どこにどんな関数を入れればいいか、教えていただけたら助かります。 すみませんが、よろしくお願いいたします。

  • Excelで、ある条件下で表示切替

    以下のような条件下で表示の切替ができるかどうかをお教えください。 シート1A1セルに入力された内容を判別して、A2セルに可・不可と表示させたいのです。A1セルは文字列の会社名で規則性はなく、数も100以上。4~5個くらいならばIF文で対応可能でしょうが、以前の経験から個数に限界があったように思います。 容易な改変も考慮して、シート2に会社名をまとめられれば有難く思います。 一例として、シート1A1セルに入力された会社名をシート2のC列1-100行~D列1-100行から検索して、シート2C列にあればシート1A2セルに"可"、シート2D列にあればシート1A2セルに"不可"、無ければ空欄となるようなニュアンスです。 当然、他の方法でもお教えいただければ非常に嬉しいです。ご教授いただきたく、宜しくお願い致します。

  • EXCEL 条件式

    例えば、セルA1に"1"と入力した場合には、B1に"りんご"と表示。A1に"2"と入力した場合には、B1に"みかん"と表示し、A1に"3"と入力した場合には、B1に"いちご"と表示させる場合は、IF関数を重ねればよいのですが、これが20パターンぐらいある場合は、他に方法はありませんでしょうか。

  • ExcelのVLOOKUPで結果の表示が・・・

    うまくいきません。 =IF(B17="","",VLOOKUP(B17,Sheet3!$A$1:$B$40,2)) という関数を入力しました。 結果は範囲内の2列目から検索された 「0010181」という数字のはずなのですが正しく表示されません。 この場合、結果は「0040602」と表示されました。 (関数は間違っていないと思うのですが) セルの書式設定は「文字列」になっています。 他のセルでもやはり正しい結果がでません。 こんなことは初めてでさっぱりわかりません。 どうしたら、範囲内にある正しい数字(文字列)が表示されますか? うまく説明できないので不明な点があったら補足致しますので よろしくお願い致します。

  • エクセルで条件に合わせて数字を合計

    エクセルの表にて、 セルに”○”が入っている場合は2、”×”が入っている場合は1で、その結果を合計したいのですが(例:○が3個・×が2個入ったセルがあれば、合計は8というふうに) 入力用と合計用に列を分けて、合計用にIF関数を使って数字を代入し合計するという方法しか思いつきません。VBAなど高度な技術を持ちませんので、やはりこの方法がベストになるのでしょうか? 列を増やさずに出来る方法があればご教授下さい。

  • エクセル 複数条件のIF関数 

    0から360の数字がランダムに入力されているA列があります。この数字を以下の条件でB列に入力したいのです。 (1)288以上なら280を引く (2)144以上なら144を引く (3)72以上なら72を引く (4)72未満ならその数字のまま入力 結果として、72未満の数字がB列に入力されることになります、 IF関数を使えばできるのかなと思いますが、違う方法でもよいです。 4万セルくらいを処理するので一番簡単な方法を教えてください。 よろしくお願いいたします。

  • Excelに図形を入力したい

    Excelに自分で作った図を入力したいのですが、 入力の仕方として1,2,3などの数字を入れるだけで、何種類かの図形の中から対応する図形を表示できるようにしたいのですが、そんな方法はありますか? それと自分で作った図形(図形の中にテキストボックスで文字が入力してあります)を一つの図形として保存しておくことはできますか?

専門家に質問してみよう