[[20121224120247]] 『Aと言う表から条件抽出し別シートのBの表に追加す』(shun) ページの最後に飛ぶ

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

 

『Aと言う表から条件抽出し別シートのBの表に追加する』(shun)
Windows7、Excel2010の質問です。
seet1に、在庫表という表を作り商品が売れ、売上金額を記入たらseet2の発送予定表に追加していくような設定はできるでしょうか?
たとえば、

seet1の表
商品名(B2) 売上金額(C2)
商品名(B3) 売上金額(C3)
商品名(B4) 売上金額(C4)
商品名(B5) 売上金額(C5) ※「売上金額」は未記入

という表で、

商品名(B2) \5000(C2)←金額を入力
商品名(B3) 売上金額(C3)
商品名(B4) 売上金額(C4)
商品名(B5) 売上金額(C5)

と、C2に金額を入れて

seet2の表
商品名(seet1のB2)  発送予定日○月○日
   ・
   ・
   ・

というように商品名だけをseet2の表に反映したいのと、
たとえばseet1のB4の商品が売れたらseet2の最初の商品の下のセルに反映させることはできるでしょうか?

分かりずらい質問とは思いますがよろしくお願いいたします。
当方、VBAは初心者です。


 Sheet1のD列 作業列

 D2 =IF(C2,COUNT(C$2:C2),"")
 下へコピー。

 Sheet2

 B2 =IF(MAX(Sheet1!D:D)<ROW(A1),"",INDEX(Sheet1!B:B,MATCH(ROW(A1),Sheet1!D:D)))
 下へコピー。

 ※発想予定日はハンド入力?

 (GobGob)

 >たとえばseet1のB4の商品が売れたらseet2の最初の商品の下のセルに反映させることはできるでしょうか?

 これが良くわからないんだけど、

 @ Sheet1に入力する金額は必ず1種類なの? 
 A 「売れた」とどう判断するの?

 (GobGob)


回答ありがとうございます。

発送予定は手入力です。

出来ました!
ありがとうございます!!

追加質問
@は商品ごとに金額は違います。
A実質販売額を記入して入り上げの管理をします。
(shun)


 Sheet1
	A	B	C	D
1		商品名	売上	作業列
2		A	5000	1
3		B		
4		C	2000	2
5		D		
6				

 Sheet2
	A	B	C	D
1		商品名		
2		A		
3		C		
4				
5				
6				

 この場合はSheet1のA/C商品に金額が入ってるのでSheet2に抽出。
 なんだけど、もし、Sheet1で言う「D」の商品が「売れた」ら

 >seet2の最初の商品の下のセルに反映させることはできるでしょうか?
 この例だと商品「A」の下に反映されるの?

 >A実質販売額を記入して入り上げの管理をします。 
 いやいや。そんな管理だろうけど「Excelのどのセルに」記入するのか?が提示ないよ。

 なんか全然良くわからないんだけど。

 どんな結果が得たいのか?一度 例表を提示してみては?

 (GobGob)

たびたび申し訳ございません。

GobGob様が教えてくださった方法でできるはできたのですが、
ご指摘いただいたように、Sheet2に加えていくと順番が入れ替わってしまします。
Sheet2の商品名の順番は入力された順にしたいです。

できますでしょうか?

よろしくお願いいたします。

 Sheet1
	A	B	C	D
1		商品名	売上	作業列
2		A	5000	1
3		B	2500	4
4		C	2000	2
5		D	4000	3
6				
 Sheet2
	A	B	C	D
1		商品名		
2		A		
3		C		
4		D		
5		B		
6				

上記のようにしたいです。

(shun)


 この場合、「作業列」が、オイラの回答ではダメな順番になってるよね。
 これって結局は予定・済の違いをshunさんのさじ加減で決めてるんでしょ?

 なら「予定」「済」をExcelにキチンと教える処理をしないとアカンよ。

 発想を変えてSheet1のD列に「予定」「済」を入力してE列を作業列にしてみては?

	A	B	C	D	E
1		商品名	売上	予定/済	作業列
2		A	5000	済	1
3		B	2500	予定	3
4		C	2000	済	2
5		D	4000	予定	4
6					

 D列 に「予定」「済」を入力
 E2 =IF(D2="済",COUNTIF(D$2:D2,"済"),COUNTIF(D:D,"済")+COUNTIF(D$2:D2,"予定"))

 Sheet2

 B2 =IF(MAX(Sheet1!E:E)<ROW(A1),"",INDEX(Sheet1!B:B,MATCH(ROW(A1),Sheet1!E:E)))

 (GobGob)


なるほどです。
しかし、Sheet1では、在庫の管理、Sheet2では発送の管理をしたいのです。
GobGob様が提案していただいている表ですと、Sheet1のみで両方管理できてしまうので
Sheetを分けず良くなってしまします。

面倒で申し訳ありません・・・・

(Shun)


 それだとSheet2で「済」「予定」の作業列を元に・・・みたいな処理になるんで
 マクロのほうがいいかもね

 ※マクロは出来ないんで識者さんの回答を待ってみてちょ。

 (GobGob)

ありがとうございます!!!


コメント返信:

[ 一覧(最新更新順) ]


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