[[20220415205521]] 『アレルゲン一覧表から原料毎のアレルゲン画像付掲』(yamatda2001) ページの最後に飛ぶ

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

 

『アレルゲン一覧表から原料毎のアレルゲン画像付掲示物を作りたい』(yamatda2001)

いつも大変お世話になっております。

   A       B       C       D   |略    H       I       J  |略  AB
 1 アレルゲン  卵      乳      小麦|      アーモンド  アワビ    イカ |    ゼラチン
 2 原料A   ●      ×      ●  |      ×      ●      × |    ●
 3 原料B   ×      ●      ×  |      ●      ×      ● |    ×

といった一覧表があります。
原料は約200種類
アレルゲンは特定原材料でB〜G列:7品目、特定原材料に準ずる物でH〜AB列21品目です。

上の一覧表を参照して
別シートで原料毎に
原料A

   A                    B         C         D        E       I      
 1 特定原材料           卵の絵    小麦の絵  空白     空白    空白
 2 特定原材料に準ずる物 アワビの絵  ゼラチンの絵 空白     空白    空白

原料B

   A                    B         C         D        E       I      
 1 特定原材料           乳の絵    空白      空白     空白    空白
 2 特定原材料に準ずる物 アワビの絵  アーモンド絵  イカの絵   空白    空白

といった風に画像を関数で参照するイメージです。
画像はネット上でフリー素材をダウンロードし下表の様に別のシートに28品目
並べて配置しています。(一画像は約30KB)

   A       B       C        |略  AA
 1 卵の絵  乳の絵  小麦の絵 |    ゼラチンの絵

エクセルで関数を扱うのは少し方向違いかもしれませんが
それしか環境がありません。
あとは人力で切った貼ったなので・・・。

大変わかりずらい質問ですがご教示いただけますと幸いです。

< 使用 Excel:Excel2003、使用 OS:Windows10 >


[[20210610154333]]を参考にしてください。
(nm) 2022/04/15(金) 22:05

nm様、ご教示ありがとうございます。
リンク先の方法で画像を取得することができました。
大分四苦八苦しましたが。

今は画像のない印刷不要なセル(当該原料にないアレルゲン)を省いて左方向に詰める方法検討してましたが、横方向に展開したいのでフィルターが使えないため

https://www.ilove-it.net/filter/

こちらのサイトでcoutifとhlookupでフィルターとなることがわかりましたので
うまく当てはめようと画策中です。

この度はお世話になりました。
(yamatda2001) 2022/04/16(土) 21:13


 一年ぶりに閲覧してみました。
 画像についての質問があったので久々に投稿します。
 yamatda2001 さん覗いてくれるといいんですけどね。

 >といった風に画像を関数で参照するイメージです。
 画像をコントロールする関数はありませんので 
 Office TANAKA の「自動的に画像を切り替える」を参照して作成してみた。
 VLOOKUP 感覚で画像を自由に表示できます。(画像が横並びなので(4)項で HLOOKUP を使用)
 アレルゲンはこちらに果物の絵があったので代用しました。
 ※「絵」とあるのはその果物の絵です。

 シート名 一覧

    |[A]       |[B]   |[C]   |[D]   |[E]   |[F]   |[G]   |[H]   |[I] |[J]   |[K]   
 [1]|アレルゲン|りんご|メロン|バナナ|ぶどう|みかん|いちご|スイカ|もも|レモン|トマト
 [2]|原料A    |●    |×    |●    |×    |●    |×    |●    |×  |●    |×    
 [3]|原料B    |×    |●    |×    |●    |×    |●    |×    |●  |×    |●    
        
 シート名 画像

    |[A]   |[B]   |[C]   |[D]   |[E]   |[F]   |[G]   |[H]  |[I]   |[J]   |[K]     |[L]
 [1]|りんご|メロン|バナナ|ぶどう|みかん|いちご|スイカ| もも |レモン|トマト|  BL    |   
 [2]|  絵  |  絵  |  絵  |  絵  |  絵  |  絵  |  絵  |  絵  |  絵  |  絵  | 図形 □|   	

 シート名 画像抽出   

    |[A]                 |[B]   |[C]   |[D]   |[E]   |[F]   |[G]   |[H]   |[I] |[J]   |[K]   
 [1]|                    |りんご|メロン|バナナ|ぶどう|みかん|いちご|スイカ|もも|レモン|トマト
 [2]|原料B              |×    |●    |×    |●    |×    |●    |×    |●  |×    |●    
 [3]|                    |      |      |      |      |      |      |      |    |      |      
 [4]|                    |BL    |メロン|BL    |ぶどう|      |      |      |    |      |      
 [5]|特定原材料          |      |  絵  |      |  絵  |      |      |      |    |      |      
 [6]|                    |      |      |      |      |      |      |      |    |      |      
 [7]|                    |BL    |いちご|BL    |もも  |BL    |トマト|      |    |      |      
 [8]|特定原材料に準ずる物|      |  絵  |      | 絵   |      |  絵  |      |    |      |      

 ※ここては特定原材料「りんご〜ぶどう」、特定原材料に準ずる物「みかん〜トマト」としています。

 では本題に入っていきます。

 (1)シート名 画像の下準備
    ・図の最後に「BL」と「図形 □」を追加してください。(図の空白として使用する)
   「図形 □」を追加したセルを選択してセルの名前を「BL」としてください。
    ・画像のセルにそれぞれ名前を付けます。
     セル A1:K2 を選択する。(画像を選択しないように)
     数式タブ → 定義された名前 → 選択範囲から作成 → 上端行 → OK
    ・リストを作成する
     選択されている状態から名前の定義で「List」と名前を付ける
 (2)シート名 画像抽出
    セルに名前を付けて式を入れます。(セルの名前は画像検索用、式はアレルゲン抽出用)
    ・「B4:E4」 に F_1 〜 F_4 と名前を付ける。(特定原材料)
      B4 に =IF(B$2="●",OFFSET(B$2,-1,0),"BL")として E4 までドラッグする。
    ・「B7:G7」 に F_1 〜 F_4 と名前を付ける。(特定原材料に準ずる物)
      B7 に =IF(F$2="●",OFFSET(F$2,-1,0),"BL")として G7 までドラッグする。
    ・「B4:E4」、「B7:G7」 に果物名を適当に入力しておく。
     (画像に「名前」を定義する箇所でエラー発生を避けるため)
 (3)画像を表示するセルを指定する
    ・セル 「A2」 選択する。画像のセルだったらどのセルでもよい。
     (ここ重要 選択するのは画像ではありませんよ)
    ・[コピー]ボタンをクリックする。
    ・シート名 画像抽出の「B5」に[リンクされた図]として貼り付ける。
    ・コピーしたセル「A2」の画像が表示されます。
     (数式バーには「=画像!$A$2」と表示される)
 (4)画像に「名前」を定義する
    ・貼り付けた状態で(図が選択されている状態)
    ・[数式]タブの[定義された名前]をポイントして[名前の定義]をクリックします。
    ・[名前]ボックスに「G_1」と入力し、[参照範囲]ボックスに
     「=INDIRECT(HLOOKUP(F_1,List,1,FALSE))」と入力します。
 (5)表示の式を書き換える
    ・貼り付けた画像を選択する
     数式バーに「=画像!$A$2」と表示されているのを確認する。
    「=画像!$A$2」を「=G_1」に書き換える。
 (6)残りのセル「C5:E5、B8:G8」に「A2」の画像を張り付けていく。(図貼り付けは不可)
    「=INDIRECT(HLOOKUP(F_1,List,1,FALSE))」の式をどこかのセルにコピーしておく。
     これをコピーして[参照範囲]ボックスにコピーする
    (4、5)をくりかえす。
     式の書き換えと名前は「G_2」「G_3」としていく
    「=INDIRECT(HLOOKUP(F_1,List,1,FALSE))」の中も「F_2」「F_3」としていく。
 (7)「B1:K2 B4:E4 B7:G7」はユーザー定義で「;;;」にする。

 使用方法

 シート名 一覧から原料をコピーしシート名 画像抽出の「A2」に貼り付ける
 「●」に対する果物の絵が表示される(上図では原料B)

 [4]|                    |BL    |メロン|BL    |ぶどう ← この行は(7)項で非表示
 [5]|特定原材料          |      |  絵  |      |  絵  

 のように空白になった場合は「BL」にメロン上書き、メロンにぶどう上書き、ぶどうに BL 上書きすると

 [4]|                    |メロン  |ぶどう|BL    |BL ← この行は(7)項で非表示
 [5]|特定原材料          |   絵   |  絵  |      |  

 と表示できます。 (マウスで移動してもよいがデータに変更がない場合に限る)

 シート名 画像抽出をマスターシートとしてコピーして使いましょう。
 コピー後のシートは画像抽出の「A2」に貼り付けたのをシート名にした方がいいでしょう。

 以上です。
(な) 2022/05/08(日) 12:09

(な)さんありがとうございます。
ひさしぶりにのぞいたら自分の質問にアンサーがあってびっくりしました。
一度は完成はしたものの作業セルを多用したためか非常に動作が重いです( ;∀;)

非常にわかりやすい説明ですね
今度編集する際はこちらで作成していきます。

ありがとうございました!

I
(yamatda2001) 2022/06/23(木) 17:35


コメント返信:

[ 一覧(最新更新順) ]


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