/ / Błąd korzystania z funkcji OR w programie Excel - excel, excel-formula

Błąd podczas używania funkcji OR w programie Excel - excel, excel-formula

Używam formuły Excel OR w formule Excela i jestem trochę zaskoczony, jak się zachowuje.

Korzystam z następującej formuły programu Excel:

=IF(OR(ISERROR(funct(A1:A5)), funct(A1,A5)=0), "ERROR", funct(A1,A5))

Moje zrozumienie było, jeśli ISERROR(funct(A1:A5)) True(or False), wynikiem operacji OR byłaby prawda (lub fałsz).

W moim eksperymencie oczekiwałem, że odpowiedź będzie "BŁĄD" jako ISERROR(funct(A1:A5)) prowadzi do true.

Ale dostaję #VALUE! błąd. Każdy pomysł, co może być nie tak. Lub jeśli mogę zmienić formułę, aby działała.

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

Myślę, że brakuje ci bliskiego wspornika.

Spróbuj tego:

=IF(OR(ISERROR(funct(A1:A5)), func(A1,A5)=0), "ERROR", func(A1,A5))

5 dla odpowiedzi nr 2
=IF(ISERROR(funct(A1:A5)),"ERROR",IF(funct(A1:A5)=0,"ERROR",funct(A1:A5)))

1 dla odpowiedzi nr 3

Polecam odpowiedź Tima, ale jeśli func() jest duża funkcja, jak możesz powiedzieć, wtedy możesz chcieć zminimalizować liczbę razy, kiedy to jest używane. Zakładam, że ta sama funkcja powinna być wywoływana w całej formule, np. func (A1: A5)

W programie Excel 2007 lub nowszym można użyć funkcji IFERROR:

=IFERROR(IF(func(A1:A5)=0,"ERROR",func(A1:A5)),"ERROR")

lub we wcześniejszych wersjach można wymusić func (A1: A5), aby dać błąd, gdy jest równa zero, dzieląc 1 przez func (A1: A5):

=IF(ISERROR(1/func(A1:A5)),"ERROR",func(A1:A5))

Edycja: Robiąc krok dalej, możesz połączyć oba te podejścia w programie Excel 2007 lub nowszym, tak że musisz tylko raz wywołać func:

=IFERROR(1/(1/func(A1:A5)),"ERROR")


0 dla odpowiedzi nr 4

=IF(OR(ISERROR(funct(A1:A5)), funct(A1,A5)=0), "ERROR", func(A1,A5)) - bliskie spojrzenie na Twoją formułę zaowocowało sugestią: funct(A1,A5)=0 i func(A1,A5) są naprawdę różne funkcje, lub to jest literówka w twojej formule? Być może tak jest.