Je dois renvoyer une cellule vide à partir d'une formule Excel, mais il semble qu'Excel traite une chaîne vide ou une référence à une cellule vide différemment d'une véritable cellule vide. J'ai donc essentiellement besoin de quelque chose comme
=IF(some_condition,EMPTY(),some_value)
J'ai essayé de faire des choses comme
=IF(some_condition,"",some_value)
et
=IF(some_condition,,some_value)
et en supposant que B1 est une cellule vide
=IF(some_condition,B1,some_value)
mais aucune d'entre elles ne semble être une véritable cellule vide, je suppose qu'il s'agit du résultat d'une formule. Existe-t-il un moyen de remplir une cellule si et seulement si une condition est remplie et, sinon, de garder la cellule vraiment vide ?
EDIT : comme recommandé, j'ai essayé de retourner NA(), mais pour mes besoins, cela n'a pas fonctionné non plus. Existe-t-il un moyen de faire cela avec VB ?
EDIT : Je suis en train de construire une feuille de calcul qui tire des données d'autres feuilles de calcul et qui est formatée selon les demandes très spécifiques d'une application qui importe les données dans une base de données. Je n'ai pas accès pour modifier l'implémentation de cette application, et elle échoue si la valeur est "" au lieu d'être vide.
8 votes
Pouvez-vous expliquer pourquoi la cellule doit être vide ? En fonction de ce que "l'absence de données" vous apporte, il peut y avoir une solution.
3 votes
La cellule contient la formule, n'est-ce pas ? Comment peut-elle être vide ou vierge alors ?
8 votes
J'ai un problème similaire, je dessine un graphique et je ne veux pas montrer la valeur 0 pour les éléments vides sur le graphique. Si les enregistrements sont des cellules vides, ils sont omis du graphique, mais n'importe laquelle des méthodes énumérées dans les "Réponses" ci-dessous entraîne l'affichage de 0 sur le graphique :(
5 votes
Pour éviter que les zéros n'apparaissent sur les graphiques, utilisez la fonction NA() au lieu de la chaîne vide/zéro. Cela mettra #N/A dans la cellule, qui sera ignoré par la routine graphique.
1 votes
La suggestion de Rob d'utiliser la fonction NA() a fonctionné pour moi dans la situation graphique décrite par @Cobusve.
5 votes
La suggestion de Rob d'utiliser #N/A a un résultat différent de celui d'une cellule vide. #N/A aura pour conséquence que la routine graphique interpolera sur la cellule alors qu'une cellule réellement vide sera traitée comme un espace dans la ligne. Si vous voulez un écart dans la ligne plutôt qu'une interpolation à travers l'écart, vous avez besoin que la cellule soit VIDE et non pas #N/A comme dans la question. Il existe des solutions ci-dessous qui répondent à la question posée.
0 votes
Au lieu d'afficher la fonction, je peux récupérer le résultat de la fonction dans les conditions souhaitées et dans une cellule BLANCHE (complètement vide sinon) Cela utilise la fonction liste d'Excel, où la condition souhaitée recherche le résultat de la fonction et le récupère de telle sorte qu'il "déborde" dans une cellule adjacente. C'est cette cellule adjacente qui résout le problème (en termes généraux). Les trancheurs peuvent obtenir un effet similaire. Vous trouverez ma solution quelque part au bas de la page - je suis arrivé en retard à cette fête !