はい、できます-それを機能させるには、テーブルに余分な行が必要です。
行を追加しました
| 0 | 0 | #N/A |
最初の行としてテーブルに挿入するため、テーブルはA1:C4を占有します。
INDEX関数を使用して、返す必要がある行を決定します。行を計算するために、INDEXが使用する行の計算
に使用SUMPRODUCTします。
完全な式は次のようになります。
=INDEX(C1:C4,SUMPRODUCT(--(A1:A4<=D1),--(B1:B4>=D1),ROW(C1:C4)))
、チェックインする値 D1
次を含むD1で数式を実行し17ます。
=INDEX(C1:C4,SUMPRODUCT(--(A1:A4<=17),--(B1:B4>=17),ROW(C1:C4)))
=INDEX(C1:C4,SUMPRODUCT(--({0,1,15,21}<=17),--({0,10,20,30}>=17),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT(--({True,True,True,False}),--({False,False,True,True}),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT({1,1,1,0}),({0,0,1,1}),{1,2,3,4}))
=INDEX(C1:C4,(1*0*1 + 1*0*2 + 1*1*3 + 0*1*4))
=INDEX(C1:C4,3)
="B"
数値が範囲外にある場合、値の行が等しくないSUMPRODUCTの部分はない0ため、範囲の最初の値(#N / A)が返されます。同じ式ですが12、D1にあります:
=INDEX(C1:C4,SUMPRODUCT(--(A1:A4<=12),--(B1:B4>=12),ROW(C1:C4)))
=INDEX(C1:C4,SUMPRODUCT(--({0,1,15,21}<=12),--({0,10,20,30}>=12),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT(--({True,True,False,False}),--({False,False,True,True}),{1,2,3,4}))
=INDEX(C1:C4,SUMPRODUCT({1,1,0,0}),({0,0,1,1}),{1,2,3,4}))
=INDEX(C1:C4,(1*0*1 + 1*0*2 + 0*1*3 + 0*1*4))
=INDEX(C1:C4,0)
="#N/A"
技術的には#N / Aではなく、考えられるすべての回答の配列ですが、配列式として式を入力しなかったため、最初の値のみが提供されます