[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表形式の変更方法』(ちえる)
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 >
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
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.