Formule mathématique à trouver
Ralph
-
Ralph -
Ralph -
Bonjour,
J'ai un fichier d'adhérents d'une association de locataires pour un immeuble de 35 logements. Il y a quatre type d'appartements : des F1 (1 pièce), F2 (2 pièces), F3 (3 pièces) et F4 (4 pièces). Sur les 35 logements de l'immeuble on dénombre 5 F1, 14 F2, 8 F3 et 8 F4, soit 89 pièces avec un ou plusieurs locataires par logement peu important le type de logement (parfois 2 locataires dans un F1 et 5 ou 6 locataires dans un F4) et un ou plusieurs adhérents par appartement (certains 4 pièces ont 6 locataires et deux adhérents, par exemple).
J'aimerai trouver une formule qui puisse automatiquement calculer le nombre de pièces comptant au moins un adhérent de notre association de locataires.
Quelle est la bonne formule ? Merci pour votre aide.
J'ai un fichier d'adhérents d'une association de locataires pour un immeuble de 35 logements. Il y a quatre type d'appartements : des F1 (1 pièce), F2 (2 pièces), F3 (3 pièces) et F4 (4 pièces). Sur les 35 logements de l'immeuble on dénombre 5 F1, 14 F2, 8 F3 et 8 F4, soit 89 pièces avec un ou plusieurs locataires par logement peu important le type de logement (parfois 2 locataires dans un F1 et 5 ou 6 locataires dans un F4) et un ou plusieurs adhérents par appartement (certains 4 pièces ont 6 locataires et deux adhérents, par exemple).
J'aimerai trouver une formule qui puisse automatiquement calculer le nombre de pièces comptant au moins un adhérent de notre association de locataires.
Quelle est la bonne formule ? Merci pour votre aide.
A voir également:
- Formule mathématique à trouver
- Formule mathématique - Télécharger - Études & Formations
- Formule si et - Guide
- Trouver adresse mac - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule somme excel colonne - Guide
4 réponses
Bonjour
Impossible de t'aider sans connaitre la structure de ton fichier
Poste un exemple (avec des noms bidons) sur cjoint.com, fais créer un lien que tu copies et reviens coller ici
Cdlmnt
Via
Impossible de t'aider sans connaitre la structure de ton fichier
Poste un exemple (avec des noms bidons) sur cjoint.com, fais créer un lien que tu copies et reviens coller ici
Cdlmnt
Via
Via,
J'ai posté le fichier sur le lien que vous m'avez envoyé.
Pouvez-vous m'aider. merci.
Cordialement.
R
J'ai posté le fichier sur le lien que vous m'avez envoyé.
Pouvez-vous m'aider. merci.
Cordialement.
R
Ok j'ai le fichier mais je ne comprend pas mieux ce que tu cherches à obtenir
Il y a 34 appartements différents , tu veux totaliser le nombre de pièces de ces 34 ?
Si c'est le cas il faut d'abord dans une nouvelle colonne convertir les T2 et autres en nombres additionnables avec la formule : =CNUM(STXT(D5;2;1))
Ensuite tu fais la somme de cette colonne, résultats 81
Il y a 34 appartements différents , tu veux totaliser le nombre de pièces de ces 34 ?
Si c'est le cas il faut d'abord dans une nouvelle colonne convertir les T2 et autres en nombres additionnables avec la formule : =CNUM(STXT(D5;2;1))
Ensuite tu fais la somme de cette colonne, résultats 81
En fait je veux calculer automatiquement via une formule mathématique : 1°) le nombre de logements (14/35) et le % correspondant, et 2°) le nombre de pièces ayant au moins un adhérent (44/89) sachant qu'il y a 5T1 + 14T2 + 8T3 + 8T4 = 89 pièces; ainsi que le % correspondant.
Cases E101, E102 et F101, F102.
Cordialement,
R
Cases E101, E102 et F101, F102.
Cordialement,
R
pas possible par mail mais je te le renvoie sur cjoint
https://www.cjoint.com/c/GJymbNMxsv6
Au cas où tu n'arrives pas à l'ouvrir voilà la fonction perso :
Elle est à mettre dans un module : ALT+F11 pour ouvrir l'éditeur VBA - Insertion - Module -copier-coller la macro dans la fenêtre blanche
Tu l'emploies ensuite comme n'importe quelle fonction selon la syntaxe que j'ai indiquée précédemment
"L'imagination est plus importante que le savoir." A. Einstein
https://www.cjoint.com/c/GJymbNMxsv6
Au cas où tu n'arrives pas à l'ouvrir voilà la fonction perso :
Function logements(plage As Range) For Each Cell In plage If Cell <> "" And Range("I" & Cell.Row) > 0 Then tot = tot + Val(Mid(Cell, 2, 1)) Next logements = tot End Function
Elle est à mettre dans un module : ALT+F11 pour ouvrir l'éditeur VBA - Insertion - Module -copier-coller la macro dans la fenêtre blanche
Tu l'emploies ensuite comme n'importe quelle fonction selon la syntaxe que j'ai indiquée précédemment
"L'imagination est plus importante que le savoir." A. Einstein
Bonjour à tous,
Après avoir reformaté tes cellules fusionnées qui contenaient plusieurs valeurs (!! je ne sais pas comment tu as obtenu ce résultat!!), tu peux utiliser les formules suivantes :
en E101, =SOMMEPROD(($C$5:$C$100<>"")*(I5:I100<>0))&"/"&SOMMEPROD(--($C$5:$C$100<>""))
en E102, =SOMMEPROD(($C$5:$C$100<>"")*($I$5:$I$100>0)*("0"&GAUCHE(SUBSTITUE($D$5:$D$100;"T";""))))&"/"&SOMMEPROD(--("0"&GAUCHE(SUBSTITUE($D$5:$D$100;"T";""))))
et en E103, =I103&"/100" (ça, tu t'en doutais)
Pour les ratios, c'est trop simple pour que je te dise quoi faire.
Le fichier : https://www.cjoint.com/c/GJymmxrScTH
Cordialement
Après avoir reformaté tes cellules fusionnées qui contenaient plusieurs valeurs (!! je ne sais pas comment tu as obtenu ce résultat!!), tu peux utiliser les formules suivantes :
en E101, =SOMMEPROD(($C$5:$C$100<>"")*(I5:I100<>0))&"/"&SOMMEPROD(--($C$5:$C$100<>""))
en E102, =SOMMEPROD(($C$5:$C$100<>"")*($I$5:$I$100>0)*("0"&GAUCHE(SUBSTITUE($D$5:$D$100;"T";""))))&"/"&SOMMEPROD(--("0"&GAUCHE(SUBSTITUE($D$5:$D$100;"T";""))))
et en E103, =I103&"/100" (ça, tu t'en doutais)
Pour les ratios, c'est trop simple pour que je te dise quoi faire.
Le fichier : https://www.cjoint.com/c/GJymmxrScTH
Cordialement
J'ai transposé les formules dans mon tableau initial (que j'avais légèrement modifié et anonymisé) mais je ne trouve pas le bon dénominateur...
Je trouve pour les logements 14/36 au lieu de 14/35
=SOMMEPROD(($C$8:$C$103<>"")*($M$8:$M$103<>0))&"/"&SOMMEPROD(--($C$8:$C$103<>""))
et pour le nombre de pièces je trouve 44/276 au lieu de 14/89
=SOMMEPROD(($C$8:$C$103<>"")*($M$8:$M$103>0)*("0"&GAUCHE(SUBSTITUE($D$8:$D$103;"T";""))))&"/"&SOMMEPROD(--("0"&GAUCHE(SUBSTITUE($D$8:$D$103;"T";""))))
Où est mon erreur ?
Je trouve pour les logements 14/36 au lieu de 14/35
=SOMMEPROD(($C$8:$C$103<>"")*($M$8:$M$103<>0))&"/"&SOMMEPROD(--($C$8:$C$103<>""))
et pour le nombre de pièces je trouve 44/276 au lieu de 14/89
=SOMMEPROD(($C$8:$C$103<>"")*($M$8:$M$103>0)*("0"&GAUCHE(SUBSTITUE($D$8:$D$103;"T";""))))&"/"&SOMMEPROD(--("0"&GAUCHE(SUBSTITUE($D$8:$D$103;"T";""))))
Où est mon erreur ?
Votre formule parait plus simple que celle que j'avais initialement bricolé pour calculer le nombre de logements dont la cotisation est supérieure à 2 euros ou en attente (de paiement) :
=CONCATENER(SOMME(SOMME(NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"101");NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"102");NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"103");NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"104"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "105"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "106"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "107"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "108"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "109"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "110"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "111"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "112"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "113"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "114"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "115"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "116"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "117"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "118"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "119"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "120"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "121"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "122"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "123"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "124"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "125"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "126"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "127"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "128"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "129"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "130"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "131"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "132"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "133"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "134"));SOMME(NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"101");NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"102");NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"103");NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"104"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "105"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "106"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "107"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "108"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "109"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "110"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "111"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "112"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "113"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "114"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "115"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "116"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "117"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "118"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "119"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "120"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "121"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "122"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "123"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "124"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "125"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "126"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "127"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "128"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "129"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "130"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "131"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "132"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "133"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "134")));"/35")
Mais je n'avais pas trouvé comment faire pour calculer le nombre de pièces ...
=CONCATENER(SOMME(SOMME(NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"101");NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"102");NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"103");NB.SI.ENS($M$8:$M$103;">=2";$C$8:$C$103;"104"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "105"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "106"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "107"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "108"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "109"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "110"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "111"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "112"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "113"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "114"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "115"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "116"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "117"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "118"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "119"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "120"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "121"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "122"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "123"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "124"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "125"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "126"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "127"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "128"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "129"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "130"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "131"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "132"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "133"); NB.SI.ENS($M$8:$M$103; ">=2";$C$8:$C$103; "134"));SOMME(NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"101");NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"102");NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"103");NB.SI.ENS($M$8:$M$103;"en attente !";$C$8:$C$103;"104"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "105"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "106"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "107"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "108"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "109"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "110"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "111"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "112"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "113"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "114"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "115"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "116"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "117"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "118"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "119"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "120"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "121"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "122"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "123"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "124"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "125"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "126"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "127"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "128"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "129"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "130"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "131"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "132"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "133"); NB.SI.ENS($M$8:$M$103; "en attente !";$C$8:$C$103; "134")));"/35")
Mais je n'avais pas trouvé comment faire pour calculer le nombre de pièces ...