Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Aide sur formule matricielle complexe

J

jip31

Guest
Bonjour
L'onglet "Recap" du fichier joint récupére automatiquement des données saisies dans Forms
Les colonnes J et N récupèrent des informations liées au type de panne et les colonnes I et M des informations liées à la population impactée
Je peux donc avoir un jour la population "Guich" en colonne M et la poulation "COB" en colonne I et inversement le lendemain
C'est la même chose pour le type de panne
Je voudrais donc récupérer dans l'onglet "Suivi" les données si les 2 conditions suivantes sont respectées
1) Je ne veux récupérer que les lignes correspondant à la population "Guich"
Donc si dans la colonne I ou dans la colonne M de l'onglet "Recap", je veux récupérer cette valeur dans la colonne E de l'onglet "Suivi"
2) Je ne veux récupérer que les lignes correspondant à la population "Guich" que si en colonne J ou N le type de
panne est "Applicatifs" A copier dans la colonne F de l'onglet "Suivi". S'il est réseau, je ne veux pas récupérer la ligne
Dernière chose, s'il y a bien un évènement correspondant à ces 2 conditions, je veux que le contenu des cellules E, F, G, et H de l'onglet "Recap" soit copiées dans les colonnes
A, B, C et D de l'onglet "Suivi"
NB: Quand je parle de ne pas récupérer les lignes, cela veut dire qu'elle ne doit pas s'afficher du tout (Je ne veux pas de filtre)
Merci
 

Pièces jointes

  • Bureau TEST.xlsx
    25.4 KB · Affichages: 24

Amilo

XLDnaute Accro
Bonjour à tous,

@jip31 , je ne me suis pas penché sur le sujet depuis mon dernier message mais j'avais déjà préparé une 2ème version plus simple que la précédente et en tenant compte notamment :
- de la casse des mots
- d'un teste avec COB et COB dans les 2 colonnes pour ne pas les prendre même si nous avons "Applicatifs" par ailleurs

Comme je n'avais pas tout compris, je doute que cela réponde mais je poste quand même.
Sinon, j'espère que les nouvelles propositions de job75 et de Hasco répondent à votre demande.

Cordialement
 

Pièces jointes

  • Population_Pannes_PQ_jip31_V2 .xlsx
    36.7 KB · Affichages: 2
J

jip31

Guest
Bonjour
Merci pour l'explication de la plage data
après je galère car j'essaye de faire un mix entre la solution de chris et la votre car il y a des choses qui sont bonnes de chaque côté mais séparément
je m'explique
dans votre solution, la condition sur le type de panne est bien prise en compte puisque par exemple j'ai dis que si population = Guich et panne = WIFI, alors on ne prend pas la ligne en compte ce qui est bien le cas (voir ligne 5)
en revanche le type de panne que vous remontez n'est pas le bon
si par exemple en "Poupulation impactée2" (colonne M) je dis remonter le "Type de panne2" (colonne N)
Or la c est la colonne J qui remonte
Merci quand même pour votre aide
 

Hasco

XLDnaute Barbatruc
Repose en paix
si par exemple en "Poupulation impactée2" (colonne M) je dis remonter le "Type de panne2" (colonne N)
Or la c est la colonne J qui remonte
Re,

Je crois qu'il faut que vous mettiez ceci en ordre dans votre tête. Ne vous focalisez pas sur ce que vous voyez comme résultat dans Type de panne; Est-ce que ce sont les bonnes lignes qui sont remontées par la requête ?

Une fois que les bonnes lignes sont sélectionnées, on peut afficher ce qu'on veut dans la colonne Type de panne, comme ce que j'ai fait pour la colonne "Population impactée" en remplaçant COB par GUICH

Et comme le dis @chris que comptez vous faire des autres types de panne ?

cordialement

[Edition] Appliquée à vos données du post#6 la requête du post #3 donne :

[/edition]

Si ce sont les bonnes lignes, il faut simplement remplacés COB par GUICH et Mettre APPLICATIFS dans Type de panne. Ce qui deviendrait :

Dur. dur.
 

Pièces jointes

  • 1667223370157.png
    10.2 KB · Affichages: 20
Dernière édition:
J

jip31

Guest
Re à tous

Pour compléter ma demande de précisions.
J'obtiens cela
Regarde la pièce jointe 1153934
Est-ce correct ?
Re
Oui cà à l'air
Quoi qu'il en soit, je vais faire un nouveau message avec un fichier source plus clair en essayent de répondre à vos remarques et celles d Hasco pour que ce soit le plus clair possible
Désolé pour toutes ces imprécisions mais je suis moi même victime des indécisions du métier ;-)
Merci
 
Dernière modification par un modérateur:

job75

XLDnaute Barbatruc
Je vois que les formules de mon post #12 n'intéressent personne.

Sans doute parce que j'ai ajouté les 2 colonnes "Population impactée2" et 'Type de panne2".

Alors je les ai supprimées dans ce fichier (2).

Les formules en E2 et F2 sont intéressantes :
Code:
=SIERREUR(REPT("Guich";OU(INDEX(Test1;Lig);INDEX(Test2;Lig)));"")
Code:
=SIERREUR(REPT(INDEX(Table1[Type de panne];Lig);INDEX(Test1;Lig))&REPT(INDEX(Table1[Type de panne2];Lig);INDEX(Test2;Lig));"")
Comme on le voit pour le code 44204 il n'y a pas ajout de ligne mais concaténation en F6.
 

Pièces jointes

  • Bureau TEST(2).xlsx
    28.8 KB · Affichages: 4
J

jip31

Guest
En F6 on récupère 2 fois "Réseau", j'espère que ça ne choquera pas trop...
Merci bcp pour ton aide job75 mais je ne te ache pas que j'ai pas eu le temps de regarder
cest vrai que dans mon message initial je parle de formules matricielles mais jai l'impression que Power Query sera mieux adapté au besoin ;-)
 
J

jip31

Guest
Bonjour à tous
Le fichier en PJ proposé initialement par Chris fonctionne bien
Mais la seule condition qu'il prend en compte est Population impactée = "Guich"
Or, j'ai aussi besoin que soit pris en compte le type de panne (ce qui marche dans la propsition d'Hasco mais que je n'arrive pas à implémenter dans ce fichier joint)
Donc en fait, je vais essayer d'être le plus clair possible
En fait, j'ai besoin de récupérer toutes les types de population (Guich et COB) mais c'est la condition sur le type de panne qui va faire en sorte que les valeurs vont être récupéres ou pas
J'ai donc ajouté 2 lignes (ligne 6) de l'onglet "Recap" du fichier joint
Pour la ligne 6, si Population = Guich et Panne = WIFI alors je ne veux pas récupérer les valeurs. En revanche si Poulation=COB et Panne = WIFI alors je veux la récupérer
J'ai eu beau regarder toutes les étapes appliquées mais malheureusement j'ai beaucoup de mal à les comprendre
Par exemple "Index ajouté"



J'ai plein d'autres conditions à implémenter (poulation vs type de panne) et j'espère pouvoir le faire directement dans l'éditeur avancé...
Au question justement concernant l'éditeur avancé,:
comment faire pour que la table "Data_2" de l'onglet "Suivi" prenne aussi en compte les population3 et les pannes3 (colonnes Q et R)
Comme je l'ai dis, je découvre Power Query depuis 2 jours et mon besoin n'est ni simple ni clairement défini donc merci de votre indulgence...
Bonne journée à tous
 

Pièces jointes

  • Population_Pannes_PQTEST.xlsx
    36.8 KB · Affichages: 2

chris

XLDnaute Barbatruc
Bonjour à tous

Ne t'embarque pas dans l'éditeur avancé : on n'en a que très rarement besoin et surtout pas pour débuter.
On se sert à 99 % du ruban et du clic droit.

Donne plutôt
  • un tableau de tous les cas à sélectionner (arbre de décision)
  • la réponse concernant les cas 3 à 5
On pourra ensuite t'expliquer comment faire avec PowerQuery afin que tu en comprennes la logique

Je m'absente ce matin mais les autres aficionados, que je salue, seront sans doute là avant mon retour
 

job75

XLDnaute Barbatruc
Bonjour jip31, chris, le forum,
cest vrai que dans mon message initial je parle de formules matricielles mais jai l'impression que Power Query sera mieux adapté au besoin ;-)
Les formules de mon post #24, quoique non matricielles, prennent en effet beaucoup de temps.

J'ai testé en recopiant le tableau A2:AC7 de la feuille "Recap" sur seulement 600 lignes.

La récupération en A2:F601 de la feuille "Suivi" se fait chez moi en 7,6 secondes.

Combien de lignes aurez-vous à traiter ? Si ce sont quelques dizaines aucun problème.

A+
 

mapomme

XLDnaute Barbatruc
Je dois être devenu transparent
 

Discussions similaires

Réponses
5
Affichages
442
J
Réponses
4
Affichages
662
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…