Calcul sur excel

Résolu/Fermé
djidj - 15 févr. 2014 à 16:09
 djidj - 13 mai 2014 à 20:11
Bonjour,

J'ai une base de données sur EXCEL (sur macbook pro)
j'ai besoin de calculer dans une colonne "AGE" à partir d'une colonne "DATE DE NAISSANCE" au format date type 01/01/1950

comment je peux faire ??

Merci bcp



A voir également:

9 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 15/02/2014 à 16:18
Bonjour
pour avoir l'age en nombre d'années complètes à l'anniversaire:

en A1 la date de naissance
en B1 la formule:
=SI(A1="";"";DATEDIF(A1;AUJOURDHUI();"y"))

si vous voulez "écrire" l'age en année et mois (sans valeur numérique)
=SI(A1="";"";DATEDIF(A1;AUJOURDHUI();"y")&"an(s) "&DATEDIF(A1;AUJOURDHUI();"ym")&"mois")

crdlmnt

Errare humanum est, perseverare diabolicum
0
Merci pour la réponse

j'ai réussi l'appliquer pour une case
mais comment je peux faire pour l'appliquer automatiquement à toute la colonne ?

merci
0
J'ai réussi à le faire partiellement en partant de la ligne supérieure : en maintenant le clic et en descendant

mais ça pose 2 pb :
-j'ai des lignes vierges donc j'ai le chiffre "114" qui s'inscrit
-et comme j'ai au moins 7000 lignes dans la base de données y a-t-il un moyen plus rapide pour appliquer la formule à toute la colonne (et donc sans avoir le "114" dans les lignes vierges mais avoir une case vierge à la place)


Merci!!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 15/02/2014 à 17:21
Re:
1°) si la formule affoche 114 si la cellule date de naissance est vide, c'est que vous n'avez pas placé l'item initial qui annule le calcul:

=SI(A1="";"";DATEDIF(A1;AUJOURDHUI();"y"))

A1 étant bien sur à adapter, s'agissant de la cellule ontenat la date de naissance

2°) pour la rentrer sur 7000 lignes, pour l'exemple de B1 à B7000
__placer le curseur dans la case à gauche de la barre de formule
__inscrivez B1:B7000 et > touche Enter pour entrer cette adresse
__dans la barre de formule, placer la formule correspondant à B1
__entrez la avec la touche Enter en maintenant la touche ctrl enfoncée.
__La formule va s"inscrire et s'ajuster sur toute la hauteur

crdlmnt
0
Ok pour la formule complète
je réussis à avoir des cases sans "114"


par contre j'ai des difficultés pour la suite

2°) pour la rentrer sur 7000 lignes, pour l'exemple de B1 à B7000
__placer le curseur dans la case à gauche de la barre de formule : en A1 alors ?
__inscrivez B1:B7000 et > touche Enter pour entrer cette adresse : "B1:B7000>" ?
__dans la barre de formule, placer la formule correspondant à B1 :
la barre de formule correspond à la case B1 ?
je dois remplacer A1 par B1 dans la formule ?
__entrez la avec la touche Enter en maintenant la touche ctrl enfoncée.
je dois valider la formule par "entrer" en maintenant la touche contrôle ?
__La formule va s"inscrire et s'ajuster sur toute la hauteur

merci!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
15 févr. 2014 à 17:57
Non pas en A1 , vous avez en ligne avec la barre de formule en dessous des barres d'outils,
une case à gauche où apparaît l'adresse de le cellule sélectionnée.


C'est cette adresse qu'il faut remplacer par B1:B7000, tout le champ va être sélectionné
et ensuite , inscrire la formule qui doit allez en B1 avant d'entrer avec la touche ctrl
crdlmt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
super!
j'ai enfin réussi
merci!

comme je commence à comprendre
jv essayer de faire d'autres calculs

pour avoir des cases vierges correspondant aux lignes vierges quelles est la formule type adéquate ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
15 févr. 2014 à 19:53
Une case qui a une formule n'est jamais vierge.

Pour l'avoir "sans affichage de résultat", tout dépend des formules que vous utilisez. Difficile de vous donner un tuyau "universel"!

Pour la principe , si vous avez par exemple une division de A1 par B1, en C1 , C1 affichera #DIV/0 si B1 est vide. Pour éliminer ça:

=SI(B1="";"";A1/B1)

dans ce que vous venez de résoudre, la condition "de protection " est:
=SI(A1="";"";......qui dit si A1 est "vide"; renvoyer une cellule vide

et un autre exemple si une formule vous renvoie une erreur dans certain cas:
=SI(ESTERREUR(formule);"",formule)

pou encore si vous ne voulez pas que A1+B1 s'exécute si une seule est vide:
=SI(OU(A1="";B1="");"";A1+B1)

Ect...

notez encore que A1="" signale une cellule qui n'a pas de valeur, et est différent de A1=0 qui est une valeur numérique

Pour le reste, à vous d'imaginer les conditions qui peuvent répondre à vos besoins suivants les formules.

crdlmnt
0
ok c'est très clair !

J'ai une autre problématique : je dois faire un calcul avec des lettres
cad que j'ai une colonne où il y a que des "O" (pour oui) ou des "N" (pour non)

en gros je dois compter le nombre de O
pour ensuite faire une division avec des chiffres d'une autre colonne

comment je peux conditionner les O en 1 et les N en 0


et bien sur toujours avec des cases vides aussi


merci!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
16 févr. 2014 à 08:59
Bonjour

=NB.SI(A1:A1000;"O") / cellule diviseur

ou
=NB.SI(A1:A1000;"N")/ cellule diviseur

bien sur

adresse à ajuster à vos champs

crdlmnt
0
que signifie NB. SI ?


et par rapport à tout à l'heure
on a calculé les âges à partir de la date de naissance dans un colonne

je voudrai calculer la moyenne cette fois - ci des âges de la colonne
sauf que ça ne fonctionne pas : à cause des cases "vides" ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 16/02/2014 à 11:32
NB.SI est un code Excel qui compte le nombre de valeurs correspondant à la valeur texte O dans le champ A1:A1000 pour la formule proposée dans mon exemple

principe
=NB.SI(Limtes du champ; valeur cherchée)
valeur cherchée> soit une valeur numérique, soit un texte entre guillemets, soit une adresse de cellule, sans les guillemets dans la quelle se trouve valeur num ou texte cherché;
elle permet donc de compter d'un seul coup les O (ou les N) dans un champ (sans passer par une transformation en 1 + une somme)

Par exemple si vous voulez en F1 avoir la somme des valeurs de A1 àA1000 divisée par le nombre de O de D1 à D1000, vous écrivez en F1:

=SOMME(A1:A1000)/NB.SI(D1:D1000;"O")

et si vous voulez la moyenne des valeurs de A qui correspondent à un O en D:

=MOYENNE.SI(D1:D1000;"O";A1:A1000)

maintenant pour transformer les O en 1 et les N en 0 si NB.SI ne fait pas l'affaire, la formule est, si votre colonne O/N est en D

en E1 à placer sur la hauteur:

=SI(D1="O";1;SI(D1="N";0;"")

.
Votre moyenne:
Pourquoi ne fonctionne t elle pas à cause des cases "vides"?
Si vous écrivez:
=MOYENNE(B1:B1000)
vous aurez la somme des valeurs présentes en B1:B1000 divisée par le nombre de ces valeurs qui n'inclue pas les cellules avec "".
N'est ce pas ce que vous voulez?

à vous lire

crdlmnt
0
si exactement !
ça ne marchait pas parce que certaines cases étaient mal remplies... mais c'est ok maintenant

j'ai pu faire le plus gros avec ce que vous m'avez expliqué!
merci bcp!
0
Bonjour,

Je continue sur ma même base de données :

Cette fois j'ai une colonne de 6000 lignes qui contient des chiffres entre 1 et 160 :

mon but est de vouloir calculer combien il existe de ligne avec le chiffre 1, puis le chiffre 2, puis le chiffre 3 ....

je sais le faire par ligne en utilisant la formule NS.SI ...
seulement je dois le faire logiquement 160 fois ce qui est long !!!!

est il possible de pouvoir rentrer la formule une fois, pour qu'il le calcule de manière logique en une seule fois, pour les chiffres de 1 à 160 ???

MERCI DE VOTRE AIDE !!!!
0