Formule =sierreur(index....) avec 2 conditions

A voir également:Formule =sierreur(index....) avec 2 conditionsFormule index equiv 2 conditions - Forum - Excel Formule excel recherchev avec 2 conditions ✓ - Forum - Excel Formule si excel avec 2 conditions ✓ - Forum - Windows Excel Fonction SI ET 2 critères 2 conditions ✓ - Forum - Excel Formule somme si avec 2 conditions - Forum - Excel

Bonjour,

Comment faire apparaitre dans le même tableau et avec 1 seule formule le résultat de ces 2 formules. parce que individuellement ca fonctionne.

Y a t il une solution pour avoir une seule formule qui ferait le tri ? parce que cela fait plusieurs heures que je teste des choses sans succès.

quand je saisis ces 2 formules ca marche de façon séparée :

=SIERREUR(INDEX(Feuil1!$D:$D;AGREGAT(15;6;(1/(Tableau1[BANQUE]="BANQUE1"))*LIGNE(Tableau1[BANQUE]);LIGNE(A1)));"") --------> ok ca marche

=SIERREUR(INDEX(Feuil1!$D:$D;AGREGAT(15;6;(1/(Tableau1[BANQUE]="BANQUE2"))*LIGNE(Tableau1[BANQUE]);LIGNE(A1)));"") -------------> OK ca marche aussi

merci d'avance ...et encore merci à danielc0 et à via55 qui m'ont respectivement beaucoup aidés ces derniers mois.

cordialement

glaieul29



Configuration: Windows / Internet Explorer 11.0

Forum

A voir également:Formule =sierreur(index....) avec 2 conditionsFormule index equiv 2 conditions - Forum - Excel Formule excel recherchev avec 2 conditions ✓ - Forum - Excel Formule si excel avec 2 conditions ✓ - Forum - Windows Excel Fonction SI ET 2 critères 2 conditions ✓ - Forum - Excel Formule somme si avec 2 conditions - Forum - Excel

Web: www.shapebootstrap.net

7 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour glaieul

De rien !

Si tu veux enchainer les 2 recherches :
=SIERREUR(INDEX(Feuil1!$D:$D;AGREGAT(15;6;(1/(Tableau1[BANQUE]="BANQUE1"))*LIGNE(Tableau1[BANQUE]);LIGNE(A1)));SIERREUR(INDEX(Feuil1!$D:$D;AGREGAT(15;6;(1/(Tableau1[BANQUE]="BANQUE2"))*LIGNE(Tableau1[BANQUE]);LIGNE(A1)));"")

Cdlmnt
Via

Reply
réponses:
  • auteur

  • auteur

  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour

Oui ma formule recherche d'abord dans banque1 et si pas trouvé dans banque2, c'est ce que je croyais que tu voulais mais non tu veux toutes les entrées concernant les deux apparemment
Oui prépare moi un fichier, poste le sur mon-partage.fr (tu peux mettre un mot de passe) et envoie moi le lien en mp avec éventuellement le mot de passe

J'ai noté aussi ta demande de sortie chronologique, je verrai comment c'est possible mais il faudra peut être une macro

Cdlmnt

Reply
réponses:
  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour

https://www.cjoint.com/c/IKpmwDBMZW2

Plusieurs possibilités :
- feuille banque1 + af1 : sans utiliser la matricielle AGREGAT puisqu'on déjà des listes triées mais en utilisant INDIRECT pour reconstituer l'adresse de l'info dans l'une ou l'autre feuille selon la ligne où on se trouve
- feuille banque1 + af1 + tri chrono : même chose mais en rajoutant une colonne de comptage pour obtenir à côté le tableau trié chronologiquement
_- feuille tri chrono banque1 af1 : en ayant rajouté une colonne de comptage en feuille 1; directement le tableau trié chronologiquement sans avoir besoin des feuilles Banque 1 et AF 1

Cdlmnt
Via

Reply
réponses:
  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

C'est ce que j'ai fait !
ouvres le fichier que je t"ai posté et dont je t'ai mis le lien dans mon précédent message je t'ai mis les 3 possibilités, tu choisiras ce qui te convient le mieux

Reply
réponses:
  • auteur

  • auteur

  • auteur

  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Pour le 0 le plus simple est d'éviter de toucher aux formules mais de masquer les 0 dans la colonne par une mise en forme conditionnelle écriture blanche pour les valeurs = 0

Sinon il faut modifier la formule ainsi :
=SI(SIERREUR(INDEX(Tableau1[TRAVAUX];EQUIV(LIGNES(G$9:G9);Tableau1[x];0));"")=0;"";SIERREUR(INDEX(Tableau1[TRAVAUX];EQUIV(LIGNES(G$9:G9);Tableau1[x];0));""))

Explication de la formule INDEX EQUIV :
INDEX va chercher une valeur dans la matrice Tableau1[TRAVAUX] à la ligne trouvée par EQUIV
EQUIV donne le rang dans la matrice Tableau1[x] du nombre déterminé par LIGNES(G$9:G9)
LIGNES(G$9:G9) donnant lui même le nombre de lignes dans la plage depuis G9
ainsi si on est en ligne11, LIGNES(G$9:G11) renvoie 3, dans la feuille 1 en colonne J 3 se trouve en ligne 21donc EQUIV renvoie 21et INDEX renvoie alors la valeur de D21

Cdlmnt
Via

Reply
réponses:
  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour glaieul

La formule INDEX INQUIV existe déjà dans le dernier fichier que je t'avais envoyé dans la dernière feuille tri chrono ... et fonctionne bien

La formule de mon dernier post rajoute un SI .... = 0 pour traiter le cas du 0 en colonne D et fonctionne aussi, je viens de la retester sur mon fichier pour être sûr (une erreur de recopie est vite faite !)
Si tu as bien nommé x la colonne J de feuille 1 il ne devrait pas y avoir de problème sinon il suffit de remplacer dans ma formule le x par l'autre nom que tu aurais attribué à cette colonne J
Je ne peux guère en dire plus sans voir ton fichier

Enfin pour répondre à ta question je suis parfaitement autodidacte, au début comme pour toi INDEX EQUIV c'était de l'hébreu pour moi mais c'est une combinaison tellement utile à connaître car elle permet de retrouver une valeur dans un tableau d'après une autre quelque soit sa colonne ou sa ligne alors que les RECHERCHEV et RECHERCHEH exigent que la valeur permettant la recherche soit située obligatoirement en 1ere colonne ou en 1ere ligne

A plus
Via

Reply
réponses:
  • auteur

  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour glaieul

Je ne sais pas de quel picto tu parles
Il faut avant tout pour chaque feuille définir des zones d'impression pour éviter l'impression de pages blanches (Dans le ruban Mise en page - ZoneImpr)

Si les tableaux peuvent varier en taille, il faut soit redéfinir chaque zone d'impression avant de lancer une impression soit le faire faire par une macro

A plus
Via

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed