[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『部分一致の文字からプルダウンリストを選択する方法』(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.