[[20150116134851]] 『顧客情報検索フォームを作りたいのですが・・・』(とと) ページの最後に飛ぶ

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

 

『顧客情報検索フォームを作りたいのですが・・・』(とと)

希望としまして、シート1に顧客情報を入力していきます。
入力項目は横一列に入力して25項目程です。
フリガナから始まり、細かな個人情報が入り工事の履歴まで入力します。
工事履歴に関してはOB様になると履歴がいくつも入力されて行きます。(何件も)

それをシート2に検索セルを設け、そのセルにフリガナを入力すると該当のするお客様の情報が一目で解るように出てくるシステムが出来ないものかと思っています。

シート2に関しては、検索セルのしたにシート1と同じ項目の(個人情報データの入力項目)と同じ雛形があり、そこにデータが出てくるようにしたいのです。

エクセルの関数でVLOOKUPなど試してみましたが、上手く反映されずフリガナを入力して漢字の名前が出るくらいしか私には出来ませんでした。

情けないですが、どなたか助けてもらえませんか?

希望のフォームは

シート1

フリガナ・名前(漢字)・TEL・〒・住所・工事番号・工事履歴   他もろもろ

シート2

検索セル

フリガナ・名前(漢字)・TEL・〒・住所・工事番号・工事履歴   他もろもろ

こんな感じですが解りますでしょうか?

マクロを使わないと出来ないでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 <Sheet1>							
 	A	B	  C     D     E     F    G
 1 フリガナ 名前(漢字)TEL   〒	住所	工事番号 工事履歴
 2  アベ   阿部	1111-1111 111-1111	東京都   5    a
 3 イノウエ  井上	2222-2222 222-2222	神奈川県  10    b
 4  タナカ   田中	3333-3333 333-3333	埼玉県   15    c

 <Sheet2>							
 	A	B	  C     D     E     F    G
 1							
 2 フリガナ 名前(漢字)TEL   〒	住所	工事番号 工事履歴
 3							

 Sheet2のA1にフリガナを入れるとして
 Sheet2のA3セルに =IF($A$1="","",IFERROR(VLOOKUP($A$1,Sheet1!$A:$Y,COLUMN(A1),FALSE),"該当者がいません"))
 右方向にフィルコピー
 でどうでしょうか?
(se_9) 2015/01/16(金) 14:17

(se_9)さん

本当にありがとうございました。
予定通りのものが出来、本当に感謝です!

1つ大事な事を伝えていませんでした。

工事履歴は顧客によって何度もOBさんになって頂いている方もいて、余裕をもって
5件一人に対して枠を設けていたいのですが・・・
(後から入力可能なように)

入力の予定としてこんな感じでOBさんの工事履歴のみが増えていく。
この場合の数式も同じものが適用できるのでしょうか?

  <Sheet1>							
 	A	B	  C     D     E     F    G
 1 フリガナ 名前(漢字)TEL   〒	住所	工事番号 工事履歴
 2  アベ   阿部	1111-1111 111-1111	東京都   5    a
 3                             8    C
 4                              11       D
 5
 6  イノウエ  井上	2222-2222 222-2222	神奈川県  10    b
 7                                                          7        K

 8 
 9
10

(とと) 2015/01/19(月) 10:46


やってみましたが、やはり1人には工事履歴は1つしか上がってきません。

無理なのでしょうか?

(とと) 2015/01/19(月) 11:00


 ちょっと長いですが、下記ではどうですか?
 但し、工事履歴未入力の部分は0が返ってきます。

 【B3セル】
 =IF(ISERROR(INDIRECT(ADDRESS(MATCH($A$2,Sheet1!$A:$A,0)+ROW()-3,COLUMN(),,,"Sheet1"))),"該当なし",INDIRECT(ADDRESS(MATCH($A$2,Sheet1!$A:$A,0)+ROW()-3,COLUMN(),,,"Sheet1")))

 【C3〜G3,F4〜G7】
 =IF($B$2="該当なし","",INDIRECT(ADDRESS(MATCH($A$2,Sheet1!$A:$A,0)+ROW()-3,COLUMN(),,,"Sheet1")))

(どなみ) 2015/01/19(月) 11:47

 ※Sheet2のセルを勘違いしていたので一部訂正しました
(どなみ)1/19 11:50

(どなみ)さん

お知恵を貸して頂き、本当にありがとうございます。

シート2のE3〜G5までだけ数式をいれてみましたが、#N/Aのエラーがでてしまいました。

 <Sheet1>							
 	A	B	  C     D     E     F    G
 1 フリガナ 名前(漢字)TEL   〒	住所	工事番号 工事履歴
 2  アベ   阿部	1111-1111 111-1111	東京都   5    a
 3                             8    C
 4                              11       D
 5

 <Sheet2>							
 	A	B	  C     D     E     F    G
 1 フリガナ 名前(漢字)TEL   〒	住所	工事番号 工事履歴
 2  アベ   阿部	1111-1111 111-1111	東京都   5    a
 3                             #N/A    #N/A  
 4                                     
 5

(とと) 2015/01/19(月) 12:48


補足です

A3〜E3は空白のままだからでしょうか?

見栄えを良くするためにシート2の形式を

 <Sheet2>							
 	A	B	  C     D     E    
 1 フリガナ 名前(漢字)TEL   〒	住所	
 2  アベ   阿部	1111-1111 111-1111	東京都   
 3 工事番号   工事履歴                            
4
5
6
7
となっているからでしょうか?

(とと) 2015/01/19(月) 12:56


 あれ、セル位置は最初の解釈であってたみたいですね(^^;
 にしても、訂正した数式もセルが正しく修正されてませんでした。
 スミマセン。

 下記の通り修正してみてください。

 【B2セル】
 =IF(ISERROR(INDIRECT(ADDRESS(MATCH($A$2,Sheet1!$A:$A,0)+ROW()-2,COLUMN(),,,"Sheet1"))),"該当なし",INDIRECT(ADDRESS(MATCH($A$2,Sheet1!$A:$A,0)+ROW()-2,COLUMN(),,,"Sheet1")))

 【C2〜G2,F3〜G6】
 =IF($B$2="該当なし","",INDIRECT(ADDRESS(MATCH($A$2,Sheet1!$A:$A,0)+ROW()-2,COLUMN(),,,"Sheet1")))

 と、ここまできて、ととさんから追加コメントですね。
 特にそのフォームでも問題ないと思います。
 上記で一度試してみてもらえますか?

(どなみ) 2015/01/19(月) 13:05


どうしてもうまく行きません。
検索シートの方に関数を入れてますが、どこがどう間違っているのか全然反映されなくなってしまいました。

すみません

(とと) 2015/01/19(月) 15:49


仕方がないので、一人の顧客データを一行で、ずーっと入れ最初に教えて頂いた関数を応用させて頂きました。
つたない私の文章で、混乱させてしまったかもしれませんが、お知恵を貸して頂いた方々へ本当に感謝いたします。

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

(とと) 2015/01/19(月) 16:27


 ととさんが使用されているシートの正しいレイアウトをもう一度教えて頂けませんか。
 一度1件目が表示されたということなので、
 本来のレイアウトが違うくらいしか思いつかないのですが。

 検索する顧客名は<Sheet2>のA2セルでいいんですよね?
 工事番号と工事履歴は、2行目、3行目どちらに1件目が表示されるのでしょうか。

 と、ここまで書きましたが、ととさんが終了宣言してしまったので、終わりにします。
 ととさんがご覧になって、再度書き込み頂けるようでしたら、なんとか解決したいと思いますが。。。

 ※VLOOKUPで対応されるということなので、
  5件程度であれば、H列以降に過去の履歴を入力するようにすれば、いいかと。。。
  見づらいかもしれないですが。

 お役に立てず、申し訳ありません。
(どなみ) 2015/01/19(月) 16:33

(どなみ)さん

ありがとうございます!

本日の業務が終わってしまい、明日、また来ても良いでしょうか?

勝手言って、すみません。

お心遣いに感謝です。
(とと) 2015/01/19(月) 16:55


 >本日の業務が終わってしまい、明日、また来ても良いでしょうか?
 私も明日の方が助かります(笑)

 返信は遅くなってしまうかもしれませんが、
 回答したものには責任もって出来る限りお力になりたいと思いますので。

 「もう無理!」と思ったらお手上げ宣言はしますので、
 ご返信は気長にお待ち頂けると嬉しいです。

 本日のお仕事お疲れさまでした(^^) 
(どなみ) 2015/01/19(月) 17:12

 横から失礼状態になってしまうのですが、最初のレイアウト通りと仮定して
 Sheet2の3行目には通常通りVLOOKUPの式を入れ、Sheet2のF4セルに
 =INDEX(Sheet1!F:F,MATCH($A$1,Sheet1!$A:$A,0)+ROW(A1))
 右と下にフィルコピー
 F4セルからG6セルを選択してセルの書式設定の表示形式でユーザー定義を
 選んで 0;;

 でどうでしょうか?
(se_9) 2015/01/20(火) 07:35 修正08:43

 se_9さんの数式の方がすっきりしてますね(^^)

 ととさん、上手くいくといいですね!
(どなみ) 2015/01/20(火) 09:53

おはようございます。

(どなみ)さん、(se_9)さんお返事感謝いたします。

どなみさんの言われている通り一度、本来のレイアウトをお知らせいたします。

シート1=顧客リスト
シート2=検索

シート名は上記に変更しています。

※ セルは、いくつか結合してあります。

<顧客リスト>

A1= フリガナ D1= 顧客名 G1= TEL J1= 〒 M1= 住所 V1=担当 W1=ランク X1=ルート Y1=ルート

Z1= 構造形態 AA1= 構造形態 AB1= 構造形態 AC1= 家族構成 AD1=次回予定箇所 AE1= 工事番号

AF1= 工事名 AG1= 契約日 AH1= 着工日 AI1= 完了日 AJ1= 工事金額

※ 一人のお客様でA1〜AD1までの入力は1回のみAE1〜AJ1の項目はAE5〜AJ5まで入力できるように枠を確保
  した状態で、二人目の顧客情報はA6から入力する。

<検索>

F3= 検索のフリガナを入力するセル

F7= フリガナ I7= 顧客名 L7= TEL O7= 住所 AB7= 担当

F9= ランク H9= ルート J9= ルート L9= 構造 N9= 構造 P9=構造 R9=家族構成 T9= 次回予定

F12= 契約日 H12= 着工日 J12= 完了日 L12= 工事番号 O12= 工事名 Z12= 工事金額

F14= 契約日   H14= 着工日  J14= 完了日 L14= 工事番号 O14= 工事名 Z14= 工事金額

F16= 契約日  H16= 着工日  J16= 完了日 L16= 工事番号 O16= 工事名 Z16= 工事金額

F18= 契約日   H18= 着工日  J18= 完了日 L18= 工事番号 O18= 工事名 Z18= 工事金額

F20= 契約日  H20= 着工日  J20= 完了日 L20= 工事番号 O20= 工事名 Z20= 工事金額

これが、すべてのレイアウトになります。

宜しくお願い致します。

(とと) 2015/01/20(火) 09:57


 レイアウトの提示ありがとうございます。
 最初にご提示頂いたレイアウトよりかなり複雑ですね(^^;

 結合セルは何か特別な理由があって結合されているのですか?
 結合セルはない方が、数式が簡素化できる場合もありますし、
 フォーマットが変更になった際もメンテナンスがしやすくなります。

 できれば結合セルはない方が望ましいのですが、
 その様なレイアウトには変更できないでしょうか。

 また、上記のレイアウトで質問がいくつかあります。
 ・Sheet1の結合されているセルは下記の認識で間違いないですか?
  フリガナ【A1:C1】/顧客名【D1:F1】/TEL【G1:I1】/〒【J1:L1】/住所【M1:U1】

 ・Sheet1は1行目からデータですか?タイトル行はないのでしょうか。

 数式の方は私の能力ではちょっとかかりそうなので、
 しばらくお待ちください。
(どなみ) 2015/01/20(火) 11:22

(どなみ)さん

シート1(顧客リスト)のセルの結合は解除しました。
A〜Tまでになりました。

それと、1行目はタイトル行でした、すみません。
宜しくお願い致します。

(とと) 2015/01/20(火) 11:33


 ご返信ありがとうございます。

 またまた回答でなくて申し訳ありません。

 解除頂いたのですね。。。
 しかし、そんなことを偉そうに言っておきながら、
 Sheet1とSheet2のレイアウトが結構違うので、
 ごり押しの数式になってしまいそうです。

 ちなみに。。。
 Sheet2に〒を表示するセルがないですが、OKですか?
 もしかしたら、O7に〒で、R7に住所かなぁ、、、なんて思ったもので。
(どなみ) 2015/01/20(火) 13:01

本当です!

今、O7に〒、 R7に住所とレイアウトを変更しました。

ありがとうございます。

私の為に、すみません宜しくお願い致します。
(とと) 2015/01/20(火) 13:21


 ととさん、小出しにしてすみません。

 さらに提案なのですが。。。

 Sheet1のタイトル、ダブっている項目名に番号を付けることってできますか?
 ・構造形態 → 構造形態1,構造形態2,構造形態3
 ・ルート  → ルート1,ルート2

 また、Sheet2の6,8,11行目に項目名を入れているのではないかと推測されますが、
 Sheet1と全く同じ項目名にすることは可能でしょうか。

 可能であれば、下記のように数式を入力してみてください。
 【F3】=IF($F$3="","",IFERROR(INDEX(Sheet1!$1:$65536,MATCH($F$3,Sheet1!$A:$A,0),MATCH(F6,Sheet1!$1:$1,0)),"該当なし"))
     →I3,L3,O3,R3,AB3へコピー

 【F9】=IF($F$3="","",IFERROR(INDEX(Sheet1!$1:$65536,MATCH($F$3,Sheet1!$A:$A,0),MATCH(F8,Sheet1!$1:$1,0)),"該当なし"))
     →H9,J9,L9,N9,P9,R9,T9へコピー

 【F12】=IF($F$3="","",IFERROR(INDEX(Sheet1!$1:$65536,MATCH($F$3,Sheet1!$A:$A,0)+INT(ROW(AH1)/2),MATCH(F$11,Sheet1!$1:$1,0)),"該当なし"))
    →H12,J12,L12,O12,Z12へコピー
    →12行目を14,16,18,20行目にコピー

 セルの書式を下記へ変更してください。
 【F12〜J20】 → ユーザー設定で「m/d;0;;」
 【L12〜Z20】 → ユーザー設定で「0;;」

 これでうまくいくといいのですが。。。
(どなみ) 2015/01/20(火) 14:03

【F12】=IF($F$3="","",IFERROR(INDEX(Sheet1!$1:$65536,MATCH($F$3,Sheet1!$A:$A,0)+INT(ROW(AH1)/2),MATCH(F$11,Sheet1!$1:$1,0)),"該当なし"))

ここの数式を入れた部分から、何も反映はれてきません。

エラーも出ていません、どうしてでしょう・・・?

しかし、お忙しい中 毎日毎日本当にありがとうございます。

また明日、お邪魔します。

本日も、お疲れ様でした。
(とと) 2015/01/20(火) 16:35


 以前、コメントした
 >Sheet1のタイトル、ダブっている項目名に番号を付けることってできますか?
 >・構造形態 → 構造形態1,構造形態2,構造形態3
 >・ルート  → ルート1,ルート2
 >
 >また、Sheet2の6,8,11行目に項目名を入れているのではないかと推測されますが、
 >Sheet1と全く同じ項目名にすることは可能でしょうか。

 この部分はご対応頂いているってことでいいですかね?

 7行目と9行目のデータは出てきていますか?
 11行目にSheet1と同じ項目名が入っていますか?

 6行目、8行目、11行目にそれぞれSheet1と同じ項目名が入力されていることが前提です。

 7行目・9行目が表示されているのであれば、あと一歩な気がするんですけど。。。
(どなみ) 2015/01/20(火) 16:51

     F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	AA	AB
  6 フリガナ			顧客名			TEL			〒			住所										担当
  7 タカハシ		高橋			44-4444-4444		444-4444			千葉県		 								木村
  8 ランク		ルート1		ルート2		構造形態1		構造形態2		構造形態3		家族構成		次回予定箇所								
  9 4		g		h		コウゾウ10		コウゾウ11		コウゾウ12		カゾク4		ヨテイ4		 						
 10 																						
 11 契約日		着工日		完了日		工事番号			工事名											工事金額		
 12 7/13		8/14		9/15		1			v											1100		
 13																						
 14 10/16		11/17		12/18		2			y											1200		
 15																						
 16 1/19		2/20		3/21		3			w											1300

 ととさん、私の想定しているSheet2のレイアウトはこんな感じです。
 6・8・11行目の項目名をご確認いただけますか?
(どなみ) 2015/01/20(火) 17:26

どなみさん

おはようございます、出来ました! 完璧に出来ましたよ!

本当に本当に、ありがとうございます。

感謝感謝です。   これから、どんどん活用させていただきます。

本当に、貴重な時間を毎日毎日 使わせてしまって、本当に感謝です!

また、お知恵を貸して頂くことがあると思いますが、その時も どうぞよろしくお願い致します。

(とと) 2015/01/21(水) 11:01


 ととさん、おはようございます。

 できましたか、よかったです(^^)

 できたのは良かったですが、私の質問にも答えて頂けると嬉しいです。
 どこが違っていて、どこを変更したら上手くいったか等知りたいので。

 もしこのコメントを見られたら、宜しくお願いします。
(どなみ) 2015/01/21(水) 11:13

すみません、喜びのあまり質問の事忘れていました。

Sheet1のタイトル

構造形態 → 構造形態1,構造形態2,構造形態3

ルート  → ルート1,ルート2

変えて、それでも 12の行が反映されず、考えたところ

(工事名=工 事 名)のように、どなみさんの指摘の通りの結果でした。

一見、同じ名前にしているのに?と、気づかなかった私でした・・・。

今回、どなみさんの教えてくださった数式を自分なりに意味を調べて少しでも自分で次に役立てられるように

なったらと思っています。

本当に、ありがとうございました。

(とと) 2015/01/21(水) 12:06


 ご返信ありがとうございます(^^)

 なるほど、そういうことでしたか。
 そうなんですよね、「見た目一緒」でも前や後ろに空白が入っているだけで、
 Excelは「違うもの」と判断しますし、
 文字列や数値という書式の違いでも「違うもの」と判断されます。
 そのあたりの仕組みが分かると、数式を作っていても結構楽しいですけどね(^^)

 もし数式でご質問があったら説明は苦手なんですが、
 また書き込み頂ければ、頑張って説明させてもらいます。

 多分、もっとスマートな数式があるかと思いますが、自分にはこれが精一杯でした。
(どなみ) 2015/01/21(水) 13:30

どなみさん

私には、こんな つたない日本語の説明で、よくイライラもせず最後までお付き合いくださったと

本当に、ありがたかったです。

神様、仏様でした。  

また、宜しくお願い致します!
(とと) 2015/01/21(水) 16:31


コメント返信:

[ 一覧(最新更新順) ]


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