これは私の前の2つの質問に続きます:Excelは複数の基準に一致し、Excelは検索値がセル内にある範囲からセルを検索します。過剰投稿している場合はお詫びしますが、各質問は少し異なり、フォローアップの質問に煩わされる人は、答えを正解とマークできないと公平ではないように思われます。
すべての基準が満たされた場合にrange1から値を返すために、3列のデータをチェックするこの作業コードがあります。
=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(SEARCH(range4,J2)),0))
ただし、range4またはrange5で一致が見つかった場合に機能するには、SEARCHオプションが必要です。このサイトのJohnBustosとBarryHoudiniのおかげで、MATCH関数内でORコマンドを使用する方法を知っています。
=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(((C2 = range4)+(D2 = range5))>0),0))
上記のコードは完全一致で機能しますが、C2とD2の値は単一のセルに含まれる数値のリストであり、range4とrange5は各セルの単一の年であるため、SEARCH関数を使用して単一の年が年のリスト。したがって、上記の2つの作業コードから判断すると、これでうまくいくと思いました。
=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(((SEARCH(range4,J2))+(SEARCH(range5,J2))>0)),0))
ただし、そうではなく、次のことも行いません。
=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(((SEARCH(range4,J2))+(SEARCH(range5,J2)))),0))
Ctrl + Shift + Enterキーを押すことを覚えていますが、常に#N/Aを返します。最初の例は、ORコマンドにする前に機能するため、値を返す必要があることはわかっています。
誰かがこれに光を当てることができることを願っています。前もって感謝します、
幸運をお祈りしています、
ジョー