J'ai besoin d'une formule qui recherchera une valeur dans une plage à 2 dimensions et renvoyera les coordonnées ou l'adresse de la cellule de la cellule correspondante. Par exemple: Je souhaite rechercher la plage Merci! P> P> A1: c3 code> pour
tchad code> et retourner
c2 code> ou
2,3 code>. Comment puis-je accomplir cela en utilisant des formules Excel? (Je vais réellement finir par l'appliquer à Google Feuilles). P>
3 Réponses :
En supposant que vous utilisez Excel 2007 et supérieur.
Vous aurez besoin d'une colonne d'assistance. Si votre table ressemble à votre exemple dans votre exemple, dans la cellule et faites-la glisser vers le bas. Ensuite, dans la cellule d1 code> écrire: p>
E1 code> Écrivez votre valeur de recherche (
"Tchad" code> par exemple). Ensuite, vous avez votre résultat de recherche dans la cellule
E2 code> avec cette formule: p>
Après avoir mis en œuvre cette réponse à ma solution, j'ai dû réparer la correspondance à utiliser le type de correspondance 0, c'est-à-dire = si ($ D: $ d) = 0, na (), match ($ D: $ d), $ D: $ d, 0) & "," & max ($ D: $ d)) ci-dessus, sauf pour cela très bien, merci taosique
Si vous voulez une solution plus simple, il est possible d'utiliser un seul assistant (ou pas du tout, au coût d'une formule compliquée). P>
Disons que je prends ton exemple. Je vais utiliser la colonne Si vous voulez vraiment utiliser une seule formule, il est possible dans d code> pour afficher le résultat: p>
d1 code>, je mets le nom que je veux trouver:
Tchad code> li>
d2 code>, j'ai mis l'aide qui retournera un index de la valeur recherchée (
-1 code> si non trouvé):
= ifError (match (D1 , Split (Textjoin (";", True, A1: C3), ";"), 0), - 1) Code> Li>
d3 code>, je mets les formules pour obtenir la valeur
ligne, colonne code> (
false code> si non trouvé):
= si (D2 <> - 1, Roundup (division (D2, colonnes (A1: C3))) & "," & if (MOD (D2, colonnes (A1: C3)) = 0, Colonnes (A1: C3), MOD (D2, colonnes (A1: C3)))) CODE> LI>
ul>
d3 code> pour remplacer toutes les références à
d2 code> par les formules utilisées dans
d2 code >. p>
Une ancienne question, mais je pensais que je partagerais une réponse beaucoup plus simple et élégante ici qui n'implique pas de colonnes d'assistance ni de formules compliquées, de sorte que plus de gens vont faire plus facilement les choses. En supposant que la table contient des valeurs uniques et que vous utilisez Si vous voulez le résultat de la ligne et de la colonne de Si vous voulez la chaîne d'adresses de cellule de style R1C1 de Si vous voulez le contenu de la cellule trouvée de Source and Credit va à: Cette réponse par XOR LX. Aurait pu ajouter le lien dans un commentaire, mentionnant la question en double, mais je voulais développer et expliquer la réponse un peu, donc plus de caractères étaient nécessaires. P> P> E1 code> pour stocker votre chaîne de recherche
tchad code> et
E2 code> pour afficher le résultat:
2,3 code> dans
E2 code>: p>
=INDIRECT(ADDRESS(SUMPRODUCT((A1:C3=E1)*ROW(A1:C3)),SUMPRODUCT((A1:C3=E1)*COLUMN(A1:C3))))
C2 code> dans
E2 code>: p>
=ADDRESS(SUMPRODUCT((A1:C3=E1)*ROW(A1:C3)),SUMPRODUCT((A1:C3=E1)*COLUMN(A1:C3)))
Tchad code> dans
E2 code>: p>
=SUMPRODUCT((A1:C3=E1)*ROW(A1:C3)) & "," & SUMPRODUCT((A1:C3=E1)*COLUMN(A1:C3))
Sumproduct code> renvoie dans ce cas la somme des produits entre une matrice booléenne de
true code> (valeur recherchée trouvée dans la cellule) et
false code> ( Valeur recherchée non trouvée dans la cellule) pour chaque cellule de la table et les numéros de ligne / colonne correspondants (absolus) de ces cellules dans la feuille; Ainsi, le résultat est essentiellement la rangée / colonne (absolu) de la cellule où la valeur a été trouvée, car
true = 1 code> et
false = 0 code> en termes mathématiques
adresse code> renvoie l'adresse d'une cellule sous forme de texte (pas comme référence!) li>
indirecte code> renvoie la référence correspondant à une adresse de texte d'une cellule li>
ul>
Merci! Utilisation de ceci pour rechercher lorsque la valeur d'une cellule à proximité (E2) se produit dans une matrice bidimensionnelle (D2: H) dans une feuille séparée (feuille2), puis extrait la valeur de la cellule dans la colonne de la rangée d'une rangée. où la valeur est trouvée: = index (feuille2! $ A: $ a, sumproducteur ((feuille2! $ d $ 2: $ h = € 2: $ h))) Code>
Pourquoi as-tu essayé? Avez-vous quelque chose en tête? Ce serait génial si vous nous en parlez à ce sujet.
peut-être écrire une fonction personnalisée dans .gs pourrait aider.