Question compliquée
Light
-
Light -
Light -
Bonjour !
Voilà, ça fait deux heures que je me débat sur Excel et je viens demander votre aide.
Je vous explique mon problème : j'ai un tableau de douze colonnes avec beaucoup de données. Ce que je veux faire, c'est récupérer la première valeur de la colonne F pour laquelle L est différent de 0 sur la même ligne, lorsque la colonne A a pour valeur "X" et la colonne C a pour valeur "Y"
Voilà donc la formule que j'ai voulu utiliser :
=INDEX('F:F;MIN(SI(A:A="X" & C:C="Y" & L:L<>0;LIGNE(L:L);9^9)))
Et là, Excel me renvoie une valeur complètement aberrante qui ne correspond pas du tout à ce que je recherche (genre, la valeur devrait être comprise environ entre 1 et 20 et là j'obtiens 28491).
Je précise que j'ai des cellules vides dans ma colonne L, que je ne peux pas remplacer par des 0.
Quelqu'un aurait une idée d'où l'erreur peut venir ? Est-ce que c'est à cause des cellules vides ?
Merci beaucoup.
Voilà, ça fait deux heures que je me débat sur Excel et je viens demander votre aide.
Je vous explique mon problème : j'ai un tableau de douze colonnes avec beaucoup de données. Ce que je veux faire, c'est récupérer la première valeur de la colonne F pour laquelle L est différent de 0 sur la même ligne, lorsque la colonne A a pour valeur "X" et la colonne C a pour valeur "Y"
Voilà donc la formule que j'ai voulu utiliser :
=INDEX('F:F;MIN(SI(A:A="X" & C:C="Y" & L:L<>0;LIGNE(L:L);9^9)))
Et là, Excel me renvoie une valeur complètement aberrante qui ne correspond pas du tout à ce que je recherche (genre, la valeur devrait être comprise environ entre 1 et 20 et là j'obtiens 28491).
Je précise que j'ai des cellules vides dans ma colonne L, que je ne peux pas remplacer par des 0.
Quelqu'un aurait une idée d'où l'erreur peut venir ? Est-ce que c'est à cause des cellules vides ?
Merci beaucoup.
4 réponses
Bonjour,
Tu peux essayer avec
=INDEX(F:F;EQUIV(1;(A:A="X")*(C:C="Y")*(L:L<>0);0))
formule matricielle à valider en appuyant sur CTRL+MAJ+ENTREE.
A+
Tu peux essayer avec
=INDEX(F:F;EQUIV(1;(A:A="X")*(C:C="Y")*(L:L<>0);0))
formule matricielle à valider en appuyant sur CTRL+MAJ+ENTREE.
A+
Merci beaucoup pour vos réponses, j'étais persuadé que "&" était un opérateur logique ^^"
Malheureusement ça ne marche toujours pas avec la formule que tu as proposée :( il me renvoie un #N/A.
Je crois que je vais faire différemment, Excel ne me paraît vraiment pas pratique pour ce genre de manips. Merci beaucoup pour votre aide en tout cas.
Malheureusement ça ne marche toujours pas avec la formule que tu as proposée :( il me renvoie un #N/A.
Je crois que je vais faire différemment, Excel ne me paraît vraiment pas pratique pour ce genre de manips. Merci beaucoup pour votre aide en tout cas.
macro rapide pour 70000 lignes
Option Explicit
Option Base 1
'-------------------
Sub trouver_E_si_ACL()
Dim Derlig As Long
Dim T_colAC, T_colL, Lig As Long, Reponse As Date
Application.ScreenUpdating = False
With ActiveSheet
Derlig = .Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
T_colAC = .Range("A1:C" & Derlig)
T_colL = Application.Transpose(Range("L1:L" & Derlig))
For Lig = 1 To UBound(T_colL)
If T_colL(Lig) <> 0 Then
If T_colAC(Lig, 1) = "X" Then
If T_colAC(Lig, 3) = "Y" Then
Reponse = .Cells(Lig, "F")
Exit For
End If
End If
End If
Next
End With
MsgBox "date répondant aux conditions: " & Reponse & " ligne " & Lig
End Sub