Question compliquée

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.

4 réponses

  1. Bonjour,

    Regarde du côté du & qui ne correspond pas au ET logique.

    Cordialement
    1. 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+
      1. 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.
      2. Merci beaucoup pour la réponse. Je me suis débrouillé avec un autre logiciel finalement, mais j'essaierai et je vous dirai si ça marche :)
    2. Contributeur
      Bonjour
      la ou les valeurs dans F:F sont de quel type=texte ou nombre ?

      combien de lignes environ ?

      1. Bonjour michel_m,

        dans la colonne F les valeurs sont des dates. Et il y a environ 70000 lignes...
    3. Contributeur
      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

      1. _Merci beaucoup pour la réponse. Je me suis débrouillé avec un autre logiciel finalement, mais j'essaierai et je vous dirai si ça marche :)