Fonction equiv renvoie --> N/A

Bonjour , j'ai déjà demandé de l'aide pour automatiser un fichier avec vba mais les réponses ne m'ont pas convaincu (ce qui ne remets pas en cause les compétences des trois contributeurs, sujet ici : https://forum.excel-pratique.com/excel/vba-recuperer-une-moyenne-de-plusieurs-plages-t70401.html )

Du coup, la partie non convaincante je la traite (où du moins j'essaie) de la traiter par formule.

Dans celle-ci

=MOYENNE(DECALER(Data!$A$1;EQUIV($B2;Temps;0);COLONNE()-4;EQUIV($D2;Temps;0)-1))
EQUIV($D2;Temps;0)

me renvoie toujours N/A :/ Pourquoi ?

Je précise qu'en ce sont des valeurs au format heure qui sont recherchés dans la liste nommée "temps"

Par avance merci à ceux qui pourront éclaircir ma lanterne.

22cardiofr.xlsm (89.98 Ko)

Bonjour,

Tes heures sont différentes suivant les feuilles, les décimales ne sont pas les mêmes.

Pour t"en convaincre, fais un copier de data!a422 collage spécial valeur en suivi!f3, et ta formule fonctionne !

Bonjour djidji, merci, existe t'il une solution pour contourner se problème ?

avec :

=MOYENNE(DECALER(Data!$A$1;EQUIV(B2;Temps;0);COLONNE()-4;SOMMEPROD(--(Temps<=D2))-1))

J'arrive à déterminer la ligne de fin mais EQUIV(B2;Temps;0) lui ne me permet pas de définir la ligne de début.

re

avec bien du mal !

18cardiofrv.xlsm (92.72 Ko)

Bonsoir,

=MOYENNE.SI.ENS(date;Temps;">="&B2;Temps;"<"&D2)

A+

bonsoir

un essai

j'ai bricolé la colonne A dans data pour avoir des vrai temps

bizzarement EQUIV ne voulait rien savoir ;alors >>>licenciement

a verifier

13machincardiofr.xlsm (105.88 Ko)

cordialement

Bonsoir djidji, ooiste et tulipe. Merci à vous d'avoir répondu. Sur les trois, se sont les résultats de OOoiste qui correspondent le mieux au pouillème près ! Mais...Tulipe et djidji, vos formules m'ont quand même donné des maux de tête.

Tulipe, idem, equiv() n'a rien voulu savoir ce qui ramène au problème soulevé par djidji deux ou trois post plus haut. Un décalage de décimal existe mais il vient d'où ? Mystère..

Djidji, je veux bien une explication de votre formule s'il vous plait...

=SOMME(SI(Temps<D2;date))/NB(SI(Temps<D2;Temps))

Qu'est-ce que ça veut dire tout ceci ?

Tulipe vous...vous êtes hors concours ! Même pas j'essaie de comprendre..

Machin a écrit :

Djidji, je veux bien une explication de votre formule s'il vous plait...

=SOMME(SI(Temps<D2;date))/NB(SI(Temps<D2;Temps))

Qu'est-ce que ça veut dire tout ceci ?

la moyenne ,c'est la sommes des valeurs/nombre des valeurs

donc la 1ere cellule, c'est entre 0 et 5mn,, cad <5mn

ensuite, c'est la somme des valeurs >5 et < 2 / nb de valeur des valeurs >5 et < 2, et ainsi de suite

{=SOMME(SI(((Temps<D3)*(Temps>D2))<>0;(Temps<D3)*(Temps>D2)*1*date))/NB(SI(((Temps<D3)*(Temps>D2))<>0;(Temps<D3)*(Temps>D2)*1*date))}

Si le produit des matrices Temps<D3)*(Temps>D2))<>0 ==> une matrice ou il y a des "vrai" seulement pour les conditions remplies,

(Temps<D3)*(Temps>D2)*1*date==> une matrice qui a les valeurs demandées et des zéros et dont on fait la somme.

Même principe pour déterminer le nb de valeurs

le tout en matricielle parce que nb.si ne fonctionne pas avec un critère de zone ==>nb(si(.........

Par contre on peut peut-être ajuster avec des >= ou <= parce que actuellement, c'est la moyenne entre 0 et la valeur inférieure la plus proche de 5mn, puis après c'est entre 5mn et la valeur inférieure la plus proche de 7mn, etc...

D'un autre cote , je ne comprends pas les différences de résultat par rapport a tes calculs (dont tu es absolument sur ?)- en particulier entre 5mn et 7 mn

Voili voilou.

PS : j'étais parti sur le même genre de formule que Oooiste, mais bizarrement, elle m'indiquait #N/A; d’où mon passage en matricielle.

Crdmt

re

en voila une autre

 =SOMMEPROD((Temps>=B2)*(Temps<=D2)*(colc))/SOMMEPROD(--(Temps>=B2)*(Temps<=D2))

mais n'y avait il pas une histoire de rajouter des colonnes ;ou je l'ai révé

cordialement

Bonjour a tous les participants au fil

La dernière, elle me plait bien, et je râle de pas y avoir penser. J'ai l'esprit trop compliqué !

hum...Pardon mais je n'ai rien compris. Surtout les >5 et <2. Mais ce n'est pas de votre faute, je sais que c'est difficile d'expliquer ce qui se fait intuitivement.

Si vous prenez de 0 à 4,59 la moyenne c'est : 93,17666667

Si vous prenez de 0 à 5:00 la moyenne c'est : 93,21262458

J'ai obtenu les chiffres en sélectionnant manuellement les plages de cellules parce que je ne voulais pas me retrouver avec le même problème qu'avec vba (l'ancien sujet).

En pratique, que la plage aille jusqu'a 4:59 ou 5:00 (et ainsi de suite pour le reste des fractions calculable) cela restera assez transparent car les valeurs vont monter et descendre de façon exponentielle (donc les moyennes seront assez représentative)

J'ai opté pour la formule de OOoiste car elle est plus simple mais si j'ai demandé des explications c'est parce que vous avez utilisez d'autres éléments que "moyenne" et je suis très curieux de nature.

tulipe_4 a écrit :

re

mais n'y avait il pas une histoire de rajouter des colonnes ;ou je l'ai révé

cordialement

Merci tulipe et djidji des propositions alternatives, j'ai opté et adapté (pour qu'elle soit étirée) la formule Moyenne.si.ens. mais vos propositions ne sont pas vaines.

Tulipe, l'ajout de colonne supplémentaire se fait sur la feuille data, je reçois les données en seconde et il ne m’intéresse que d'avoir la moyenne des fractions de temps qui doivent être ajustées et ajustable.

D'ailleurs à se propos ma formule est ainsi

MOYENNE.SI.ENS(DECALER(Data!$A$1;1;(EQUIV(H$1;Data!$1:$1;0)-1);2701);Temps;">="&$B6;Temps;"<"&$D6);"");"")

avec

DECALER(Data!$A$1;1;(EQUIV(H$1;Data!$1:$1;0)-1);2701)

je vais chercher ma date et les coordonnées dans la feuille data qui pour le moment n'a qu'une seule colonne. Mais le nombre de colonne va augmenter et n'y a t'il pas possiblité de rendre dynamique cette plage de date dans la feuille data afin d'y faire référence rapidement ?

bonjour

bien sur que si ;d'ailleurs j'avais preparé le coup

regarde dans gestionnaire comment est nommé colc ; ce type d'equiv est adapté a la saisie d'une date et; je crois meme que tu pourras laisser des colonnes vides dans data

10machincardiofr-2.xlsm (106.29 Ko)

cordialement

Bonjour tulipe, j'ai vu le 9^9 et merci d'avoir anticipé. il n'y aura pas de colonne vide dans la feuile data car l'importation se fait à colonne +1. Il y a juste deux petites choses qui me chagrinent

Cas 1 Si vous prenez de 0 à 4,59 la moyenne c'est : 93,17666667

Cas 2 Si vous prenez de 0 à 5:00 la moyenne c'est : 93,21262458

Votre formule est sur le cas 2, que faut-il modifier pour tomber sur le cas 1 ?

Sur la photo, il y a un delta non négligeable, en ce qui concerne la ligne 4.

Peut-être qu'en reglant le premier point cela règlera le deuxième en cascasde.

Par avance merci.

sans titre

re

peut etre; mais j'ai changé des vals de durée lors des test donc ...... j'avoue que je n'avais pas immediatement remarqué tes sommes lignes a ligne et en recherchant pour quoi l'equiv ne marchait pas j'y ai saisi des temps manuellement en espererant que ... ; mais je n'ai pas remis à l'origine

quant a l'equiv 9^9 tu peux le laisser ; cela ne change rien

cordialement

je vais me pencher sur le sujet de l'abrégé

Bonsoir tulipe, non ce n'est pas le changement de valeur car j'ai effectué un test.

Bonsoir à tous,

Salut Djidji !

Je m'inscris pour suivre (!). Je n'ai pas eu le temps de voir le développement de la discussion (et vais être indisponible pendant un petit bout de temps) mais au départ j'avais mis l'erreur sur EQUIV sur le compte de problème d'arrondis à la 15e décimale... J'avais essayé de tourner autrement mais là autre surprise (constatée dans l'évaluateur de formules) : le nombre de lignes ne s'appliquait plus correctement ! Bon, pas eu le temps de creuser ces anomalies (pbs perso urgents) mais j'y reviendrai...

Bonne fin de semaine à tous.

Rechercher des sujets similaires à "fonction equiv renvoie"