ErreurSurNB.Si(...;FAUX)

M

Moa

Guest
Quelle est la différence entre ces deux formules :

SI(ET(C7=D7)*(D7=E7)*(E7=F7)*(F7=G7);FAUX;1)

SI(ET(C7=D7)*(D7=E7)*(E7=F7)*(F7=G7);"FAUX";1)

Si ce n'est que dans la première, vous dites à Excel, de mettre la valeur LOGIQUE FAUX, et que dans la deuxième, vous dites à Excel, d'écrire le texte "FAUX".

Dans les deux cas, la formule fonctionnera à merveille.

Maintenant, imaginez que vous ayez utilisé la deuxième formule, pour éffectuer des tris automatiques, sur une vingtaine de colonnes, et 3000 lignes.

Maintenant, imaginez, que les 10 autres colonnes, toujours sur 3000 lignes,
vous avez utilisé cette formule : SI(NB.SI(L7:N7;$BA$4)<3;"1").

Quand ma condition sera fausse, Excel, mettra dans ma cellule un FAUX LOGIQUE.

Donc, jusque là aucun problème, tout fonctionne à merveille, quelque soit la formule, le résultat et juste dans chaque cellule.

Et maintenant, tous ces faux, vous voulez les compter, les séparés, ou les éffacer avec une macro, ou un filtre automatique (j'ai tout essayé).

Et bien, c'est là que les chose se corsent.

En effet si vous appliquez la formule : =NB.SI(P7:Z7;"FAUX"), ou une autre telle que SI(NB.SI(P7:Z7;"FAUX");>=1;"FAUX";1)

La somme de vos faux sera fausse, et si comme moi, une formule en entraîne une autre qui sert à sont tour à une autre etc...., vous ne vous rendez pas compte que tout vos résultats sont faux.

Et bien, j'ai commencé à chercher vers 11h00, hier soir et je viens seulement de trouver l'erreur.

Deux leçons à retenir :

Même si en apparence, deux formules donnent le même résultats, il vaut mieux bien vérifier, que c'est bien le cas.

Faire toujours toujours absolument toujours des tests, finaux quand vous manipulez des chiffres, et à plus forte raison, quand il y en a beaucoup, et que ces chiffres doivent servir à d'autres formules, ou tableaux.

C'est la curiosité, qui m'a fait trouver cette différence.

J'ai simplement voulu, faire une addition de tous mes résultats, pour retrouver mes lignes de bases, qui devaient être de 3072.

Et impossible de retrouver ce chiffre.

Voilà, j'espère que ces 9h00 de travail, n'ont pas servi à rien, et que vous allez profiter de cet expérience, pour vous enrichir.

Sur ce, je vais aller dormir 3h00, avant d'aller bosser.

Je vous souhaite à tous une très bonne journée.


@ +

Moa
 
S

Schou

Guest
J'ai essayé ta formule, ça a marché (si c'était ça ton problème ??) quand au lieu de lui dire =NB.SI(A1:A10;A1=Faux) je lui ai dit qu'il prenne la valeur que renvoie le faux logique (je pense que c'est ça, mais pas sûr à 100%) =NB.SI(A1:A10;A1=1)

Je ne sais pas si ça va t'aider
 

Discussions similaires

Statistiques des forums

Discussions
312 464
Messages
2 088 649
Membres
103 903
dernier inscrit
chrisbe