1

2 つの Excel スプレッドシートがあります。

1 つは ID と日付を持ち、もう 1 つは ID、2 つの日付と値を持ちます

スプレッドシート 1 の日付がスプレッドシート 2 の 2 つの日付の間にあるときはいつでも、ID を照合して値を返すことになっています。

これらのスプレッドシート間には 1 対 1 の対応があり、一致が見つからない場合のデフォルト値は 0 です

最初のスプレッドシートには多くの行があります。適切なデータを取得するために使用できる VLOOKUP 関数はありますか?

4

2 に答える 2

2

SUMPRODUCT と配列数式が必要です。

=SUMPRODUCT(--(Sheet2!$A$2:$A$2000=A2),--(Sheet2!$B$2:$B$2000<B2),--(Sheet2!$C$2:$C$2000>B2),--(Sheet2!$D$2:$D$2000))

CTRLこれは、 + SHIFT+を使用して配列数式として入力する必要がありますEnter{}正しく入力されている場合は、式の周りに Excel が表示されます。

前提:A2で確認するID、B2で確認する
日付シート2のデータはオーダーAID、B開始日、C終了日、D値(数値)

配列数式は true/false のリストを返し、それを乗算します。すべての基準がTrue返される値である場合のみ (すべてのFalse回答はゼロに等しく、ゼロ * 別の数値はゼロであるため)。

2 つの範囲が重なっている場合、これは間違った答えになります。

于 2012-08-28T18:41:14.887 に答える
2

それを実現するための非常に簡単な方法がありました。検索したい複数のフィールドを連結し、それらが一意であれば完了です。それ以外の場合は、配列セルを調べる必要があります。

于 2012-11-14T17:56:48.200 に答える