[[20091217070330]] 『sheet1とsheet2を比べたい』(なみへい) ページの最後に飛ぶ

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

 

『sheet1とsheet2を比べたい』(なみへい)

 1行目に「出荷日」「品名」「得意先」「数量」というデータを
 sheet1とsheet2と比べて数量が変わっていたり
 sheet1に記載されていない得意先がsheet2にあったりした時に
 数量が変わっていたらその誤差を、記載されていなかったら
 「データ無し」とsheet2に表示させるにはどうしたら良いですか?

いろいろやってみたのですが、お知恵を借りたいです。


 「=出荷日&"_"&品名&"_"&得意先」というKey列を両シートに作成し、
 Sheet2側でMATCH関数による存在確認と該当行番号の取得。

 IF関数で、返値が#N/Aだったら
     「データなし」を
 返値が数字だったら
     INDEX関数でSheet1の該当行から金額を呼び出して差額を
     (Sheet1に重複がある場合はSUMIF関数か)
 という分岐をする。

 って感じで如何ですか?

 (白茶)


 ご説明に無い部分が色々発覚しそうですが。。。

 基本的には白茶さんと同じです。

 キーになる列を作って
 それらでマッチングさせていく方法が
 使えるかもしれません。

 ★が付いている列に数式を入れます。

 Sheet1	[A]	[B]	[C]	[D]	[E] ★		
[1]	出荷日	品名	得意先	数量	KEY		
[2]	12月2日	リンゴ	A	10	40149_リンゴ_A		
[3]	12月2日	みかん	B	20	40149_みかん_B		
[4]	12月4日	リンゴ	B	10	40151_リンゴ_B		
[5]	12月4日	みかん	B	20	40151_みかん_B		
[6]	12月9日	リンゴ	A	30	40156_リンゴ_A		
[7]	12月11日	みかん	B	20	40158_みかん_B		
[8]					↑E2に=IF(A2="","",A2&"_"&B2&"_"&C2)		

 Sheet2	[A]	[B]	[C]	[D]	[E] ★	[F] ★	[G] ★
[1]	出荷日	品名	得意先	数量	確認	sh1数	KEY
[2]	12月2日	リンゴ	A	10		10	40149_リンゴ_A
[3]	12月2日	みかん	B	20		20	40149_みかん_B
[4]	12月4日	リンゴ	A	10	なし	0	40151_リンゴ_A
[5]	12月4日	みかん	B	20		20	40151_みかん_B
[6]	12月9日	リンゴ	A	10	20	30	40156_リンゴ_A
[7]	12月11日	みかん	B	20		20	40158_みかん_B
[8]					↑	↑F2に=SUMIF(Sheet1!$E$1:$E$20,G2,Sheet1!$D$1:$D$20)	
					|		↑G2に=IF(A2="","",A2&"_"&B2&"_"&C2)
					|E2に=IF(A2="","",IF(F2=0,"なし",IF(D2=F2,"",F2-D2)))		

 (HANA)


白茶さん、HANAさん。有難うございました。

 sh1数やKEYの意味がよく分りません...
 基本的にHANAさんが作成した表みたいな感じで
 E列に表示したかったのですが...

 sheet1の列にそれぞれ専用のコードを入れるという事ですか?

(なみへい)


 4つの列に、数式を入れてください。
 見出しが「KEY」と成っている列は
 5桁の数字で始まっていますが、これは
   =IF(A2="","",A2&"_"&B2&"_"&C2)	
 等の数式を入れただけで、勝手にこの様に成ると思います。

 Sheet1のE列に結果を表示するために
 Sheet1のE列と、Sheet2のF列,G列の計算結果が必要に成ります。
  (細かいことを言えば、Sheet1のE列以外は
     Sheet2のE列の式内で済ませても良い事かもしれませんが。)

 Sheet2のF列の式は、それぞれの行が対応するSheet1の数量を返します。
 その為に、Sheet1のE列とSheet2のG列に入れた式の結果を使用ています。

 求められたSheet2のF列の結果を参照して
 Sheet2のE列に、最終結果を表示します。

 (HANA)

HANAさん、ありがとうございます。

 なんとかうまく出来ました。
 有難うございました。

(なみへい)


コメント返信:

[ 一覧(最新更新順) ]


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