Somme d'une colonne en fonction d'une autre sans doublons
brucine Messages postés 21828 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ce doit être bête comme, chou, mais je ne trouve pas (Excel 2019).
à l'article 26 en B4, la résolution doit être rejetée sans deuxième vote de rattrapage par la formule en E30 notamment si le total pour ne dépasse pas le tiers des tantièmes de tous les copropriétaires (dans l'exemple il dépasse) et si le total des voix et non pas des votes pour P en E ne dépasse pas la moitié des voix totales.
Dans l'exemple qui nous intéresse, 9 en 26 et plus grand que 16/2 en B26 et conduit à une erreur: deux des copropriétaires ont chacun deux lots, il y a donc un total de 16 voix et non pas 18 correctement calculé.
Mais à l'identique je ne devrais sommer en E26 que les P correspondant à des voix individuelles, 7 et pas 9 conduisant alors au résultat exact (rejet).
Bref, je ne trouve pas comment sommer en E26 les valeurs de P de E7 à E24 ne correspondant qu'à un nom unique de B7 à B24.
Merci.
https://cijoint.org/r/kaQ44DEX#Ihp3K4c3FPIqs3v9Rd0OYuqaob5nQ+CjgOFfH2DNyuw=
- Somme d'une colonne en fonction d'une autre sans doublons
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Fonction si et - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
2 réponses
Hello,
j'ai une solution à la c*** qui ne fonctionne que si les 2 noms sont ensembles : fusionnez les cellules E8:E9 et E10:E11
(désolé, j'avais prévenu, ça n'est certainement pas la bonne solution)
Edit : après quelques minutes de réflexion voici une formule qui fonctionne avec 365 mais je ne sais pas pour 2019 (je ne crois pas en fait)
=NBVAL(UNIQUE(FILTRE(CHOISIRCOLS(B7:E24;1;4);E7:E24="P")))/2
Edit Bis : vu que je ne dors pas (encore) un peu de VBA
Function Compter_Sans_Doublons(Liste_Noms As Range, Liste_Votes As Range, Compte_Quoi As String) As Long Dim i As Long Dim Dico As Object Dim Nom As String Set Dico = CreateObject("Scripting.Dictionary") For i = 1 To Liste_Noms.Count Nom = Trim(Liste_Noms.Cells(i, 1).Value) If Liste_Votes.Cells(i, 1).Value = Compte_Quoi Then If Not Dico.Exists(Nom) Then Dico.Add Nom, 1 End If End If Next i Compter_Sans_Doublons = Dico.Count End Function
A coller dans un module
Pour l'utiliser, dans E6 vous copiez/collez ceci
=Compter_Sans_Doublons(B7:B24;E7:E24;"P")
Il faudra ensuite enregistrer le classeur en XLSM
Bonjour
Si bien compris
une proposition avec en colonne F de calcul de doublons
en F7 à recopier vers le bas
=NB.SI($B$7:$B$24;B7)
en pour la somme
=SOMMEPROD((E7:E24="P")*(F7:F25=1))
Bonjour,
Il y a une coquille dans la deuxième formule, c'est F24.
Elle ne rend que les votes des personnes ayant un seul lot (5) alors que les deux en ayant 2 ne comptent chacune que pour une voix: 5+2.
Dans le cas d'espèce (chaque personne ne peut avoir que 1 ou 2 lots, c'est le cas), on obtient le bon compte par:
=SOMMEPROD((E7:E24="P")*(F7:F24=1))+SOMMEPROD((E7:E24="P")*(F7:F24>1))/2
Je suppose que s'il pouvait y en avoir jusqu'à 3 (par exemple) on devrait faire dans la deuxième condition F7:F24=2 et 3 dans une troisième.
Ne reste plus qu'à mettre le résultat en E26 et cacher la colonne F qui n'est pas décorative (ou à en insérer une nouvelle cachée sans quoi on va tronquer E30-F30 fusionnés).
Merci.
Bonjour,
En effet tes formules ne sont pas disponibles dans Excel 2019.
Je garde ta solution sous le coude en attendant de voir si quelqu'un d'autre a une solution par formule (peut-être matricielle?), je suis allergique à VBA.