Instruction IF: comment laisser la cellule vide si la condition est fausse («» ne fonctionne pas)


123

Je voudrais écrire une instruction IF, où la cellule est laissée vide si la condition est FALSE. Notez que, si la formule suivante est saisie dans C1 ( pour laquelle la condition est fausse ) par exemple:

 =IF(A1=1,B1,"")

et si C1 est testé pour être vide ou ne pas utiliser =ISBLANK(C1), cela reviendrait FALSE, même si C1 semble être vide. Cela signifie que la =IF(A1=1,B1,"")formule ne laisse pas techniquement les cellules vides si la condition n'est pas remplie.

Avez-vous des idées sur un moyen d'y parvenir? Merci,


2
C'est parce que ce n'est pas vide. Il contient une formule. Essayez ceci = C1 = "" ou si vous voulez devenir vraiment fou = IF (OR (C1 = "", ISBLANK (C1)), TRUE, FALSE)
Stepan1010

2
@ Stepan1010 Pas besoin d'obtenir ce fou parce que OR(C1="",ISBLANK(C1))est équivalent.
Museful

1
Voici un moyen d'obtenir un vrai espace vide si la condition est remplie: stackoverflow.com/a/39351425/1903793
Przemyslaw Remin

Réponses:


42

Essayez plutôt ceci

=IF(ISBLANK(C1),TRUE,(TRIM(C1)=""))

Cela retournera vrai pour les cellules qui sont vraiment vides ou qui ne contiennent rien d'autre qu'un espace blanc.

Voir cet article pour quelques autres options.

Éditer

Pour refléter les commentaires et ce que vous avez fini par faire: Au lieu de donner une valeur à "", entrez une autre valeur telle que 'deleteme', puis recherchez 'deleteme' au lieu de blancs.

=IF(ISBLANK(C1),TRUE,(TRIM(C1)="deleteme"))

Eh bien, le problème pour moi ne réside pas dans les résultats du "test du blanc" en soi, mais plutôt dans le suivant: j'applique le if statementà une ligne entière, puis je voudrais utiliser Go To -> Special -> Blankspour supprimer les cellules vides de la ligne, c'est-à-dire le cellules pour lesquelles la condition était fausse. Cependant, le Go tone détecte aucune cellule vide dans ma ligne, en particulier à cause de ce problème que mon instruction IF ne renvoie pas de cellules vides par exemple. Par conséquent, je dois modifier mon instruction IF afin qu'elle renvoie correctement les cellules vides.
Mayou

4
Si vous allez quand même les supprimer, pouvez-vous renvoyer une valeur différente (c'est-à-dire «deleteme») puis rechercher cette valeur dans votre autre routine.
Portland Runner

1
Merci pour le conseil! C'est précisément ce que j'ai fait! J'ai essayé = IF (A1, B1, NA ()), et j'ai utilisé Go To -> Special -> Formula -> Errorset j'ai supprimé avec succès les cellules qui ne remplissent pas la condition! Merci encore pour la pointe!
Mayou

66

Malheureusement, il n'existe aucun moyen de formule pour aboutir à une cellule vraiment vide, ce ""sont les meilleures formules qui peuvent offrir.

Je n'aime pas ISBLANK car il ne verra pas les cellules qui n'ont ""que des blancs. Au lieu de cela, je préfère COUNTBLANK, qui comptera ""comme vide, ce =COUNTBLANK(C1)>0qui signifie essentiellement que C1 est vide ou a "".

Si vous devez supprimer des cellules vides dans une colonne, je vous recommande de filtrer sur la colonne pour les blancs, puis de sélectionner les cellules résultantes et d'appuyer sur Del. Après quoi, vous pouvez supprimer le filtre.


3
Le fait =COUNTBLANK(C1)>0vraiment l'affaire! le ISBLANK()ne fonctionnait pas pour moi. merci!
StinkyCat

1
Tout nombre> 0 est évalué TRUEdans le contexte d'une IFinstruction, vous pouvez donc simplement remplacer IF(COUNTBLANK(C1), .... )le >0, juste pour rendre les choses plus propres.
Tom Auger

Voici un moyen d'obtenir un vrai blanc vide en tant que résultat de formule: stackoverflow.com/a/39351425/1903793
Przemyslaw Remin

19

Je voulais ajouter qu'il existe une autre possibilité: utiliser la fonction na().

par exemple =if(a2 = 5,"good",na());

Cela remplira la cellule avec # N / A et si vous tracez la colonne, les données ne seront pas représentées sous forme de graphique. Je sais que ce n'est pas "vide" en tant que tel, mais c'est une autre possibilité si vous avez des chaînes vides dans vos données et ""c'est une option valide.

De plus, count(a:a)ne comptera pas les cellules qui ont été définies sur n / a en faisant cela.


2

Si vous souhaitez utiliser une cellule vide phénoménale (avec une formule) pour effectuer une opération arithmétique / mathématique, il vous suffit d'utiliser cette formule:

=N(C1)

en supposant que C1 est une cellule "vide"


1

Vous pouvez essayer ceci.

=IF(A1=1,B1,TRIM(" "))

Si vous mettez cette formule dans la cellule C1, vous pouvez tester si cette cellule est vide dans une autre cellule

=ISBLANK(C1)

Vous devriez voir TRUE. J'ai essayé Microsoft Excel 2013. J'espère que cela aide.


0

J'ai trouvé que cette solution de contournement semble faire l'affaire:

Modifiez votre formule d'origine:

=IF(A1=1,B1,"filler")

Ensuite, sélectionnez la colonne, recherchez et remplacez "remplissage" par rien. Les cellules que vous voulez être vides / vides sont en fait vides et si vous testez avec "ISBLANK", il retournera TRUE. Pas le plus élégant, mais c'est rapide et ça marche.


Cela ne fonctionnera pas, la recherche et le remplacement remplacera le remplissage dans la formule, laissant les mêmes problèmes qu'auparavant.
ChrisM

0

La solution la plus simple consiste à utiliser la mise en forme conditionnelle si l'instruction IF revient à false pour changer la police de la cellule de résultats en une couleur d'arrière-plan quelconque. Oui, techniquement, la cellule n'est pas vide, mais vous ne pourrez pas voir son contenu.


Il est possible de vider une cellule avec une instruction if. Bien que votre solution soit réalisable, ce n'est pas la meilleure approche.
Matt

0

Cela fonctionnera (modification ci-dessus, solution de contournement, pas de formule)

Modifiez votre formule d'origine: = IF (A1 = 1, B1, "filler")

Mettez le filtre sur la feuille de calcul, choisissez uniquement «remplissage» dans la colonne B, mettez en surbrillance toutes les cellules contenant «remplissage», appuyez sur supprimer, supprimez le filtre


J'ai l'impression que ce n'est pas ce que voulait OP. Il semble qu'il voulait une formule. Vous dites que ce n'est pas une formule, mais quand même.
ZygD

0

Vous pouvez faire quelque chose comme ceci pour afficher un espace vide:

=IF(AND((E2-D2)>0)=TRUE,E2-D2," ")

À l'intérieur ifavant la première virgule se trouve la condition puis le résultat et la valeur de retour si trueet la dernière valeur est vide si la condition estfalse


0

La formule en C1

=IF(A1=1,B1,"")

donne soit une réponse de "" (qui n'est pas traitée comme un blanc) ou le contenu de B1.

Si vous voulez que la formule de D1 affiche VRAI si C1 est "" et FAUX si C1 a autre chose, utilisez la formule

=IF(C2="",TRUE,FALSE)

au lieu d'ISBLANK


0

Voici ce que je fais

=IF(OR(ISBLANK(AH38),AH38=""),"",IF(AI38=0,0,AH38/AI38))

Utilisez la condition OR OR (ISBLANK (cell), cell = "")



-2

Pour valider les données de la colonne A pour les blancs

Étape 1: Étape 1: B1 = isblank (A1)

Étape 2: Faites glisser la formule pour toute la colonne, dites B1: B100; Cela renvoie Ture ou False de B1 à B100 en fonction des données de la colonne A

Étape 3: CTRL + A (Tout sélectionner), CTRL + C (Tout copier), CRTL + V (Tout coller en tant que valeurs)

Étape 4: Ctrl + F; Rechercher et remplacer la fonction Rechercher "Faux", Remplacer " laissez ce champ vide »; Rechercher et remplacer TOUT

Là vous allez mec!


-3

Au lieu d'utiliser "", utilisez 0. Ensuite, utilisez le formatage conditionnel pour colorer 0 à la couleur d'arrière-plan, de sorte qu'il apparaisse vide.

Étant donné que les cellules vides et 0 auront le même comportement dans la plupart des situations, cela peut résoudre le problème.


2
Je ne pense pas que ce soit une réponse satisfaisante, car il y aura maintenant des 0 dans les données brutes de la feuille de calcul. L'exportation, le copier / coller ou toute autre tâche traitant des données ne sera pas correcte avec tous ces 0.
Jeff Brateman

c'est une mauvaise idée car 0 a du mal à filtrer par nombres. autrement, 0 peut être la valeur habituelle et correcte. alors comment reconnaître entre le bon 0 et le "vide" 0? Je vous suggère de supprimer cette réponse :)
Znik

-3

Cela devrait fonctionner: = IF (A1 = 1, B1)

Le troisième argument indiquant la valeur de la cellule si la condition n'est pas remplie est facultatif.


2
Excel renvoie la valeur du premier argument (FALSE) lorsque la condition est évaluée à false et que le troisième argument n'existe pas. Malheureusement, cela ne semble pas fonctionner.
Eagle

2
J'étais sûr de l'avoir testé - mais il ne se réplique pas. Vous avez donc raison, cette réponse est totalement fausse. Est-il préférable de le supprimer pour gagner du temps?
Heather Stark
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.