Calc - auto-comptage

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: Dagobert78@Gmail.com
Sujet:: Calc - auto-comptage
OS:: Windows 10
Version:: 5.4.x
Question:: Bonjour
Je souhaiterais rajouter une colonne à mon tableau.
Cette colonne D me donnera le nombre de fois où elle trouvera le même nombre dans A, c-a-d, si on vois 4 fois le même chiffre dans A, alors ont mettras "4" dans les 4 lignes qui correspondent
Sachant que les nombres dans A sont rangé dans l'ordre.
ou bien, le nombre max dans C, avant de retombé à 1, c-a-d, si C monte à 4 maxi, alors ont mettras "4" dans les 4 lignes qui précèdent.

Je pourrais le faire manuellement, mais avec près de 5'000 lignes, et des mises à jour mensuel, ça va vite devenir très lourd.

Exemple :

A B C D
10131 13615 1 3
10131 13614 2 3
10131 13613 3 3
10132 13629 1 1
10133 13623 1 1
10134 13622 1 1
10201 12001 1 2
10201 12002 2 2
10202 12003 1 2
10202 12004 2 2
10205 12009 1 6
10205 12010 2 6
10205 12011 3 6
10205 12012 4 6
10205 12013 5 6
10205 12014 6 6
10206 12015 1 1
10207 12016 1 5
10207 12017 2 5
10207 12018 3 5
10207 12019 4 5
10207 12020 5 5
10209 12023 1 1
10210 12024 1 1
10211 12025 1

Merci de votre aide

Bonjour,

Pour la colonne D, c'est simple, on utilise la fonction NB.SI

Si on commence en D1, on aura quelque chose comme
=NB.SI($A$1:$A$5000;A1)
Puis on copie sur les 4999 lignes suivantes (par un double clic sur le petit carré en bas à droite de D1, par exemple)

On peut même faire quelque chose comme
=NB.SI($A$1:$A$10000;A1) en prévision d'un accroissement possible du tableau...

Pour la colonne C .. Ma foi, il se fait tard (ou tôt ...) et la nuit a été longue.. Je n'ai pas d'idée pour l'instant..

Une petite remarque parallèle : si ces chiffres doivent être présentés dans un rapport, faites attention à votre orthographe ..

Bon courage

Christian F

Bonjour les gars.

Merci pour votre réponse rapide.

Petite précision car j'ai dû mal m'exprimer.

Je souhaiterais que la colonne D se remplisse toute seule (à l'origine,
elle est vide) , pour cela, il y a la possibilité d'utiliser les données de
la colonne A et/ou C, au choix.
Dans mon exemple, j'aurais même pu enlever la colonne B, qui ne nous est
pas utile pour remplir la D.

@Yves
Ta formule est prometteuse, je ne l'ai pas complètement comprise, faudrait
que je vote comment la mettre en D, une fois que je l'aurais comprise.

@Christian
=NB.SI($A$1:$A$5000;A1)
Alors celle je ne la comprend pas du tout, je testerais ce soir, et je
tenterais de la comprendre.

Moi non plus, je comprend plus très bien :slight_smile:

Ma formule est pour la colonne C
celle de Christian pour la colonne D

le remplissage automatique, c'est la recopie de la formule (qui n'est pas
très compliqué...)
Pour la compréhension des formules, l'aide te sera salutaire :wink:
Un coup de F1 et rechercher NB.SI

Yves

Bonjour à tous,

Je permets d'intervenir pour inviter, comme le fait Yves, Dagobert 78, à consulter l'aide fournie par Libre office pour comprendre les solutions proposées par Yves et Christian en lisant la documentation des fonctions NB.SI et SI et au-delà de cela peut-être regarder l'aide fournie sur les concepts de plage de cellules, ou matrice, référence absolue et référence relative, ce serait le minimum à faire.

Cordialement.

Alain Riffart

Bonjour,

La notion de "la colonne est vide, elle devra se remplir toute seule", ça n'existe pas, à moins de passer par des macros. Mais on peut exprimer qu'une formule ne renvoie rien tant qu'elle n'a pas de données à traiter, grâce à la fonction SI
ça donne quelque chose comme
=SI(A1="";""; .. traitement)

NB.SI compte combien de fois une condition est remplie dans une zone donnée
=NB.SI($A$1:$A$5000;A1) compte combien de fois on trouve qui est en A1 dans la zone allant de A1 à A5000

La formule en NB.SI étant le traitement à effectuer.. je vous laisse combiner le SI et le NB.SI pour que la colonne D se "remplisse toute seule"

Bon courage

Christian

Merci les gars.

Grace votre aide, et un tout petit peu de lecture dans l'aide en ligne sur
la formule NB.SI , ma solution prise est :

=NB.SI(A1:A5000;A1)

MERCI

Bjr,

Attention à bien mettre les signes dollar $ comme préconisé.
=NB.SI($A$1:$A$5000;A1)

Ça permet de donner des références absolues.

Sinon en tirant la formule sur toutes les lignes, ça s'incrémentera et vous obtiendrez :

=NB.SI(A2:A5001;A2)

=NB.SI(A3:A5002;A3)

=NB.SI(A4:A5003;A4)

Cordialement
Sandy-Pascal Andriant

Comme dit par Christian,

j'aurais fait la même chose en colonne D
pour la colonne C :
pour ne pas compliquer la formule, ajoute simplement une ligne au début (à
vide)
en C2 donc :
=SI(C1+1<=D2;SI(D2=D1;C1+1;1);1)
et recopie cette formule dans toute la colonne (sauf la première ligne vide
:wink: )

nb, y'a peut-être encore moyen de faire plus simple....
Yves