• ベストアンサー

表の中から特定の数値を検索したい

下記のような表の中があるとします。この中から、特定の部品を毎月、発注するために、Orderの数字を抽出するとします。 X1、X2、X3…部品番号です。各部品に、所要、注文(予定)、在庫の三項目がそれぞれぶら紐づいており、これが1000点くらいあるものとお考えください。 X1 Sep-09 Oct-09 Nov-09 Demand 1000 2000 3000 Order 5000 2000 2000 Inv 4000 7000 6000 X2 Sep-09 Oct-09 Nov-09 Demand 1000 2000 3000 Order 2500 4000 4000 Inv 1500 2000 3000 X3 Sep-09 Oct-09 Nov-09 Demand 1000 2000 3000 Order 2000 3000 4000 Inv 1000 1000 1000 さらに各部品にはMOQ(最小発注単位)が設定されており、 実オーダー時にはこの刻みによる計算が必要です。 例 MOQ X1 2500 pcs X2 2000 pcs X3 1500 pcs 部品番号と該当月だけを入力することで、Order数が検索され、なおかつMOQ刻みの計算(Roundupでよいです)が抽出される関数を求めたいです。 Hlookup、Vlookup、Match、Indexあたりをいろいろ触ってみましたが どれも完全にはカバーできません。 皆様のお知恵を拝借できますでしょうか?できれば数日以内にいただけますと大変助かります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.2

Sheet1    A    B    C    D 1  X1   Sep-09 Oct-09 Nov-09 2  Demand  1000  2000  3000 3  Order   5000  2000  2000 4  Inv    4000  7000  6000 5  X2   Sep-09 Oct-09 Nov-09 6  Demand  1000  2000  3000 7  Order   2500  4000  4000 8  Inv    1500  2000  3000 9  X3   Sep-09 Oct-09 Nov-09 10 Demand  1000  2000  3000 11 Order   2000  3000  4000 12 Inv    1000  1000  1000 Sheet2   A   B    C 1 Pt# Date  Order 2 X2  Sep-09  2500 3 X3  Oct-09  3000 4 X1  Nov-09  2000 Sheet2!C2: =INDEX(Sheet1!A$1:D$12,MATCH(A2,Sheet1!A$1:A$12,0)+2,MATCH(B2,Sheet1!A$1:D$1,0))

honeybathroom
質問者

お礼

ありがとうございました。バッチリでした。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

最初の表がシート1のA列からD列にあるとします。例えば日付がX列まで伸びていてもかまいません。 また、一つの部品番号あたり3行が使われているとします。 MOQの表はシート2のA列とB列に入力されているとします。 シート3にはご質問の答えの表を作るとします。 A1セルに部品番号、B1セルに日付、C1セルにOrder数、D1セルにMOQとそれぞれ文字を入力し、データは下方に表示させるとします。 例えばA2セルにX3と入力し、B2セルには2009/10/9と入力したとします。 C2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",INDEX(Sheet1!$A:$X,MATCH($A2,Sheet1!$A:$A,0)+2,MATCH($B2,INDIRECT("Sheet1!"&MATCH($A2,Sheet1!$A:$A,0)&":"&MATCH($A2,Sheet1!$A:$A,0)),0))) これでC2セルには3000と答えが表示されます。 D2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",VLOOKUP(A2,Sheet2!A:B,2,FALSE)) これでD2セルには1500pcsと表示されます。

honeybathroom
質問者

補足

ありがとうございます。後者のMOQについては正しく1500と表示されましたが、Order数が3000と表示されず#N/Aになってしまいます。

関連するQ&A