[[20250403141506]] 『画像自動変換を使って表作成』(いわ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『画像自動変換を使って表作成』(いわ)

表を作成するにあたって画像を自動で切り替わる表を作りたいです。
40行9列の表です。後に行の追加した際にも簡便にできると嬉しいです。
やり方はなんでもいいです。関数の組み合わせやプルダウンリスト等

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


例えば、

https://www.y-shinno.com/excel-img-switch/
とか、
http://www.officetanaka.net/excel/function/tips/tips14.htm
とか。

探せば参考になるサイトが色々と見つかる。

(???) 2025/04/03(木) 15:00:51


これだと表の一個一個のセルに画像貼り付けて名前の定義しないといけないですよね?
後から自分以外が表に追加項目あった時にやりずらくないですか?

(ええ) 2025/04/09(水) 04:10:58


>40行9列の表です
表の内容を説明をされたらどうですか。
(?) 2025/04/09(水) 10:04:13

365にアップデートした上で、IMAGE関数を使ってください
(まっくろそふと) 2025/04/09(水) 11:54:52

 >40行9列の表
 それらの各セルに画像を入れるのですか?360個の画像ですか。
 それらの各画像を任意に変更できる仕組みが必要なんですか?
 そもそもどんな目的に使用するものなんですか?

 もう少し説明したもらったほうが、幅広く回答がつきやすいのではないでしょうか。
(xyz) 2025/04/09(水) 17:01:15

各セルに画像を入れて(10種類の画像をプルダウン化にする)
製品に含まれる特定化学物質の一覧を作成したい。その物質が入っているか否かを画像で表示する。

製品がたくさんあり複数の人がエクセルに入力、編集を行いますのでなるべく簡素にしたいです。
その後その表を年一回印刷しますので、画像で表示させるのが見やすいとなった。
(いわ) 2025/04/22(火) 15:33:24


 360セルではあるが、画像そのものは重複があり、
 全部で10種類だけ、ということですか?

 それなら、すでに回答があった
http://www.officetanaka.net/excel/function/tips/tips14.htm
 で紹介されている手法が適用できそうですが、いかがですか?
 そこでは2種類(ビールとワイン)の例ですが、それを10種類にすればよいと思います。
 それはお読みになっているんですよね。それではまずかったんですか?

(xyz) 2025/04/22(火) 16:59:41


画像は既にあるんでしょうか?
 画像データは別シートにしておいて、例えばA2:B11を範囲選択して数式ー選択範囲から作成									
 または、Ctrl+Shift+F3として左端列にチェック☑が入っていれば[OK]									
 これで、画像自体に名前をつけるのは終わりです。									
《別シート》									
	   A	      B							
1	    名前	 画像							
2	特定化学物質1	  ◯							
3	特定化学物質2	  △							
4	特定化学物質3	  □							
5	特定化学物質4	  ◎							
6	特定化学物質5	  ✘							
7	特定化学物質6	 ○○							
8	特定化学物質7	 △△							
9	特定化学物質8	 □□							
10	特定化学物質9	  ●							
11	特定化学物質10	  ▽							

 ただし、Sheet1に表があるとして画像を表示させるための画像にも計算式を入れて名前を付ける必要があるので									
 ※適当なセルに 画像1と入力して下↓へオートフィル									
 画像1									
 画像2									
 画像3									
 画像4									
 画像5									
 画像6									
 画像7									
 画像8									
 画像9									
 画像10									
 〜〜									
 画像40									

別シート!A2:A12の範囲に選択範囲から作成で名前と名前をつける
別シート!B2:B12の範囲に選択範囲から作成で画像と名前を付ける

 =INDEX(画像,MATCH(別シート!$A$2,名前,0))									
をコピーして									
(別シート!のところは実際に合わせてください)									
 画像1のセルを選択 数式−名前の定義とすると名前のところは画像1となっているので									
 参照範囲のところに数式を貼り付けOK。									

 画像2のセルを選択 数式−名前の定義とすると名前のところは画像2となっているので									
 参照範囲のところに数式を貼り付け$A$2の2の部分を3に変更してOK。									

 画像3のセルを選択−名前の定義とすると名前のところは画像3となっているので									
 参照範囲のところに数式を貼り付け$A$2の2の部分を4に変更してOK。									

 以下省略。									
 表示分の名前を付けたら※は削除してOKです。									

 次に別シートB列の画像ごとB2:B11をコピーしてSheet1のB2に普通に貼り付け。必要ならB41まで貼り付け。									
 それぞれの画像を数式バーで =画像1 から =画像40まで設定してください。									
ただし、以下省略。のところができていないと機能しません。(画像10で心が折れました^^;)									

 その後、									
A2にプルダウン設定									
データーデータの入力規則ーリストー元の値に =別シート!$A$2:$A$12									

[[20210830164135]]

 この時はまだExcelにIMAGE関数はありませんでしたが、
インターネット上の画像を表示する関数なのでローカルにある画像を表示することはできません。									
Googleスプレッドシートなら、IMAGE関数を使わなくても[選択したセルに画像を置く]でセル内に画像を置けます									
画像がすでにあるなら今回はそれが一番楽な方法だと思います。									

 一応その場合のA1に入力規則があるとした場合の式だけ挙げておきます。									
B2:=XLOOKUP($A1,'シート16'!$A$2:A,'シート16'!$B$2:B,"")									
または									
B2:=IF(A1="","",INDIRECT(A1))									
(シート名は実際に合わせてください)									

 当方も2019なので365では検証しておりません。									
あと、Googleスプレッドシートには画像をまとめて持っていくことができなかったのでそこだけ面倒です。									
一個ずつコピペしないといけないので。でもまぁ今回は10個らしいので。。。									

以上です。


 と言いながら、[[20210830164135]]にも書きましたが画像を設定する場合は
注意が必要です。印刷だけならシートの保護をかければいいんですけど。
(檸檬) 2025/04/24(木) 09:02:08

 いくつか間違いがありました。
 1)>これで、画像自体に名前をつけるのは終わりです。
 ✘ 画像自体
 ○「画像を貼り付けたセル」に名前をつけるのは終わりです。


 2)>一応その場合のA1に入力規則があるとした場合の式だけ挙げておきます。									
   >B2:=XLOOKUP($A1,'シート16'!$A$2:A,'シート16'!$B$2:B,"")									
   >または									
   >B2:=IF(A1="","",INDIRECT(A1))									
   >(シート名は実際に合わせてください)
 なんか、軽い違和感があって見直してみたら
 この部分はGoogleスプレッドシートの方で試したもので、シート16は上記《別シート》と同じレイアウトで
 シート17の方は項目行なしで試してました。項目行ありなら
 シート17のB2:=XLOOKUP($A2,'シート16'!$A$2:A,'シート16'!$B$2:B,"")
 またはシート17のB2:=IF(A2="","",INDIRECT(A2))

 「セル内の画像」を参照しています。

 繰り返しになりますが
 Ctrl+Shift+F3として左端列にチェック☑が入っていれば[OK]									
 これで、10でも100でも画像を貼り付けたセルに名前をつけるのは1回で済みますが				
描画オブジェクトからセル番地を相対参照する事ができないので
数式バーから参照する画像は一度に表示する数分が必要になります。

 40行9列の表が1ページに収まったもの(A4だと小さすぎるのでA3サイズ?)を想定しましたが
 >その後その表を年一回印刷しますので、画像で表示させるのが見やすいとなった。
A4で何ページかに分かれていいのなら1ページ分の印刷用のシートを作っておけば
画像40でなく1ページあたり10とか20であれば表示用の画像が少なくて済みます。
一度に見れなくてもいい(印刷用の1ページ)であれば
ページを切り替える仕組みを作業列と作業セルを使ってやれば数式バーから参照する画像は少なくて済みます。
その場合、40行9列の表は図無しで普通にプルダウン設定しておいて
(印刷用の1ページ)の方でリスト選択後のものを印刷すればいいので
 最初の画像を貼り付けたセルに名前をつけるのは不要ですね
 ご参考まで
(檸檬) 2025/04/26(土) 03:33:11

 >いくつか間違いがありました。
すみません、寝ぼけてました。。わざわざ名前をつけたのに大事なところが間違ってました。
3)>=INDEX(画像,MATCH(別シート!$A$2,名前,0))をコピーして												
✘別シート!$A$2
○Sheet1!$A$2
 = INDEX( "画像の範囲",MATCH( "検索対象のセル","名称の範囲",0))なので
 正しくは
 =INDEX(画像,MATCH(Sheet1!$A$2,名前,0))
 なんなら
 =INDIRECT(Sheet1!$A$2)の方が簡単で間違いにくかったですm(__)m

(檸檬) 2025/04/26(土) 10:24:59


コメント返信:

[ 一覧(最新更新順) ]


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