interraction entre colonnes avec val min et val max

MNicolas

XLDnaute Nouveau
Bonjour. Je suis coincé et bien coincé dans la réalisation d'une moyenne sous certaines conditions
J’ai 3 colonnes, paramètre A B C
Il faudrait que je calcul la moyenne de chaque colonne en suivant une règle :
Moyenne paramètreA= toutes les valeurs en ne
ignorant la val du MIN et MAX de la colonne A (facile)
ignorant la valeur se trouvant sur la même ligne que le MIN et MAX de la colonne B
ignorant la valeur se trouvant sur la même ligne que le MIN et MAX de la colonne C

Moyenne paramètre B ET C : même principe!
En gros j’ai mis un fichier en pièce jointe, il compte 3 colonnes de 10 lignes.
Pour la moyenne du paramètre A, il faut trouver la formule qui ne prendra en compte que les 4 lignes (il y a 6 lignes à ignorer)…
Ceçi est un exemple, mais j’ai 40 fichiers avec 8 plages de données donc 320 analyse!!!
Au secour si je n’ai pas la bonne formule !!!! Merci
 

Pièces jointes

  • forum_min_max.xlsx
    9.3 KB · Affichages: 35
  • forum_min_max.xlsx
    9.3 KB · Affichages: 37
  • forum_min_max.xlsx
    9.3 KB · Affichages: 36

MNicolas

XLDnaute Nouveau
Re : interraction entre colonnes avec val min et val max

et non malheureusement! en fait j'ai simplifié l'exemple, car chaque ligne correspond à une ligne de données fixe: le temps.
Chaque paramètre A B C correspond à un temps, je ne peux les réorganiser (les données sont liées)...
 

JHA

XLDnaute Barbatruc
Re : interraction entre colonnes avec val min et val max

Bonjour à tous,

Un essai pour la colonne "Paramètre A"

JHA
 

Pièces jointes

  • forum_min_max.xlsx
    10.4 KB · Affichages: 36
  • forum_min_max.xlsx
    10.4 KB · Affichages: 42
  • forum_min_max.xlsx
    10.4 KB · Affichages: 40
  • forum_min_max (1).xlsx
    11.1 KB · Affichages: 32
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : interraction entre colonnes avec val min et val max

Bonsoir @ tous,
Salut JHA,
une variante, toujours avec plage intermédiaire que l'on peut masquer...
@ +
 

Pièces jointes

  • forum_min_max.xlsx
    11.4 KB · Affichages: 38
  • forum_min_max.xlsx
    11.4 KB · Affichages: 36
  • forum_min_max.xlsx
    11.4 KB · Affichages: 37

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : interraction entre colonnes avec val min et val max

Bonsoir MNicolas, JHA, R@chid,

Un essai avec une formule matricielle en D18 à copier vers la droite:
Code:
=MOYENNE(SI(($D$3:$D$16=MIN($D$3:$D$16)) + ($D$3:$D$16=MAX($D$3:$D$16)) + ($E$3:$E$16=MIN($E$3:$E$16)) + ($E$3:$E$16=MAX($E$3:$E$16)) + ($F$3:$F$16=MIN($F$3:$F$16)) + ($F$3:$F$16=MAX($F$3:$F$16))>0;"";D3:D16))
Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • forum_min_max v1.xlsx
    15.7 KB · Affichages: 32

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : interraction entre colonnes avec val min et val max

Bonjour à tous,
R@chid à dit:
Notre ami a dit qu'il a 8 colonnes...
donc avec 16 tests c'est un petit peu chouïa trop.
Dans ce cas, un essai avec une petite fonction VBA:
MoySaufMaxMIN(rgTableau As Range, rgColonne As Range)
où rgTableau est la plage du tableau et où rgColonne est une cellule qui indique la colonne à moyenner.

ex: Plage D3:F16 et on désire la moyenne de la colonne E :
la formule à utiliser est: =MoySaufMaxMIN( $D$3:$F$16 ; E17)

Le code de la fonction:
VB:
Function MoySaufMaxMIN(rgTableau As Range, rgColonne As Range)
Dim T(), Lignes(), Maxi(), Mini(), i, j, k, N, S As Double

T = rgTableau.Value
ReDim Lignes(LBound(T) To UBound(T))
ReDim Maxi(LBound(T, 2) To UBound(T, 2))
ReDim Mini(LBound(T, 2) To UBound(T, 2))
'calcul des mini et maxi de chaque colonne
For i = LBound(T, 2) To UBound(T, 2)
  Mini(i) = T(LBound(T), i)
  Maxi(i) = T(LBound(T), i)
  For j = LBound(T) + 1 To UBound(T)
    If T(j, i) < Mini(i) Then Mini(i) = T(j, i)
    If T(j, i) > Maxi(i) Then Maxi(i) = T(j, i)
  Next j
Next i
'repérage des lignes à omettre
For i = LBound(T, 2) To UBound(T, 2)
  For j = LBound(T) To UBound(T)
    If T(j, i) = Mini(i) Or T(j, i) = Maxi(i) Then Lignes(j) = True
  Next j
Next i
'somme des valeurs et nombre de valeurs
k = rgColonne.Column - rgTableau.Column + 1
For j = LBound(T) To UBound(T)
  If Not Lignes(j) Then
    S = S + T(j, k)
    N = N + 1
  End If
Next j
'calcul moyenne
If N = 0 Then MoySaufMaxMIN = "" Else MoySaufMaxMIN = S / N
End Function

Edit: corrigé une borne de boucle suite à un copier/coller intempestif!
 

Pièces jointes

  • forum_min_max v2.1.xlsm
    26.7 KB · Affichages: 37
Dernière édition:

MNicolas

XLDnaute Nouveau
Re : interraction entre colonnes avec val min et val max

Bonjour à tous et merci d'avoir répondu. J'ai essayé le tableau de JHA et de MAPOMME, ca fonctionne à merveille!!! Désolé de vous avoir remerçié tardivement, mais j'ai eu beaucoup d'occupation. J'ai une dernière question. J'avais fait une formule (intra colonne) pour qu excel me calcul une moyenne en retirant la val MIN et la val MAX de la plage de données. Le problème, c'est que si il y a une série de 10 lignes avec uniquement des 104 et des 110, il me retire tous les 104 et 1110: Bilan: plus de données vu que c'est chaque fois soit un Min soit un max! immaginons qu'il y ait sur les 10 lignes avec 3 valeurs à 104, il va me retirer ces 3 valeurs... or je voudrait qu'il me retire une seule fois 104 et une seule fois 110... Le problème ne se posait pas pour le post précédent car il y avait 4 chiffres après la décimale, et qu'il était impossible de retrouver 2 fois la même valeur.... Merçi
 

Pièces jointes

  • 104_110.xlsx
    8.3 KB · Affichages: 38

R@chid

XLDnaute Barbatruc
Re : interraction entre colonnes avec val min et val max

Bonjour @ tous,
Dommage que tu n'as pas essayé ma formule en post #5..., tu aurais du^ l'adapter tout seul.
Voir l'adaptation juste au niveau de la plage intermédiaire, les formules de calcul restent telles quelles.
@ +
 

Pièces jointes

  • forum_min_max.xlsx
    13 KB · Affichages: 34
  • forum_min_max.xlsx
    13 KB · Affichages: 38
  • forum_min_max.xlsx
    13 KB · Affichages: 39

MNicolas

XLDnaute Nouveau
Re : interraction entre colonnes avec val min et val max

Bonjour. Merci d'avoir répondu. J'ai essayé de transposer votre formule, mais il y a un soucis. j'ai fait un fichier avec une vérification manuelle. Merci de regarder.
 

Pièces jointes

  • min_max_verif.xlsx
    9.4 KB · Affichages: 32

R@chid

XLDnaute Barbatruc
Re : interraction entre colonnes avec val min et val max

Bonsoir,
Ce n'est pas ma méthode mon ami il faut que reviennes vérifier ma réponse est sur ce ==> lien
Celle dont tu parles est la première réponse du fameux "mapomme" que je salue au passage.
@ +
 

MNicolas

XLDnaute Nouveau
Re : interraction entre colonnes avec val min et val max

Bonjour. j'ai répondu à votre proposition plus bas. Il y a un soucis: j'ai essayé une vérification manuelle... j'avais essayé avec une première série, c'était OK, mais pas avec la 2 ème, ni la 3 ème.... je vous ai mis un fichier MIN_MAX_verif.xlsx plus bas dans la discussion (et j'ai posé une autre question en prime ... ). C'est sympa d'avoir répondu, merci bcp pour votre aide !!!!!
 

R@chid

XLDnaute Barbatruc
Re : interraction entre colonnes avec val min et val max

Bonsoir,
On s'est croisé, je te laisse lire mes réponses pour bien voir...
Surement, notre ami "mapomme" va passer par là pour modifier son code, en attendant ma dernière réponse répond parfaitement à ta dernière de mande...
@ +
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : interraction entre colonnes avec val min et val max

Bonjour MNicolas, R@chid,

J'avoue avoir du mal à cerner la nouvelle demande. Que faire quand des minimums ou maximums dans différentes colonnes et lignes sont égaux ?
Voir exemple joint...
 

Pièces jointes

  • min_max_verif v2.2.xlsx
    11.9 KB · Affichages: 32
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 845
Messages
2 092 770
Membres
105 530
dernier inscrit
zazie