2016-04-11 7 views
0

に私は完全にOR、AND条件INDEXと小さな

=IFERROR(INDEX(Lista!$A$2:$A$250;SMALL(IF(Lista!$D$2:$D$250="A";ROW(Lista!$D$2:$D$250)-ROW(Lista!$D$1));ROW(1:1)));"") 

に動作します。この式を持っているが、私は他の追加したいときやOR条件私はちょうど1つの間違った行ではなく、正確な値を取得します。

=IFERROR(INDEX(Lista!$A$2:$A$250;SMALL(IF(OR(AND(Lista!$K$2:$K$250="x";Lista!$D$2:$D$250="A");AND(Lista!$K$2:$K$250="x";Lista!$D$2:$D$250="B"));ROW(Lista!$D$2:$D$250)-ROW(Lista!$D$1));ROW(1:1)));"") 

私はCTRL + SHIFT + ENTERを行っている:私が試したものを

これ。

これはなぜ機能しませんでしたか?ありがとう

答えて

1

アレイの式は、ANDORが好きではありません。それぞれ数学オペランド*+でそれらを置き換えます

=IFERROR(INDEX(Lista!$A$2:$A$250;SMALL(IF((((Lista!$K$2:$K$250="x")*(Lista!$D$2:$D$250="A"))+((Lista!$K$2:$K$250="x")*(Lista!$D$2:$D$250="B")));ROW(Lista!$D$2:$D$250)-ROW(Lista!$D$1));ROW(1:1)));"") 

をこれでもし、配列数式ので、編集モードを終了するときに確認するには、Ctrl-Shiftキーを押しながら入力します使用しています。

>0を返すすべての結果は、trueと読み込まれます。そして、True/Falseが数式で使用されるときにそれぞれ1/0を返すことができるブール値であるという事実は、オペランドを使用して正しい真を返さなければならない。

+0

あなたは正しい人でした:)。それは完璧に働いた。これはExcelのバグでなければなりません。しかし、とにかく感謝します:) –

+0

それはちょうどANDであり、すべての値をチェックします。配列を持っている場合は、各部分をチェックして1つの式しか返しません。何かを見逃したようではなく、必要なように動作します;) –

関連する問題