Comment masquer le # DIV / 0! erreur alors qu'une cellule référencée est vide?

28

Dans la colonne CI, vous avez Production. Dans la colonne DI ont objectif. Dans la colonne EI, la variance%. Ma formule est=(D11-C11)/D11

Cependant, comment cachez-vous les cellules dans la feuille jusqu'à ce que vous mettiez quelque chose dans D11& C11à cacher #DIV/0!. J'ai essayé d'utiliser la IFformule mais je me trompe?

Jackie Reid
la source

Réponses:

45

Fonction IFERROR

Il existe un IFtest "spécial" conçu uniquement pour gérer les erreurs:

=IFERROR( (D11-C11)/D11, "")

Cela vous donne la valeur calculée de (D11-C11) / D11 sauf si le résultat est une erreur, auquel cas il renvoie un blanc.

Explication

La valeur "si erreur", le dernier paramètre, peut être n'importe quoi; il ne se limite pas aux guillemets vides. IFERROR fonctionne pour toute condition qui renvoie une valeur d'erreur (les choses qui commencent par a #), comme:

#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

C'est pratique pour le débogage; la fonction peut être temporairement enroulée autour d'une formule pour renvoyer du texte de message lorsque la formule produit une erreur. C'est également une forme simplifiée de test IF; il ne nécessite pas d'inclure une expression pour le tester, puis de l'inclure à nouveau pour utiliser son résultat.

Autres feuilles de calcul

Cette fonction est également disponible pour les utilisateurs d'autres tableurs. Il a été ajouté à LibreOffice Calc dans la version 4.0 (pas encore la version distribuée dans certaines distributions Linux). Comme le souligne @Kroltan, cependant, il est encore plus rationalisé dans Google Sheets, où la valeur "si erreur" est facultative; par défaut, il est vide s'il manque. Dans un cas comme celui-ci, où vous souhaitez simplement masquer les valeurs d'erreur potentielles, Google Sheets peut le faire avec IFERROR(expression).

fixateur1234
la source
Je sais que c'est pour Excel, mais dans Google Docs et Open / LibreOffice, il y a une variation sans la nécessité de la "valeur si vraie", la simplifiant =IFERROR(yourformula).
Kroltan
1
@Kroltan: Juste au moment où je pensais qu'ils ne pouvaient plus rationaliser cette fonction. Il semble que vous ayez raison sur Google Sheets. Son IFERROR par défaut est vide en cas d'erreur si aucune autre valeur n'est spécifiée, il est donc facultatif. LibreOffice Calc a implémenté la fonction avec la version 4.0. La dernière version à laquelle j'ai accès est 4.2 et en cela, la valeur if-error est toujours requise.
fixer1234
En effet, je n'avais testé que sur Google Spreadsheets, mais selon les documents, il est identique à celui de LibreOffice. Désolé de désinformation.
Kroltan
11

Une IFinstruction contient une vérification logique (la première partie).

IF(logical_test, value_if_true, [value_if_false])

Pour éviter les erreurs causées lorsque votre production et / ou les données d'objectif sont vides, utilisez le ORavec la ISBLANKfonction dans la vérification logique.

=IF(OR(ISBLANK(C11),ISBLANK(D11)), "", (D11-C11)/D11)

Cela vérifie si l'une des cellules référencées est vide. Si l'un ou les deux sont vides (ce qui rend le test logique VRAI), il traitera la IF TRUEpartie de l' IFinstruction. Dans ce cas, le ""indique à la formule de ne rien faire. Sinon, il traitera la IF FALSEpartie de la formule qui est la formule que vous avez.

CharlieRB
la source
J'ai mis à jour cela pour inclure la vérification des deux C11et D11comme vous l'avez initialement publié. Désolé de l'avoir manqué dans ma réponse d'origine.
CharlieRB
Bonne prise. Si les objectifs sont préremplis puis attendent les entrées de production, les résultats afficheront une variation de 100% jusqu'à ce qu'ils soient entrés. Votre solution se charge de cela, ce qui est beaucoup moins de pression si les performances sont mesurées sur cette feuille. :-)
fixer1234
1

Essaye ça:

= SI (D11 <> 0, (D11-C11) / D11, "")
ou
= SI (D11 = 0, "", (D11-C11) / D11)

BillDOe
la source
1

Sélectionnez la feuille de calcul entière, puis dans le menu Accueil - Formatage conditionnel - Nouvelle règle ... - Sélectionnez Formater uniquement les cellules qui contiennent - Sous Formater uniquement les cellules avec sélectionnez Erreurs - Cliquez sur le bouton Format ... - Accédez à l' onglet Police - Sous Couleur, sélectionnez la même couleur de police que l'arrière-plan (comme le blanc).

Boîte de dialogue Nouvelle règle

Vladimir Reshetnikov
la source