Écrire une formule IF () pour utiliser une autre cellule si la cellule principale n'a pas de valeur


0

J'essaie d'écrire une formule pour soustraire deux cellules, mais seulement si elles ont des valeurs. S'il n'y a pas de valeur dans l'une d'elles, je souhaite utiliser une cellule différente dans la soustraction.

Par exemple:

   |   A  |   B  |
---+------+------+
 1 | 1200 |  N/A |
 2 |  400 |  400 |
 3 |  100 |  600 |

Je veux soustraire A1de A3et ainsi de suite le long de la feuille de calcul. Cependant, dans la colonne Bil y a un N / A donc je voudrais soustraire B2à la B3place.

Comment pourrais-je écrire cette déclaration If / Then?

Réponses:


2

Je vais ajouter ceci juste pour être complet. La question est un peu ambiguë quant à savoir si le "N / A" est une valeur de texte intentionnelle ou la condition d'erreur # N / A, je vais donc aborder les deux.

Comme indiqué dans la question, vous pouvez utiliser un test IF de différentes manières pour vérifier le contenu de la cellule. Si cette valeur cible est la chaîne de texte "N / A", vous pouvez le tester avec une égalité ( A1="N/A"). Si cette valeur cible est en fait une erreur # N / A ou si vous souhaitez simplement vérifier que la cellule contient un nombre, il existe même des fonctions de test dédiées, telles que ISNA et ISNUMBER. Cela vous donnera le résultat True / False pour la condition IF sans utiliser une égalité pour tester la valeur de la cellule par rapport à une autre valeur. Cette approche ressemblerait généralement à ceci:

IF(ISNA(A1),A3-A2,A3-A1)

ou

IF(ISNUMBER(A1),A3-A1,A3-A2)

La réponse de Scott Craner est souvent une meilleure approche. IFERROR est un test IF spécifique dédié avec deux avantages. La première est qu’il gérera tout type de condition d’erreur, pas seulement # N / A. Par exemple, si l'une des cellules contient une condition d'erreur ou du texte (y compris "N / A") que vous essayez d'utiliser en arithmétique, IFERROR gérera le résultat.

Le deuxième avantage est qu’il s’agit d’une "forme abrégée" du test du SI. Il ne nécessite pas les trois arguments normaux (condition de test, résultat vrai, résultat faux). Il n'a besoin que de la formule "normale" et de la formule ou du résultat alternatif à utiliser si la formule normale produit une erreur. Cela évite souvent de tester une formule et de devoir la répéter pour pouvoir l'utiliser. La formule, elle-même, sert de condition de test.

Cependant, je peux penser à une situation où IFERROR pourrait ne pas être souhaitable. Supposons que vos données contiennent la chaîne de texte "N / A" en tant que paramètre intentionnel pour les données manquantes. Vous souhaitez également utiliser uniquement cet espace réservé pour déterminer la formule à utiliser. De plus, s'il existe un autre contenu de cellule non numérique ou une condition d'erreur, il est important que vous le sachiez. Dans ce cas, vous voudriez utiliser un test IF qui recherche spécifiquement "N / A". Cela ressemblerait à ceci:

IF(A1="N/A",A3-A2,A3-A1)

1

Je voudrais utiliser IFERROR:

=IFERROR(A3-A1,A3-A2)

Et copier en travers. Si la valeur en A1 est une erreur ou du texte, elle se trompera et la fonction suivante sera résolue.

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.