• ベストアンサー

エクセルの関数などを使って図の抽出はできるのか?

関数などを使って、別シートにある図を任意の箇所に抽出することって可能なのでしょうか? 支店名を入力することによって、別シートに、項目ごとに作成したリストに登録されている支店の情報(住所・電話番号、支店の設備状況、売上など)の中から必要な情報を関数のVLOOKUPやMATCHとINDEXの組み合わせなどを使って、フォームに抽出するようにしました。さらに支店の所在地を示す図(エクセルのオートシェイプ機能などで作成した)をフォームに抽出したいのですが、「支店名」などのキーワードを打ち込むことでその支店の見取図などの図を任意の場所に抽出させる関数もしくは適当な方法はあるのでしょうか? 支店が多数あるのですが、エクセルのオートシェイプ機能で作られた簡単な見取図が既にあるため、それを利用したいのです。よろしくお願いします。

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

  • ベストアンサー
  • takuteku
  • ベストアンサー率46% (26/56)
回答No.2

少々ややこしいですが、↓のやり方はVBAを使いませんので 順を追っていけば簡単です。 まず、別シート作ります。 シート名を仮に『リスト』とします。 A1に『支店名』、B1に『略図』と項目を入力 A2に支店名、B2にA2の支店の略図を挿入します。 下に続けて入れて、リストを完成させます。 B列の幅と行の高さは略図が収まるくらいの大きさに調節してください。 次に表示させたいシートに戻り(そのシートを仮に『検索表』とします) 空白セルをコピー Shift押しながら、編集→図のリンク貼り付け でセルと同じ四角が出来るので、大きさを略図が収まりそうな大きさに変えてください。(大きさは後でも調節出来ます) 表示したいところに移動 貼り付けた図を選択している状態で、挿入→名前→定義 で『名前の定義』ダイアログボックスが表示されます。 名前のところに略図と入力 参照範囲のところに、 =INDEX(リスト!$B$2:$B$600.MATCH(検索表!$A$1.リスト!$A$2:$A$600.0)) 【=INDEX(リスト!B列範囲.MATCH(検索表!支店名を入力するセル.リスト!A列範囲.0))】 として、『OK』で閉じてください。 そして、その貼り付けた図が選択されている状態で、 数式バーの=セル((例)$A$2)になっているところを 『=略図』 としてください。=は忘れず付けてくださいね。 そうしたら、とりあえず支店名を入力してみてください。 ちなみに、支店名が長い場合 キーワードの前後にワイルドカードの*を付けて検索すると正式名称全部入力しなくても検索できます。 (例)○○株式会社青森支店の場合    *青森* もしくは、入力規則でリストにしてみてもよいですが… とりあえず、ここまでやってみてください^^ わかりにくかったら、補足要求してくださいね。

uj5315
質問者

お礼

見事に解決いたしました。自分でも勉強しているのですが、今回は急ぎでしたので本当に助かりました。ありがとうございました。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

> 関数のVLOOKUPやMATCHとINDEXの組み合わせなどを使って、フォームに抽出するようにしました。 この「フォーム」とはどういう意味ですか? > オートシェイプ機能で作られた簡単な見取図が既にあるため どこにあるのですか?同じエクセルのBOOK内の別シートにはってあるのですか? いずれにせよ、関数では不可能です。関数はセル内の「値」を扱うもので、書式や図形を操作するものではありません。おやりになるならVBAでの処理になります。

uj5315
質問者

お礼

キーワードとしての支店名の入力と必要な情報の抽出を一定の形式できるようにしたシートのことを主観的にフォームと表現してしまいました。分かりにくい表現で申し訳なかったです。見取図は別シートに張ってあるものです。 VBAの勉強も行っていくつもりですが、急ぎでしたので、関数を利用してできないものかと質問した次第です。ご返答ありがとうございました。

関連するQ&A