[[20200817093622]] 『表形式の変更方法』(ちえる) ページの最後に飛ぶ

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

 

『表形式の変更方法』(ちえる)

   A    B    C    D    E   F
1  品番 品名 ロット 梅田  品川 横浜
2  100 りんご L10    7         3
3  200  いちご L20   5   
4   300  みかん L30       8   5

〜sheet1〜

上記の表を、下記の形に変換したいです。

   A    B    C    D    E
1  品番 品名 ロット  納品先 納品数
2 100 りんご L10   梅田    7
3 200  いちご L20   梅田    5
4 300  みかん L30   梅田    0
5 100 りんご L10   品川    0
6 200  いちご L20   品川    0
7 300  みかん L30   品川    8
8 100 りんご L10   横浜    3
9 200  いちご L20   横浜    0
10 300  みかん L30   横浜    5 

〜sheet2〜

シート2のE列を関数で引っ張りたく思います。
何か方法はございますでしょうか?

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


Sheet2の

E2: =SUMPRODUCT((Sheet1!$A$2:$A$4=A2)*(Sheet1!$B$2:$B$4=B2)*(Sheet1!$C$2:$C$4=C2)*(Sheet1!$D$1:$F$1=D2)*Sheet1!$D$2:$F$4)

下にコピーします。

あるいは

E2: =INDEX(Sheet1!$D$2:$F$4,MATCH(A2&B2&C2,Sheet1!$A$2:$A$4&Sheet1!$B$2:$B$4&Sheet1!$C$2:$C$4,0),MATCH(D2,Sheet1!$D$1:$F$1,0))

この式は「Ctrl + Shift + Enter」キーで式入力を確定します。

(メジロ) 2020/08/17(月) 10:51


 >シート2のE列を関数で引っ張りたく思います。
 E列だけってこと?

 E2 =SUMIF(Sheet1!A:A,A2,INDEX(Sheet1!D:F,0,MATCH(D2,Sheet1!$D$1:$F$1,0)))
 下コピー

 少なくとも例示通りにはなります。

 以上
(笑) 2020/08/17(月) 11:37

メジロ様 (笑)様

どちらでも、導き出すことができました!
今までコピペで作成してましたので、大幅に作業効率できそうです。
本当にありがとうございます!

因みにですが、Sheet2のD列を、コピペ以外でだせる良い方法はございますでしょうか?
(ちえる) 2020/08/17(月) 11:44


 >Sheet2のD列を、コピペ以外で
 品番と納品先は、実際はそれぞれ何種類あるんですか?

 例のようにどちらも3種類なら

 D2 =INDEX(Sheet1!$D$1:$F$1,MOD(ROUNDUP(ROW(A1)/3,0)-1,3)+1)
 下コピー

 参考まで
(笑) 2020/08/17(月) 12:00

ついでにA〜D列まで数式で導いてはどうでしょうか?
Sheet1のデータが3行(2〜4行目)とした式です。

Sheet2!A2: =INDEX(Sheet1!$A$2:$C$4,MOD(ROW(A1)-1,3)+1,COLUMN(A1))

C列までコピーして、下にも必要数コピーします。

笑さんがご回答されていますが。

Sheet2!D2: =INDEX(Sheet1!$D$1:$F$1,INT((ROW(A1)-1)/3)+1)

(メジロ) 2020/08/17(月) 14:03


(笑)様 メジロ様 

ご教授頂きありがとうございます。

 >>品番と納品先は、実際はそれぞれ何種類あるんですか?
品番は10〜100種類あり、納品先は10前後です。
在庫状況次第で、商品や出荷先/出荷数も都度異なります。

情報不足で、申し訳ございませんが
同商品で同ロットが、違うロケーションにある為、複数行になる商品もあります。
また、同商品で複数のロットを出荷数場合もあります。

この条件を加味した際、教えて頂いた関数は正しく参照されますでしょうか?

〜例(同ロット他ロケ)〜

   A    B    C    D   E   F 
1 ロケ  品番 品名 ロット 梅田 品川  
2 1A-10 100 りんご L10    7       
3 1A-15  100  りんご L10   5   
4 AA-2  300  みかん L30      8

Sheet1

   A    B    C    D    E   F
1 ロケ   品番 品名 ロット  出荷先 出荷数
2 1A-10   100 りんご L10   梅田    7
3 1A-15  100  りんご L10   梅田    5
4 AA-2   300  みかん L30   梅田    0
5 1A-10   100 りんご L10   品川    0
6 1A-15  100  りんご L10   品川    0
7 AA-2   300  みかん L30   品川    8

Sheet2

(ちえる) 2020/08/17(月) 14:27


 ちょっと確認

 >また、同商品で複数のロットを出荷数場合もあります。 
  ↑ はどういう意味?
 これは例示の表に反映されてるんですか?
 されてないのなら、これがどういうことかわかるような表を提示してください。

 一応・・・

 ・Sheet1のA列は数式で空白にしていない
 ・Sheet1の出荷先は、E1セルから最大でP1セルまで
  という前提で

 E2 =IF(A2="","",INDEX(Sheet1!$E$1:$P$1,ROUNDUP(ROW(A1)/(COUNTA(Sheet1!A:A)-1),0)))

 F2 =IF(A2="","",SUMIF(Sheet1!A:A,A2,INDEX(Sheet1!E:P,0,MATCH(E2,Sheet1!$E$1:$P$1,0))))

 下コピー

 それとも、A〜D列も数式でってこと?

 以上
(笑) 2020/08/17(月) 15:41 変更 15:59

コメント返信:

[ 一覧(最新更新順) ]


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