2016-06-14 6 views
0

私はExcelデータシートで作業しています。その中で私は、最初の2つのcolumns.Myサンプルデータプランの条件を満たし、第3列の値を取得したい以下のようにされています。ID1は「BB」と言うとき今私はをしたい3つ目の列の値を取得する方法は2つの条件を満たすか?

| A | B | C 
1 | ID1 | ID2 | VALUE 
2 | AA | CC | 14 
3 | BB | AA | 24 
4 | CC | DD | 15 
5 | DD | AA | 13 
6 | BB | CC | 8 
7 | AA | BB | 21 
8 | DD | BB | 11 
9 | CC | AA | 16 
10 | DD | CC | 26 
11 | BB | DD | 15 
12 | CC | BB | 14 
13 | AA | DD | 19 

ID2がそのセル内に表示されなければならないので、任意のセルに「DD」を言うあります。 にはID1とID2のいずれかの値を使用でき、3番目の列に対応する値が表示されます。

我々は、複数の式や複雑な数式を使用するために必要なもののマクロ、コーディングあなたが知っていれば...私を助けて、私はを使用することを好む、ないてください。

+0

これは実行できます。あなたの条件を満たす行が1行以上ある可能性はありますか?複数の行が条件を満たすことができる場合は、3番目の列の最初の行、最後の行、または3番目の列の結果を求めますか? –

+0

いいえ、複数の行が条件を満たす可能性はなく、すべての組み合わせが一意です。 – PavanV

答えて

0
=SUMPRODUCT((A2:A13="BB")*(B2:B13="DD")*(C2:C13)) 

条件を満たす一意の行のみが存在する場合に有効なソリューションです。実際には、列Cの結果がすべて数値であると仮定して、条件に一致するすべての結果を合計します。

=INDEX(C2:C13,AGGREGATE(14,6,(A2:A13="BB")*(B2:B13="DD")*ROW(A2:A13),1)-1) 

あなたの条件に一致する最後の行が表示されます。 C言語の数値以外の場合にも使用します

=INDEX(C2:C13,AGGREGATE(15,6,ROW(A2:A13)/((A2:A13="BB")*(B2:B13="DD")),1)-1) 

あなたの条件に一致する最初の行が表示されます。 C言語で数値以外の数値にも対応します

+0

ありがとう#Forward Ed、 SUMPRODUCTの式が私に役立ちます。 – PavanV

+0

@PavanV私はサックプロダクトの式を編集しました。そこにはいけないべき余分な-1がありました。 –

関連する問題