Comparatif entre différentes feuilles
Résolu/Fermé
cedricdu95
Messages postés
210
Date d'inscription
samedi 22 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2017
-
Modifié par cedricdu95 le 18/09/2015 à 12:23
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 - 21 sept. 2015 à 12:28
cedricdu95 Messages postés 210 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 26 mars 2017 - 21 sept. 2015 à 12:28
A voir également:
- Comparatif entre différentes feuilles
- Différence entre tcp et udp - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Fusionner feuilles excel - Guide
- Comparatif supermarché le moins cher - Accueil - Services en ligne
- Comparatif mini pc - Accueil - Guide ordinateurs
1 réponse
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
Modifié par Vaucluse le 18/09/2015 à 12:50
Modifié par Vaucluse le 18/09/2015 à 12:50
Bonjour
à adapter
code client en A
CA en B
on commence en ligne 2
une feuille nommée 2014
une feuille nommée 2015
en D2
=$B2-SI(NB.SI(2014!$A:$B;A2)=0;0;RECHERCHEV(2014!$A2;$A:$A;2;0))
pour les clients de 2015 qui n'existe pas en 2014 , c'est la valeur de 2015 qui va s'afficher
.. sous réserve qu'il n'y ait bien sur dans chaque feuille qu'une ligne de CA par client, sinon il faut utiliser =......;SOMME.SI(2014!A:A;A2;2014!B:B)
.. qui en fait fonctionne pour une ligne client ou plusieurs...!
crdlmnt
Errare humanum est, perseverare diabolicum
à adapter
code client en A
CA en B
on commence en ligne 2
une feuille nommée 2014
une feuille nommée 2015
en D2
=$B2-SI(NB.SI(2014!$A:$B;A2)=0;0;RECHERCHEV(2014!$A2;$A:$A;2;0))
pour les clients de 2015 qui n'existe pas en 2014 , c'est la valeur de 2015 qui va s'afficher
.. sous réserve qu'il n'y ait bien sur dans chaque feuille qu'une ligne de CA par client, sinon il faut utiliser =......;SOMME.SI(2014!A:A;A2;2014!B:B)
.. qui en fait fonctionne pour une ligne client ou plusieurs...!
crdlmnt
Errare humanum est, perseverare diabolicum
Modifié par cedricdu95 le 18/09/2015 à 14:33
Tout d'abord merci pour ta réponse!
Cependant j'ai un peu de mal à comprendre la formule.
Je vais directement adapté à mon cas cela semblera peut-être plus simple pour moi.
Actuellement j'ai :
Feuille CA2014
code en A ; CA de janvier en D; client commence ligne 3
Feuille CA2015
code en A ; CA de janvier en D; client commence ligne 3
Feuille Différence CA
code en A; CA de janvier en D; client commence ligne 3
Si je reprend votre code, je souhaite donc afficher la différence du CA au mois de janvier pour un client donné (ex: A0001).
Disons que ce client se trouve A3 sur ma feuille Différence CA, donc je veux sa différence de CA en D3.
[le code]:
en D3
=$D3-SI(NB.SI(CA2014!$A:$D;A3)=0;0;RECHERCHEV(CA2014!$A3;$A:$A;3;0))
Cependant la il n'y a que la recherche du CA pour janvier 2014 du client? il faudrait donc ajouter avant la recherche CA du client pour janvier 2015 puis la soustraire au code que vous m'avez donné?
J'ai un peu de mal à comprendre tout le code, excusez moi... dans la ligne de code que dois-je remplacer par mon code client ? (A0001)
Merci beaucoup pour le temps passé à me répondre
Modifié par cedricdu95 le 18/09/2015 à 15:47
=((RECHERCHEV(differenceCA!A2;_2015;4;0))-(RECHERCHEV(differenceCA!A2;_2014;4;0)))
J'ai défini des plages dans les feuilles CA2014 et CA2015 que j'ai renommée _2014 et _2015 les plages comprenant tous mes clients.
Pour l'instant la soustraction à l'air de bien fonctionner, cependant si le client n'existe pas en 2014 j'ai bien évidemment le droit à un "#N/A". Pour résoudre cela je dois rajouter quelle partie de votre code?
Celle-ci :
SI(NB.SI(2014!$A:$B;A2)=0 ???
Je vais tester quand même
EDIT:
A priori ça fonctionne avec ce code :
=((RECHERCHEV(differenceCA!A7;_2015;4;0))-SI(NB.SI(_2014;A7)=0;0;(RECHERCHEV(differenceCA!A7;_2014;4;0))))
Si il y a des choses à améliorer pour le code, pas de soucis !
18 sept. 2015 à 15:59
Non?
Mais je pense que ce serait plus simple avec SOMME.SI qui ne s'inquiétera pas de savoir si le client y est ou pas puisqu'en cas d'absence elle renverra 0
Nommer vos champs, par exemple
champ A 2014 > A_2014
champ B 2014 < B_2014
la formule
=SOMME.SI(A_2015;D3;B_2015)-SOMME.SI(A_2014;D3;B_2014)
qui fonctionne même s'il n'y a qu'une ligne client.. ou qu'il n'y en a pas.
crdlmnt
:
18 sept. 2015 à 16:24
=((RECHERCHEV('Difference CA'!A3;_2015;4;0))-SI(NB.SI(_2014;A3)=0;0;(RECHERCHEV('Difference CA'!A3;_2014;4;0))))
Je n'ai pas de retour #N/A, cela semble bien fonctionner.
Je ne comprends pas trop pour la fonction SOMME ?
La actuellement, par rapport au code mit juste au dessus, en gros, je demande a rechercher dans la plage _2015 le code correspondant à ma cellule A3 dans ma feuille Difference CA et afficher ce qu'il y a en colonne 4 (à savoir le CA du client en janvier 2015). Puis je le soustrait au CA de janvier 2014 (colonne 4 toujours) et si il n'existe pas, le remplacer par 0.
Déjà est-ce que j'ai bien compris mon code lol ?
Ensuite donc pourquoi remplacer par SOMME.SI, quel est son fonctionnement?
Merci
18 sept. 2015 à 16:33
SOMME.SI fait la pour chaque feuille, la somme d valeurs de colonne B pour toutes les lignes qui contiennent en A la valeur de D3 (qu'il y en ait une ou 30) et renvoie 0 si cette valeur n'existe pas.
Donc évite le passage par NB.SI et reste plus simple que RECHERCHE
crdlmnt