142 votes

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

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

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

et si C1 est testé pour être vierge ou non en utilisant =ISBLANK(C1) ce qui donnerait FALSE même si C1 semble être vide. Cela signifie que le =IF(A1=1,B1,"") ne laisse pas techniquement les cellules vides si la condition n'est pas remplie.

Avez-vous une idée de la manière d'y parvenir ? Merci,

2 votes

C'est parce qu'il n'est pas vierge. Il contient une formule. Essayez ceci =C1="" ou si vous voulez être vraiment fou =IF(OR(C1="",ISBLANK(C1)),TRUE,FALSE)

3 votes

@Stepan1010 Pas besoin d'être que fou parce que OR(C1="",ISBLANK(C1)) est équivalent.

1 votes

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

73voto

tigeravatar Points 7047

Malheureusement, il n'existe pas de formule permettant d'obtenir une cellule véritablement vide, "" est ce que les formules peuvent offrir de mieux.

Je n'aime pas ISBLANK parce qu'il ne verra pas les cellules qui ont seulement "" comme des vides. A la place, je préfère COUNTBLANK, qui comptera "" en blanc, donc en gros =COUNTBLANK(C1)>0 signifie que C1 est vide ou a "" .

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

3 votes

El =COUNTBLANK(C1)>0 fait vraiment l'affaire ! le ISBLANK() ne fonctionnait pas pour moi. Merci !

2 votes

Tout nombre > 0 est évalué à TRUE dans le cadre d'un IF vous pouvez donc simplement remplacer IF(COUNTBLANK(C1), .... ) pas besoin de la >0 juste pour rendre les choses plus propres.

0 votes

Voici un moyen d'obtenir un blanc vide vrai comme résultat de formule : stackoverflow.com/a/39351425/1903793

46voto

Portland Runner Points 4941

Essayez plutôt ceci

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

Cela renverra vrai pour les cellules qui sont soit vraiment vides, soit ne contiennent que des espaces blancs.

Voir ceci poste pour quelques autres options.

modifier

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

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

1 votes

Eh bien, le problème pour moi n'est pas les résultats du "test à blanc" en soi, mais plutôt ce qui suit : J'applique le if statement à une ligne entière, et ensuite je voudrais utiliser Go To -> Special -> Blanks pour supprimer les cellules vides de la ligne, c'est-à-dire les cellules pour lesquelles la condition était fausse. Cependant, le Go to ne détecte pas de cellules vides dans ma ligne, en raison notamment du fait que mon instruction IF ne renvoie pas de cellules vides. Je dois donc modifier mon instruction IF pour qu'elle renvoie correctement les cellules vides.

4 votes

Si vous les supprimez de toute façon, pouvez-vous renvoyer une valeur différente (par exemple 'deleteme') et ensuite rechercher cette valeur dans votre autre routine.

2 votes

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 -> Errors et j'ai réussi à supprimer les cellules qui ne satisfont pas la condition ! Merci encore pour cette astuce !

27voto

user3791372 Points 821

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 un graphique sur la colonne, les données ne seront pas représentées. 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 que "" est une option valable.

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

2voto

Nick Points 786

Si vous voulez utiliser une cellule vide phénoménale (contenant 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".

2voto

Yugo Gautomo Points 79

Vous pouvez essayer ceci.

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

Si vous placez cette formule dans la cellule C1, vous pourrez alors tester si cette cellule est vide dans une autre cellule.

=ISBLANK(C1)

Vous devriez voir VRAI. J'ai essayé sur Microsoft Excel 2013. J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X