Funkcja IFERROR
Istnieje „specjalny” IF
test przeznaczony do obsługi błędów:
=IFERROR( (D11-C11)/D11, "")
Daje to obliczoną wartość (D11-C11) / D11, chyba że wynikiem jest błąd, w którym to przypadku zwraca wartość pustą.
Wyjaśnienie
Ostatnią wartością parametru „if error” może być cokolwiek; nie ogranicza się do pustych podwójnych cudzysłowów. JEŻELI BŁĄD działa dla każdego warunku, który zwraca wartość błędu (rzeczy zaczynające się od a #
), na przykład:
#NULL! - reference to an intersection of two ranges that don't intersect
#DIV/0! - attempt to divide by zero
#VALUE! - variable is the wrong type
#REF! - invalid cell reference
#NAME? - formula name, or text within a formula, isn't recognized
#NUM! - invalid number
#N/A - value is not available
Jest to przydatne do debugowania; funkcję można tymczasowo owinąć wokół formuły, aby zwrócić tekst wiadomości, gdy formuła generuje błąd. Jest to również usprawniona forma testu IF; nie wymaga dołączenia wyrażenia w celu przetestowania go, a następnie włączenia go ponownie, aby użyć jego wyniku.
Inne arkusze kalkulacyjne
Ta funkcja jest również dostępna dla użytkowników innych programów do obsługi arkuszy kalkulacyjnych. Został on dodany do LibreOffice Calc w wersji 4.0 (jeszcze nie wersja rozproszona w niektórych dystrybucjach Linuksa). Jak zauważa @Kroltan, jest jeszcze bardziej usprawniony w Arkuszach Google, gdzie wartość „jeśli błąd” jest opcjonalna; domyślnie jest puste, jeśli go brakuje. W takim przypadku, w którym chcesz po prostu ukryć potencjalne wartości błędów, Arkusze Google mogą to zrobić IFERROR(expression)
.
=IFERROR(yourformula)
.