2016-08-25 10 views
0

列Aに部分のリストがあり、行1にyyyy/mm単位の週が入力される並べ替えの行列を作成していますフォーマット。私がしようとしているのは、各部品の需要量が週ごとに列挙されている集計シートの数量データをこの行列に入力することです。この集計シートでは、列Aはパーツを列挙し、列Bは週を列挙し、列Cは数量を列挙する。INDEX-MATCHを使用して2つの列の値を検索し、3番目の値を返す

I列からの値が& Bマトリックスシートに、それぞれ列Aと行1の値と一致する場合、列Cの値をフェッチするために、式の=INDEX(MATCH(),MATCH())タイプを書き込もうとするが、持ってきました#REFエラーだけが返されました。この時点で私は目の第二のペアが必要です。

=INDEX(MRP!$C$1:$C$6400,MATCH(A2,MRP!$A$2:$A$6400,0),MATCH(B1,MRP!$B$2:$B$6400,0))

アム私はこれについて行く正しい方法、または別の方法ではなく、必要とされている:ここで式は?

答えて

1

セルB2 = SUMIFS(MRP $ C:$ Cを、MRP $ A:!!$ A、シート1 $ A3、 MRP!$ B:$ B、Sheet1!B $ 1)

これらを上下にコピーすることができます。

1

一致しようとしているアレイの範囲外であるため、#REFエラーが発生しています。 index関数は、2つの引数と1つのオプションの引数を取ります。あなたの式を見てみる

INDEX(array, row_num, [column_num]) 

=INDEX(MRP!$C$1:$C$6400,MATCH(A2,MRP!$A$2:$A$6400,0),MATCH(B1,MRP!$B$2:$B$6400,0)) 

  • MRP!$C$1:$C$6400
  • MATCH(A2,MRP!$A$2:$A$6400,0)行番号を取得する照合する配列です。たぶんMATCH(A1....)でしょうか?
  • MATCH(B1,MRP!$B$2:$B$6400,0)は、列番号を取得します。

しかし、一致する配列には1つの列しかないため、一致関数の列番号は1より大きく、配列の範囲外です。あなたは、列AとBの両方の値と一致する必要がある場合

、あなたはあなたのケースで

=MATCH(lookup_value_1 & lookup_value_2, lookup_array_1 & lookup_array_2, match_type) 

に一致するように、この式を使用することができ、それは次のようになり

=MATCH(A1 & B1, MRP!$A$2:$A$6400 & MRP!$B$2:$B$6400, 0) 
あなたがする必要があります

Enterを押すのではなく、Ctrl+Shift+Enterを使用して式をコミットしてください。これにより、列AとBの両方がセルA1B1に一致する行番号が取得されます。

最後に、あなたはインデックスそれは

=INDEX(MRP!$C$1:$C$6400,Result from above match,0) 
+0

(Ctrl + Shift + Enterでコミットした後でも)推奨する式の最初のステップでまだ#NAのエラーが表示されていますが、これは近いです。 '= INDEX(MRP!C2:C6400、MATCH(A2、MRP!A2:A6400,0))'は、最初の数量を返します。その部分の値がリストされています。 '= INDEX(MRP!C2:C6400、MATCH(B1、MRP!B2:B6400,0))'は、そのyyyy/ww日付の最初の数量値を返します。最終的な目標は検索を絞り込むことで、その特定のyyyy/ww日付でその部分の特定の数量を取得します。 –

+0

この行を試してください '= MATCH(A1&B1、MRP!$ A $ 2:$ A $ 6400&MRP!$ B $ 2:$ B $ 6400、0)'。これは、あなたが探しているものを正確に得るためのもので、両方の基準に一致する行です。 – davidhu2000

+0

私はまだ '#VALUE'エラー(' Ctrl + Shift + Enter 'で '#N/A'に変わります)を得ています。 –

0

私はSUMIFSを使用することができます。月の番号を使用して第二のシートでのヘルパーの列を作成し、使用

=SUMIFS(sheet2!column C, sheet 2!helper column, month(sheet1!A$1),sheet2! column A, sheet1!$A1) 
関連する問題