Excel Jeśli formuła z OR, unikając # N / A - excel, if-statement, formuła excel

Obecnie stoi problem, długa historia:Próbuję połączyć 2 formuły w jedną, korzystając z funkcji OR, ale jeśli jeden z 2 warunków nie istnieje, daje mi # N / A z powrotem. Istnieją 3 warunki, które mogą się zdarzyć: "MTI", "MTI Z" i "MTO" .Pragnęło mi, że formuła wyszuka dowolną kombinację w kolumnie L z "MTI" lub "MTI Z" (może również bądź oba) i jeśli taka kombinacja istnieje, zwróć a 1. Jeśli nie (to jest tylko MTO), to zwróć 0 (w tym przypadku będzie to # N / A, ale mogę to naprawić przy pomocy ISNA lub IFERROR) .

Formuła 1 to:

=IF(CONCATENATE(A2,B2,"MTI")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI"),L:L,0),0),1,0)

Formuła 2 to

=IF(CONCATENATE(A2,B2,"MTI Z")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI Z"),L:L,0),0),1,0)

Oba formuły działają, zwracając "1", gdy istnieje odpowiednio "MTI" lub "MTI Z"

Jednak kiedy próbuję je połączyć, jeśli 1 z 2 nie istnieje na liście, daje mi to wartość # N / A, mimo że używam OR (co oznaczałoby, że co najmniej 1 z 2 istnieje, śmiało).

=IF(OR(CONCATENATE(A2,B2,"MTI Z")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI Z"),L:L,0),0)
,CONCATENATE(A2,B2,"MTI")=INDEX(L:L,MATCH(CONCATENATE(A2,B2,"MTI"),L:L,0),0)),1,0)

Jak mogę dostosować moją formułę, aby działała?

Odpowiedzi:

3 dla odpowiedzi № 1

To trochę bardziej proste:

=SIGN(COUNTIF(L:L,CONCATENATE(A2,B2,"MTI*")))

2 dla odpowiedzi nr 2

Zawiń każdą z tych formuł w IFERROR([formula],0)


1 dla odpowiedzi nr 3

Spróbuj dodać dwie owijki "IFERROR", więc zwrócisz FALSE, gdy nie pasujesz, a nie # N / A.

=IF(OR(IFERROR(CONCATENATE(A2,B2,"MTI Z")=INDEX(L:L, MATCH(CONCATENATE(A2,B2, "MTI Z"), L:L, 0)), FALSE),
IFERROR(CONCATENATE(A2,B2,"MTI")=INDEX(L:L, MATCH(CONCATENATE(A2,B2,"MTI"), L:L, 0)), FALSE)),
1, 0)

1 dla odpowiedzi nr 4

Możesz ponownie zapisać swoją formułę jako

=IF(OR(ISNUMBER(MATCH(CONCATENATE(A2,B2,"MTI"),L:L,0)),
ISNUMBER(MATCH(CONCATENATE(A2,B2,"MTI Z"),L:L,0))),1,0)

Menu