こんにちは、セル G2 の入札締め日を vlookup と照合して、X、Y、Z の値を取得しようとしています。
しかし、 #n/a が返ってきたので本当に迷っています。
誰が何ができるか知っていますか?
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))
同じ方法を使用して基準にさらに列を追加できますが、制限が何であるかはわかりません。