2017-10-16 11 views
1

Comme le titre l'indique, j'essaie de trouver l'emplacement d'une chaîne unique n'importe où dans un classeur Excel. Il est garanti d'être unique mais peut apparaître dans n'importe quelle ligne ou colonne de ma table.Trouver l'emplacement d'une chaîne unique dans un classeur Excel?

Pour l'exemple:

Sample_Table

Je veux la cellule B7 pour revenir B3 (l'emplacement de 5). Si je connaissais la colonne ou la ligne dans laquelle il apparaîtrait alors c'est un simple problème de recherche, de correspondance ou d'index. J'ai du mal à trouver des exemples où une valeur peut être située n'importe où dans une feuille.

+0

Avez-vous essayé d'utiliser [Rechercher et sélectionner] (http://www.excel-easy.com/basics/find-select.html)? – danieltakeshi

+0

J'en ai besoin par programme pour pouvoir utiliser la cellule pour d'autres calculs. Je comprends comment utiliser ctrl + F – Ryan

Répondre

1

Cela devrait fonctionner:

=ADDRESS(SUMPRODUCT((A1:C4=B6)*ROW(A1:C4)),SUMPRODUCT((A1:C4=B6)*COLUMN(A1:C4))) 

enter image description here


Pour retourner la référence relative B3, ajoutez ,4 à la fin de la ADDRESS formule

=ADDRESS(SUMPRODUCT((A1:C4=B6)*ROW(A1:C4)),SUMPRODUCT((A1:C4=B6)*COLUMN(A1:C4)),4) 

Explication

SUMPRODUCT est une formule de matrice. Il accepte plusieurs tableaux, les multiplie ensemble et résume ensuite le tableau résultant. Dans ce cas, il n'y a qu'un seul tableau, donc il suffit de faire la somme des valeurs dans ce tableau sans rien faire d'autre.

Décomposons ce tableau: (A1:C4=B6)*ROW(A1:C4)

(A1:C4=B6) ressemble à ceci:

FALSE FALSE FALSE 
FALSE FALSE FALSE 
FALSE TRUE FALSE 
FALSE FALSE FALSE 

et ROW(A1:C4) ressemble à ceci:

1 1 1 
2 2 2 
3 3 3 
4 4 4 

Lorsque vous multipliez les deux tableaux ensemble, vous obtenez ceci:

FALSE*1 FALSE*1 FALSE*1 
FALSE*2 FALSE*2 FALSE*2 
FALSE*3 TRUE*3 FALSE*3 
FALSE*4 FALSE*4 FALSE*4 

Excel traitera FALSE comme 0 et TRUE comme 1 de sorte que le réseau évalue à:

0 0 0 
0 0 0 
0 3 0 
0 0 0 

enveloppant cette matrice dans une formule SUMPRODUCT va additionner les valeurs de la matrice et de retour 3, qui est la rangée dans lequel 5 peut être trouvé.

+0

cela fonctionne parfaitement. Pouvez-vous expliquer ce qui se passe ici? À un niveau bas, je comprends que vous vous retrouvez avec l'adresse (3,2) qui renvoie $ B 3 $. Je ne comprends pas les fonctions SUMPRODUCT. – Ryan