0

ここに画像の説明を入力

こんにちは、セル G2 の入札締め日を vlookup と照合して、X、Y、Z の値を取得しようとしています。

しかし、 #n/a が返ってきたので本当に迷っています。

誰が何ができるか知っていますか?

4

2 に答える 2

3

VLOOKUP を使用して左側の列を一致させることはできませんが、INDEX を使用することはできます。質問に入力した例では、セル G3 に次のように入力します。

=INDEX(A3:A10,MATCH(G2,E3:E10,0))

次に、セル G2 に入力された日付に終了した入札に関する「x」値を取得する必要があります。次に、INDEX の最初の範囲を、それぞれの y 値と z 値の列 B と C に変更することを複製できます。

INDEX は、最初の値のみを返すという点で VLOOKUP と同じであることに注意してください。同じ日に 2 つの入札が終了した場合、最初に遭遇した値のみが返されます。たぶん、COUNTIF と並んで、いくつあったかを示します。

編集 - 複数列の追加リクエスト

開始日と終了日を一致させたい場合は、次のように配列数式を使用する必要があります。ここで、探している開始日はセル G2 にあり、セル G3 の終了日です。

=INDEX(A3:A10,MATCH(1,(G2=D3:D10)*(G3=E3:E10),0))

注: これは配列数式であるため、数式を入力したら、単に enter ではなく Ctrl + Shift + Enter を押す必要があります

このメソッドでは、true/false (それぞれ 1 と 0) の 2 つの基準をチェックしているため、各行をチェックし、列 D と E が基準に一致する場合は 1*1 を実行し、入力した 1 の基準に一致します。他の組み合わせは 0 になります。たとえば、列 D が一致したが E が一致しなかった場合は 1*0 = 0、どちらも一致しなかった場合は 0*0 = 0 です。

これを使用してルックアップを拡張し、* を + に変更すると、EITHER 列が条件に一致した最初の行が返されます。

=INDEX(A3:A10,MATCH(1,(G2=D3:D10)+(G3=E3:E10),0))

同じ方法を使用して基準にさらに列を追加できますが、制限が何であるかはわかりません。

于 2013-05-20T03:36:08.633 に答える