Excel vba - trouver le numéro de ligne où la colonne de données (plusieurs clauses)
J'ai besoin d'une fonction en VBA qui trouve le numéro de ligne sur la base de 2 les clauses where.
Voici le Excel exemple:
** A B C D**
1 id1 day1 val1 xxx
2 id2 day1 val2 xxx
3 id3 day1 val3 xxx
4 id1 day2 val1 xxx
5 id2 day2 val2 xxx
6 id3 day2 val3 xxx
J'ai besoin de trouver le numéro de ligne (dans ce cas, le numéro de ligne est 2) où B = "jour 1" et A = "id2".
Basé sur le numéro de ligne, j'ai besoin de plus d'obtenir les valeurs des autres colonnes, c'est à dire C2, D2
Espère que la question est claire.
Merci!
OriginalL'auteur asterix55 | 2013-08-15
Vous devez vous connecter pour publier un commentaire.
Avec vos données de configuration, vous pouvez utiliser la fonction de MATCH pour obtenir le numéro de ligne:
Si il y a aucune correspondance pour ces critères, la formule renvoie une erreur #N/A. Vous pouvez également modifier les critères pour être des références de cellule, par exemple:
Pour la deuxième partie de votre question, le retour des valeurs de trouver le numéro de ligne, vous pouvez utiliser l'INDEX de la fonction pour renvoyer une valeur à partir d'une colonne. Afin de prétendre le Match la formule dans la cellule H1, ces deux formules permet de retourner la valeur de la colonne C et D, respectivement:
Alternativement, vous pouvez mettre tout cela en une seule formule:
Et si vous ne voulez pas être à la recherche à des erreurs, vous pouvez utiliser un IFERROR sur excel 2007+
Vérification des erreurs pour Excel 2003 et ci-dessous:
[EDIT]: je suis notamment une solution VBA par requête de l'utilisateur. Il utilise un trouver en boucle, ce qui est très efficace et flexible, et montre comment extraire les valeurs des autres colonnes, une fois qu'une correspondance a été trouvée:
J'ai édité ma réponse à inclure une solution VBA
OriginalL'auteur tigeravatar
En VBA, vous pouvez faire une attaque par force brute vérifier comme suit:
OriginalL'auteur Ted