XL 2013 Sans matricielle

mlst56

XLDnaute Nouveau
Bonjour à tous,
Je sèche sur une formule que je cherche à alléger.
Je m'explique.
Dans le fichier joint, j'ai trois onglets : C_REAL, C_VV et TDB
Document Cjoint
Dans l'onglet TDB je fais une synthèse hebdomadaire et quotidienne de l'activité réalisée.
Pour y parvenir et précisément dans les colonnes C, D, G et H (en jaune) j'ai dû y inscrire la formule matricielle qui du coup, ralentie considérablement mes calculs puisque j'ai un grand nombre de ligne à parcourir.
Je cherche donc à réaliser le calcul sans { } mais également sans avoir à créer les colonnes en jaune dans les onglets C_REAL et C_VV qui contiennent les jours, numéros de jour et numéros de semaine qui participent au calcul de mon tableau de bord.
Dans mes formules (cellules en jaune dans l'onglet TDB) j'ai donc besoin de capter à la volée le numéro de semaine pour le point hebdo et le numéro de semaine plus le numéro de jour pour le point quotidien.
Je suis preneur si vous avez la solution.
Merci par avance à ceux qui passeront du temps sur ce fichier.
 

Regueiro

XLDnaute Impliqué
Re : Sans matricielle

BONSOIR LE FORUM - mlst56
Il faut réduire la "portée" de la formule ( Pas besoin d'explorer toute la Colonne )
Tu transformes sur la Feuille "C_REAL" tes données en Tabeau1
Ensuite tu modifies tes formules :

Code:
=SOMMEPROD((Tableau1[TECHNICIEN]=A15)*(Tableau1[LIBELLE]=$B$7)*(Tableau1[TYPE_INTER_REALISE]=$B$6)*(Tableau1[SEMAINE]=$A$4))

=PETITE.VALEUR(SI((Tableau1[TECHNICIEN]=$A$15)*(Tableau1[LIBELLE]=$B$7)*(Tableau1[SEMAINE]=$A$4)*(Tableau1[TYPE_INTER_REALISE]=$B$6);Tableau1[DUREE_INTER]);1)

=GRANDE.VALEUR(SI((Tableau1[TECHNICIEN]=$A$15)*(Tableau1[LIBELLE]=$B$7)*(Tableau1[SEMAINE]=$A$4)*(Tableau1[TYPE_INTER_REALISE]=$B$6);Tableau1[DUREE_INTER]);1)
@+
 

Regueiro

XLDnaute Impliqué
Re : Sans matricielle

RE

Je cherche donc à réaliser le calcul sans { } mais également sans avoir à créer les colonnes en jaune dans les onglets C_REAL et C_VV qui contiennent les jours, numéros de jour et numéros de semaine qui participent au calcul de mon tableau de bord.

Formule sans les colonnes intermédiaires
Code:
=SOMMEPROD((Tableau1[TECHNICIEN]=A15)*(Tableau1[LIBELLE]=$B$7)*(Tableau1[TYPE_INTER_REALISE]=$B$6)*(NO.SEMAINE.ISO(Tableau1[DATEREALISATION])=$A$4))

avec le jour et la semaine

=SOMMEPROD((Tableau1[TECHNICIEN]=A38)*(Tableau1[LIBELLE]="Réalisée")*(Tableau1[TYPE_INTER_REALISE]="pco")*(NO.SEMAINE.ISO(Tableau1[DATEREALISATION])=$A$4)*(JOURSEM(Tableau1[DATEREALISATION];2)=$A$28))
 

mlst56

XLDnaute Nouveau
Re : Sans matricielle

Bonjour et merci pour les propositions.
Avec de légères modifications ça fonctionne sauf pour les formules petite et grande valeur.
Pouvez vous regarder ce qui ne fonctionne pas dans les cellules en rouge dans l'onglet TDB du fichier joint ?
Cordialement.
 

Pièces jointes

  • Test TDB-pose.xlsx
    193.3 KB · Affichages: 27

Regueiro

XLDnaute Impliqué
Re : Sans matricielle

BONSOIR LE FORUM - mlst56

Formule Matricielle
EN C8
=SIERREUR(PETITE.VALEUR(SI((Tableau1[TECHNICIEN]=A8)*(Tableau1[LIBELLE]=$B$7)*(Tableau1[TYPE_INTER_REALISE]=$B$6)*(NO.SEMAINE.ISO(Tableau1[DATEREALISATION])=$A$4);Tableau1[DUREE_INTER]);1);"")

EN D8
=SIERREUR(GRANDE.VALEUR(SI((Tableau1[TECHNICIEN]=A8)*(Tableau1[LIBELLE]=$B$7)*(Tableau1[TYPE_INTER_REALISE]=$B$6)*(NO.SEMAINE.ISO(Tableau1[DATEREALISATION])=$A$4);Tableau1[DUREE_INTER]);1);"")


EN C32
=SIERREUR(PETITE.VALEUR(SI((Tableau1[TECHNICIEN]=A32)*(Tableau1[LIBELLE]=$B$31)*(Tableau1[TYPE_INTER_REALISE]=$B$30)*(NO.SEMAINE.ISO(Tableau1[DATEREALISATION])=$A$4)*(JOURSEM(Tableau1[DATEREALISATION];2)=$A$28);Tableau1[DUREE_INTER]);1);"")

EN D32
=SIERREUR(GRANDE.VALEUR(SI((Tableau1[TECHNICIEN]=A32)*(Tableau1[LIBELLE]=$B$31)*(Tableau1[TYPE_INTER_REALISE]=$B$30)*(NO.SEMAINE.ISO(Tableau1[DATEREALISATION])=$A$4)*(JOURSEM(Tableau1[DATEREALISATION];2)=$A$28);Tableau1[DUREE_INTER]);1);"")
@+
 

Discussions similaires

Réponses
6
Affichages
392
Réponses
5
Affichages
345

Statistiques des forums

Discussions
312 339
Messages
2 087 401
Membres
103 537
dernier inscrit
alisafred974