J'ai A
colonne qui a des valeurs dans un ordre aléatoire comme
A column
2
3
4
2
5
6
4
3
4
Je veux l'index de ligne d'un nombre particulier qui s'est produit en premier. dire si je dis que le nombre est 4, la valeur renvoyée doit être 3
Je veux aussi l'index de ligne d'un nombre particulier qui s'est produit en dernier. Si je dis que le nombre est 3 alors la valeur retournée doit être 8
Je pensais que la fonction Vlookup
ou find
devait faire la tâche mais je ne pouvais pas les mettre en ordre.
Mes exemples recherchent le nombre 3
mais c'est facile à adapter.
Pour trouver la première occurrence, vous pouvez utiliser:
=MATCH(3,A:A,0)
Pour trouver le dernier, vous pouvez utiliser une formule matricielle (valider avec Ctrl+Shift+Enter)
{=MAX(IF(A1:A10=3,ROW(A1:A10),0))}
Notez que vous auriez également pu utiliser une formule matricielle pour la première avec un MIN
mais ce serait assez compliqué pour ce que ça vaut.
Salut ami, vous pouvez utiliser des macros pour ce faire
Utilisez le code suivant
Sub FindNumbers()
Sheet1.Range("B:D") = ""
Application.ScreenUpdating = False
tot = Sheet1.Range("A1048575").End(xlUp).Row
i = 1
k = 1
m = 1
n = 1
o = 1
p = 1
For i = 1 To tot
c = Application.WorksheetFunction.CountIf(Sheet1.Range("B:B"), Sheet1.Range("A" & i).Value)
If c <= 0 Then
Sheet1.Range("B" & k).Value = Sheet1.Range("A" & i).Value
k = k + 1
End If
Next
tots = Sheet1.Range("B1048575").End(xlUp).Row
For m = 1 To tots
For n = 1 To tot
If Sheet1.Range("B" & m).Value = Sheet1.Range("A" & n).Value Then
Sheet1.Range("D" & m).Value = n
End If
Next
Next
For o = 1 To tots
For p = 1 To tot
If Sheet1.Range("B" & o).Value = Sheet1.Range("A" & p).Value Then
Sheet1.Range("C" & o).Value = p
p = tot
End If
Next
Next
Application.ScreenUpdating = True
End Sub
Comment utiliser le code? (Dans le cas où vous êtes nouveau dans la macro)
Ouvrez un nouveau fichier Excel
Appuyez sur Alt + F11
Insérez un nouveau module
Collez le code dans le module
Revenez à la feuille Excel et ajoutez un bouton
Attribuez la macro "FindNumbers" au bouton
Enregistrez Excel au format .xlsm si vous utilisez Excel 2007 ou 2010
Aidez-moi
Colonne A: entrez vos données dans la colonne A et cliquez sur le bouton ou exécutez la macro
Appuyez sur le bouton ou exécutez la macro
Votre résultat sera comme ça
Colonne B: nombres uniques dans les données saisies dans la colonne A
Colonne C: première occurrence de données
Colonne D: dernière occurrence de données