web-dev-qa-db-fra.com

Trouvez quelque chose dans la colonne A, puis affichez la valeur de B pour cette ligne dans Excel 2010

Fondamentalement, mon problème est que j'ai une chaîne dans une cellule d'Excel. Je dois ensuite voir si cette chaîne existe dans une autre ligne (pas une cellule, mais toute la ligne) et, le cas échéant, imprimer le contenu d'une autre cellule de la même ligne. mais dans une autre colonne. 

Je vais donner un exemple de base:

Title      Answer
Police       15
Ambulance    20
Fire         89

Maintenant, je dois scanner la colonne de titre pour, par exemple, "Police", puis renseigner la cellule avec la valeur sous Réponse (dans ce cas, 15).

Je ne peux pas simplement dire IF(A2="Police";B2;"" car j'ai besoin d'analyser l'intégralité de la colonne Titre.

J'ai essayé d'utiliser IF(COUNTIF(A$2:A$100;"Police"); qui scanne le contenu de A2 à A100 pour la chaîne Police, et je sais comment le faire imprimer de manière constante (il suffit de mettre quelque chose après le;), mais je ne vois pas comment faire de cette "constante" une variable qui change en fonction de la ligne trouvée. Donc, si la COUNTIF a trouvé Police dans la cellule A44, alors la réponse à ma formule serait B44, comme si elle avait trouvé Police dans A62, alors ma formule devrait afficher B62

J'espère que cela a du sens et que quelqu'un peut m'aider :)

Notez que j'utilise Excel 2010 et que j'ai besoin d'une formule normale, car je ne peux pas utiliser de script pour ce document.

MODIFIER:

Voici ce que j’ai jusqu’à présent. Notez que le tableur que j’utilise est bien plus complexe que le "simple" exemple que j’ai dans la question ...

=IF(ISNUMBER(FIND("RuhrP";F9));LOOKUP(A9;Ruhrpumpen!A$5:A$100;Ruhrpumpen!I$5:I$100);"")

Ceci affiche "RuhrP" dans chaque réponse où "RuhrP" est trouvé dans F9 et non pas la réponse que je veux, qui devrait être celle trouvée dans RuhrPumpen!I$5:I$100 où l'index de cellule est identique à celui de la colonne AA9 a été trouvé. Encore une fois, désolé pour la complexité, je ne peux pas penser à un meilleur moyen de le Word.

Je remarque que vous avez suggéré cette formule

=IF(ISNUMBER(FIND("RuhrP";F9));LOOKUP(A9;Ruhrpumpen!A$5:A$100;Ruhrpumpen!I$5:I$100);"")

..... mais LOOKUP ne convient pas ici parce que je suppose que vous voulez une correspondance exacte (LOOKUP ne le garantit pas et les données de la plage de recherche doivent être triées), donc VLOOKUP ou INDEX/MATCH serait mieux .... et vous pouvez aussi utiliser IFERROR pour éviter la fonction IF, c'est-à-dire

=IFERROR(VLOOKUP(A9;Ruhrpumpen!A$5:Z$100;9;0);"")

Remarque: VLOOKUP recherche toujours la valeur de recherche (A9) dans la première colonne du "tableau de tableau" et renvoie une valeur de la nième colonne du "tableau de tableau" où n est défini par col_index_num, dans ce cas. 9

INDEX/MATCH est parfois plus flexible car vous pouvez définir explicitement la colonne de recherche et la colonne de retour (et la colonne de retour peut se trouver à gauche de la colonne de recherche, ce qui ne peut pas être le cas dans VLOOKUP). Cela ressemblerait à ceci:

=IFERROR(INDEX(Ruhrpumpen!I$5:I$100;MATCH(A9;Ruhrpumpen!A$5:A$100;0));"")

INDEX/MATCH vous permet également de renvoyer plus facilement plusieurs valeurs de différentes colonnes, par exemple. en utilisant les signes $ devant A9 et la plage de recherche Ruhrpumpen! 5 $: 100 $, c.-à-d.

=IFERROR(INDEX(Ruhrpumpen!I$5:I$100;MATCH($A9;Ruhrpumpen!$A$5:$A$100;0));"")

cette version peut être glissée pour obtenir des valeurs successives des colonnes I, J, K, etc .....

12
barry houdini

J'ai compris cette conception de données:

Feuille principale: Colonne A: Codes de pompe (chiffres)

Colonne B: formule indiquant une ligne correspondante dans la feuille 'Ruhrpumpen'

=ROW(Pump_codes)+MATCH(A2;Ruhrpumpen!$I$5:$I$100;0)

Les formules ont ";" au lieu de ",", il devrait également s'agir d'une notation allemande. Sinon, remplacez-le.

Colonne C: formule indiquant les données dans la colonne 'Ruhrpumpen' à partir d'une ligne trouvée par la formule dans la colonne B

=INDIRECT("Ruhrpumpen!A"&$B2)

Colonne D: formule indiquant les données dans la colonne B de 'Ruhrpumpen' à partir d'une ligne trouvée par la formule dans la colonne B:

=INDIRECT("Ruhrpumpen!B"&$B2)

Feuille 'Ruhrpumpen':

Colonne A: quelques données sur une certaine pompe

Colonne B: quelques données supplémentaires

Colonne I: codes de pompe. Le début de la liste comprend le nom défini 'Codes_pompe' utilisé par la formule dans la colonne B de la feuille principale.

Exemple de feuille de calcul: http://www.bumpclub.ee/~jyri_r/Excel/Data_from_other_sheet_by_code_row.xls

1
Jüri Ruut

En supposant 

la plage de données source est A1: B100.
La cellule de requête est D1 (ici vous allez entrer Police ou Feu).
La cellule de résultat .__ est E1

Formule dans E1 = VLOOKUP(D1, A1:B100, 2, FALSE)

1
shahkalpesh

Il est très intéressant de savoir que beaucoup d’entre nous sont confrontés au problème de la réplication de la valeur de recherche lorsqu’on utilise Vlookup/Index avec Match ou Hlookup .... Si nous avons une valeur en double dans une cellule que nous connaissons tous, Vlookup le premier élément correspondrait dans le tableau loopkup .... Alors voici une solution pour vous tous ...

par exemple.

dans la colonne A, nous avons un champ appelé société ....

Column A                             Column B            Column C

Company_Name                         Value        
Monster                              25000                              
Naukri                               30000  
WNS                                  80000  
American Express                     40000  
Bank of America                      50000  
Alcatel Lucent                       35000  
Google                               75000  
Microsoft                            60000  
Monster                              35000  
Bank of America                      15000 

Maintenant, si vous recherchez le jeu de données ci-dessus, vous verrez que la duplicité se trouve dans Nom de la société aux lignes n ° 10 et 11. Ainsi, si vous mettez le vlookup, les données seront collectées en premier .. Mais si vous utilisez la formule ci-dessous , vous pouvez rendre votre valeur de recherche unique et saisir facilement toutes les données, sans contestation ni problème

Mettez la formule dans C2 .........A2&"_"&COUNTIF(A2:$A$2,A2).......... Le résultat sera Monster_1 pour le premier élément de ligne et pour les rangées 10 et 11 .....Monster_2, Bank of America_2 respectivement .... Ici vous allez maintenant vous avez la valeur unique, donc maintenant vous pouvez choisir n'importe quelle donnée facilement maintenant ..

A bientôt !!! Anil Dhawan 

0
user3228487