Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(macOS 12.0 : Microsoft 365)
データの抽出
投稿日時: 24/01/17 16:43:24
投稿者: per

シート2:
取引先別価格表

     A        B     C    D    E     F 
1 取引先コード   取引先名   商品A  商品B  商品C   商品D  
2   1-1    取引先1A支店  100   150   250   500
3   1-2    取引先1B支店  200   160   300   600 
4   1-3    取引先1C支店  300   170   350   700 
5   2-1    取引先2A支店  400   180   400   800 
6   2-2    取引先2B支店  500   190   450   900 

 
倉庫からの出荷表を元に価格を自動抽出し後に月次に反映させたいと考えています。
[シート2:取引先価格表]で取引先毎の商品価格を入力し[シート1:出荷表]へ反映させる方法を知りたいです。
 
@商品が保管してある配送倉庫から毎日出荷表が送られてきます。
Aその出荷表を[シート1:出荷表]に出荷日毎に上から詰めてコピペしていきます。
倉庫からの出荷表の項目は左から[ 出荷日 取引先コード 届出先 届先住所 商品コード 商品名 出荷総数量 ]とあります。
B倉庫からの出荷表には価格はありません。
Cそこで出荷表の出荷総数量の右隣のセルに取引先毎の商品価格を反映し毎日の売上をその右隣のセルに反映させたいです。
 
[シート2:商品先別価格表]1行目の[商品Aや商品Bなどが記載されているC1〜F1〜の行]には商品コードが記載されています。
 

回答
投稿日時: 24/01/17 17:52:21
投稿者: んなっと

シート2のシート名が"商品先別価格表"の場合の式。
 
       B    C     D      E    F      G   H
1 取引先コード 届出先 届先住所 商品コード 商品名 出荷総数量 価格
2      1-3             商品C            350
3      1-2             商品B            160
4      2-2             商品D            900
5      2-1             商品A            400
 
H2
=IF(B2="","",LET(x,取引先別価格表!$1:$500,XLOOKUP(E2,TAKE(x,1),XLOOKUP(B2,TAKE(x,,1),x))))
下方向・↓

投稿日時: 24/01/17 17:52:56
投稿者: per

per さんの引用:
シート2:
取引先別価格表

     A        B     C    D    E     F 
1 取引先コード   取引先名   商品A  商品B  商品C   商品D  
2   1-1    取引先1A支店  100   150   250   500
3   1-2    取引先1B支店  200   160   300   600 
4   1-3    取引先1C支店  300   170   350   700 
5   2-1    取引先2A支店  400   180   400   800 
6   2-2    取引先2B支店  500   190   450   900 

 
倉庫からの出荷表を元に価格を自動抽出し後に月次に反映させたいと考えています。
[シート2:取引先価格表]で取引先毎の商品価格を入力し[シート1:出荷表]へ反映させる方法を知りたいです。
 
@商品が保管してある配送倉庫から毎日出荷表が送られてきます。
Aその出荷表を[シート1:出荷表]に出荷日毎に上から詰めてコピペしていきます。
倉庫からの出荷表の項目は左から[ 出荷日 取引先コード 届出先 届先住所 商品コード 商品名 出荷総数量 ]とあります。
B倉庫からの出荷表には価格はありません。
Cそこで出荷表の出荷総数量の右隣のセルに取引先毎の商品価格を反映し毎日の売上をその右隣のセルに反映させたいです。
 
[シート2:商品先別価格表]1行目の[商品Aや商品Bなどが記載されているC1〜F1〜の行]には商品コードが記載されています。
 

 
 
追記
 
シート1:
出荷表

   A     B      C    D     E    F    G     H    I
1 出荷日 取引先コード 届出先 届先住所 商品コード 商品名 出荷総数量 商品単価 売上
2  1/5   1-2  取引先1B支店 愛知  100A   商品A  12     200  2400
3  1/7   2-1  取引先2A支店 大阪  200B   商品B  20     180  3600



 
[シート1:出荷表]
H列に取引先毎の商品価格を反映したい。
売上は [ I列 = G列 × H列 ] で出します。

回答
投稿日時: 24/01/17 17:53:49
投稿者: んなっと

1行目修正。
シート2のシート名が"取引先別価格表"の場合の式。

投稿日時: 24/01/17 18:18:49
投稿者: per

んなっと さんの引用:
1行目修正。
シート2のシート名が"取引先別価格表"の場合の式。

 
んなっと様
 
ご回答ありがとうございます。
 
お世話になります。
 
会社のPCでX LOOKUP関数やLET関数対応ではないOFIICEソフト(WPS等)を使用している者が場合に備えて、
他の関数での対応は可能でしょうか?

投稿日時: 24/01/17 19:27:13
投稿者: per

んなっと さんの引用:
シート2のシート名が"商品先別価格表"の場合の式。
 
       B    C     D      E    F      G   H
1 取引先コード 届出先 届先住所 商品コード 商品名 出荷総数量 価格
2      1-3             商品C            350
3      1-2             商品B            160
4      2-2             商品D            900
5      2-1             商品A            400
 
H2
=IF(B2="","",LET(x,取引先別価格表!$1:$500,XLOOKUP(E2,TAKE(x,1),XLOOKUP(B2,TAKE(x,,1),x))))
下方向・↓

 
ちなみに、
 
H2=#NAME? と出てきます。
 
バージョンは Microsoft 365 バージョン 16.79.2 を使用しています。

回答
投稿日時: 24/01/17 19:29:58
投稿者: んなっと

これは?
=IF(B2="","",VLOOKUP(B2,取引先別価格表!$2:$500,MATCH(E2,取引先別価格表!$1:$1,0),FALSE))

投稿日時: 24/01/18 09:06:36
投稿者: per

んなっと さんの引用:
これは?
=IF(B2="","",VLOOKUP(B2,取引先別価格表!$2:$500,MATCH(E2,取引先別価格表!$1:$1,0),FALSE))

 
おっ!答えが出ました!ありがとうございます。
 
ちなみに、取引先名で抽出する場合に
 
H2セル
=IF(B2="","",VLOOKUP(B2,取引先別価格表!$2:$500,MATCH(E2,取引先別価格表!$1:$1,0),FALSE))
 
B2をC2と置き換えてみましたが#N/Aとエラーが出ます。
 
色々と調べたりと試みたのですが、解答が得られず最後ご教示お願いします。

回答
投稿日時: 24/01/18 09:20:38
投稿者: んなっと

       C     D      E    F      G   H
1    届出先 届先住所 商品コード 商品名 出荷総数量 価格
2 取引先1C支店         商品C            350
3 取引先1B支店         商品B            160
4 取引先2B支店         商品D            900
5 取引先2A支店         商品A            400
 
H2
=IF(C2="","",VLOOKUP(C2,取引先別価格表!$B:$EZ,MATCH(E2,取引先別価格表!$B$1:$EZ$1,0),FALSE))
下方向・↓

投稿日時: 24/01/18 09:34:37
投稿者: per

んなっと さんの引用:
       C     D      E    F      G   H
1    届出先 届先住所 商品コード 商品名 出荷総数量 価格
2 取引先1C支店         商品C            350
3 取引先1B支店         商品B            160
4 取引先2B支店         商品D            900
5 取引先2A支店         商品A            400
 
H2
=IF(C2="","",VLOOKUP(C2,取引先別価格表!$B:$EZ,MATCH(E2,取引先別価格表!$B$1:$EZ$1,0),FALSE))
下方向・↓

 
んなっと 様
 
ありがとうございます。
これで取引先コードと届出先名のどちらかで、柔軟に抽出ができます。
 
月次資料作成に取り組みます。
 
また分からないことがありましたら
質問致します。
 
何卒宜しくお願い致します。