6

2つ以上の基準に一致する最初の行から値を返す式はありますか?たとえば、「列A=xかつ列B=yである最初の行から列Cを返します」。列Aと列Bを連結せずに実行したいと思います。

ありがとう。

4

6 に答える 6

6

True = 1、False = 0

0 * 1 * 8 = 0であるため、D1は0を返します

1 * 1 * 9 = 9であるため、D2は9を返します

ここに画像の説明を入力してください

これにより、基準を変更できるようになります。 ここに画像の説明を入力してください

于 2012-05-14T12:48:59.650 に答える
5

これにはINDEX/MATCHを使用します。元:

データのテーブルがあり、列Aの値が「c」で列Bの値が「h」である列Cの値を返したいと思います。

サンプルレイアウト

次の配列数式を使用します。

=INDEX($C$1:$C$5,MATCH(1,(($A$1:$A$5="c")*($B$1:$B$5="h")),0))

Ctrl+ Shift+を押して、数式をコミットしますEnter

数式を入力したら、Excelの数式監査ツールを使用して評価をステップ実行し、計算方法を確認できます。

于 2012-05-30T18:49:16.013 に答える
3

SUMPRODUCT複数の基準の一致の合計が必要な場合は、間違いなく価値があります。しかし、私があなたの質問を読む方法VLOOKUPでは、最初の一致を返すようなものが必要です。これを試して:

複数の基準INDEXMATCH

便宜上、の式G2は次のとおりです-配列エントリが必要です(Ctrl+Shift+Enter

[編集:ここで数式を更新しましたが、スクリーンショットでは更新していません] =INDEX($C$1:$C$6,MATCH(E2&"|"&F2,$A$1:$A$6&"|"&$B$1:$B$6,0))

注意すべき2つのこと:

  1. SUMPRODUCT結果のタイプが数値でない場合は機能しません
  2. SUMPRODUCT(のように)SUM最初の一致ではなく、基準に一致する結果を返しますVLOOKUP
于 2012-05-14T23:25:58.993 に答える
0

どうやらあなたはSUMPRODUCT関数を使うことができます。

于 2012-05-14T12:41:21.900 に答える
0

実際、彼が求めているのは、Excelでの典型的な複数の結果表示オプションだと思います。これは、配列のSmallおよびrow関数を使用して実行できます。

これにより、さまざまな基準に一致するすべての結果が表示されます

于 2013-01-16T08:11:22.513 に答える
0

これは、SUMPRODUCTとテーブルヘッダールックアップを使用してこれを行う方法を示す回答です。これの主な利点:数値またはその他の任意の値で機能します。

したがって、MyTableというテーブルにヘッダーH1、H2、およびH3があるとします。そして、おそらく別のシートの行1にこれを入力するとします。そして、H1、H2をそのシートのx、yにそれぞれ一致させ、H3で一致する値を返します。その場合、式は次のようになります。

=INDEX(MyTable[H3], ROUND(SUMPRODUCT(MATCH(TRUE, (MyTable[H1] & MyTable[H2]) = ($x1 & $y1),0)),0),1)

それは何をするためのものか?sum-productは、すべてが配列として扱われることを保証します。したがって、テーブル列全体を連結して、連結された値の配列を動的に計算することができます。次に、これらをxおよびyの既存の値と比較できます。魔法のように、テーブルの連結配列をxおよびyの個々の連結と比較できます。これにより、真の偽の値の配列が得られます。これをtrueに一致させると、ルックアップの最初の一致が得られます。そして、私たちがする必要があるのは、戻って元のテーブルにインデックスを付けることだけです。

ノート

四捨五入は、Index関数が整数を返すことを確認するためにあります。四捨五入するまで#N/A値を取得しました。

何が起こっているのかを確認するために、これを評価者に実行する方が有益かもしれません...

これは、テーブル以外で機能するように簡単に変更できます。テーブル参照を生の範囲に置き換えるだけです。ただし、表はより明確なので、可能であればそれらを使用してください。これの元のソースをここで見つけました:http://dailydoseofexcel.com/archives/2009/04/21/vlookup-on-two-columns/。しかし、INTへのルーティング値にバグがあったので、それを修正しました。

于 2019-12-06T18:19:07.233 に答える