[[20091017184448]] 『部分一致の文字からプルダウンリストを選択する方』(JOJO) ページの最後に飛ぶ

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

 

『部分一致の文字からプルダウンリストを選択する方法』(JOJO)

 またまた皆様のお力を借りたく書き込みいたしました。

 入力シートとそのデータとリンクさせたいコード表シートがあります。

 入力シート(シート1とする)
 A列〜日付、B列〜会社コード(2桁)、C列〜会社名(B列入力のVLOOKUP関数で表示)
 D列〜提出先(プルダウンリストで選択)、E列〜書類名
 F列からJ列は手入力

 コード表シート(シート2とする)
 A列〜会社コード(2桁で01〜99まで)、B列〜会社名、 
 D列〜提出先(現在は20くらいで、概ね4種類に分類)
 F列〜D列のうちの3種類(損保・生保・役所)
 G・H・I列〜損保の書類名・集計分類・集計分類の数字
 J・K・L列〜生保の書類名・集計分類・集計分類の数字
 M・N・O列〜役所の書類名・集計分類・集計分類の数字
 書類は、最大40種類。

 やりたい事は、シート1のD列をプルダウンリストで選択し、
 それが日本損保ならばE列の書類名をシート2のG列から選べるようにしたいのです。
 シート2のレイアウトは決定ではありません。
 今、シート1のD列目までしか完成していません。
 (0で始まる会社コードは01ではなく1になってしまいます(T_T))

 書類名まで入れてF列からJ列は手入力した後、出力して紙ベースで保管し
 (最大でも20行程度が1枚)、加工用シート(シート3)にシート1のデータをコピペし、
 会社名ごとにシートが自動的に作成されるというのがゴールです。

 「シートから別シートへの作成」というのは、過去ログで似たようなものを見つけたので、
 シート1が完成すれば何とかなりそうな気もしますが。。。

 マクロ以外で何とか、よろしくお願いします。XPの2003です。


 >シート2のレイアウトは決定ではありません。
 と言う事ですが、イメージが良く分からないので
 サンプルデータを載せておかれるのが良いと思います。
 入力シート										
	[A]	[B]	[C]	[D]	[E]	[F]	・・・・			
[1]	日付	会社CD	会社名	提出先	書類名	項目1				
[2]			VLOOKUP	   ▼						
[3]			VLOOKUP	   ▼						
[4]			VLOOKUP	   ▼						
[5]			VLOOKUP	   ▼						

 コード表シート										
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]	[I]	・・・・
[1]	会社CD	会社名		提出先						
[2]										
[3]										
[4]										
[5]										
 ご説明からは、この程度の事しか分からなくて・・・。 

 >シート1のD列をプルダウンリストで選択し、
 >それが日本損保ならばE列の書類名をシート2のG列から選べるようにしたいのです。
 名前の定義を利用すると良いかもしれません。
 コード表シートG列の範囲に「日本損保」と名前を定義し
 入力シートE列の入力規則で =INDIRECT(D1) の様に設定する。

 ↓ご参考に
[[20040419193514]]『2番目のプルダウンで細目を選択したい』(フジ)

 それと
 > (0で始まる会社コードは01ではなく1になってしまいます(T_T))
 これは、今後の事もふまえて どの様にしておくのがよいのか
 よく考えてみられるのが良いと思います。

 文字にして「01」と入力するのがよいのか
 数値として「1」と入力し、表示形式で「01」と見える様にすれば良いのか。。。

 (HANA)

 HANAさん、有難うございます。

 まず、「0で始まる会社コードは01ではなく1になってしまいます」については
 入力シートB列およびコード表シートA列の表示を、ユーザー定義で「0#」としたら、
 解決しました。

 レイアウトですが、書いていらっしゃる通りです。

 コード表シート										
	[A]	[B]	[C]	[D]	[E]	[F]	[G]	[H]	[I]	・・・・
[1]	会社CD	会社名		提出先	       損保書類名・集計分類・集計分類数字
			               (以下、生保はJ・K・L列、役所はM・N・O列)
[2]				日本損保						
[3]				東洋損保					
[4]				極東生保			 			
[6]				亜細亜生保					
[7]				南区役所					
[8]				中央区役所				
[9]                 ・・・全部で20くらい
                  (任意入力はその他にしている)

 内容別に区分するため、ただ単に1列ずつ間隔を空けています。

 『2番目のプルダウンで細目を選択したい』(フジ)のサンプル例を参考にやってみたのですが、
 A4セルに、入力規則で設定を「入力値の種類〜リスト」「元の値」=$A$1:$A$3、
 B4セルを「入力値の種類〜リスト」「元の値」 =INDIRECT(B4)とした時に
 [元の値はエラーと判断されます、続けますか?] が出てしまいます。

 まず、このエラーを何とかしたいのです。
 そして、入力シートD列が損保という文字を含むグループなら、E列のプルダウンメニューに、
 コード表シートG列の書類名を、生保を含むグループならコード表シートJ列の書類名を、
 役所を含むグループならコード表シートM列の書類名を表示させたいのです。

 なお、今は家のPCで作業をしているので、上記のエラーはVistaの2007っていうのは
 関係ないですよね!
 もちろん、互換モードでやっています。(JOJO)

 >[元の値はエラーと判断されます、続けますか?] が出てしまいます。
 そのまま [ OK ]としてみるとどうですか?

 「損保」の文字が含まれていたら G列
 「生保」の文字が含まれていたら J列
 「役所」の文字が含まれていたら M列
 なんですね。

 でしたら、それぞれの範囲に名前を付けておくのは同様ですが
 直接 =INDIRECT(D1) ではなく
 =INDIRECT(RIGHT(D2,2))
 って感じでやってみて下さい。

 挙げて下さっている例を見ると、後ろ二文字で特定出来そうだったのでその様にしています。
 実際のデータによっては、もう少し工夫が必要かも知れません。

 (HANA)

 HANAさん

 レス遅くなりました<m(__)m>

 INDIRECTは今一つよく理解出来ませんでしたが、RIGHT(D2,2)をヒントにして、
 G列に損保、J列に生保、M列に役所と名前をつけ、 
 入力規則の元の値に
 =IF(RIGHT(D2,2)="損保",損保,(IF(RIGHT(D2,2)="生保",生保,(IF(RIGHT(D2,2)="役所",役所,"")))))
 としてみたら、お陰さまでなりました。

 次なる山は、「シートから別シートへの作成」です。
 (各グループの集計分類・集計分類数字の処理も解決しないといけませんが。。。)

 頑張ってみます。

 今回も解決でき、感謝感謝です(*^_^*)

 (JOJO)

コメント返信:

[ 一覧(最新更新順) ]


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