在A列中查找内容,然后在Excel 2010中显示该行的B值

时间:2012-11-02 07:49:50

标签: excel excel-2010

基本上我的问题是我在excel的一个单元格中有一个字符串,然后需要查看该字符串是否存在于另一行(不是一个单元格而是整行),如果是,则打印另一个单元格的内容同一行,但在另一列。

我将举一个基本的例子:

Title      Answer
Police       15
Ambulance    20
Fire         89

现在我需要扫描标题列,例如“Police”,然后用Answer下的值填充单元格(在本例中为15)。

我不能只说IF(A2="Police";B2;"",因为我需要扫描整个标题栏。

我已经尝试使用IF(COUNTIF(A$2:A$100;"Police");扫描A2的内容到A100的字符串警察,并且知道如何使它打印一个常量(只是把东西放在;之后)但是无法弄清楚如何制作它“常量”变量,根据找到的行而变化。因此,如果COUNTIF在单元格A44中找到警察,则我的公式的答案为B44,就像它在A62中找到警察一样,那么我的公式应该显示{ {1}}

我希望这是有道理的,有人可以帮助我:)。

请注意,我使用的是excel 2010,需要一个正常的公式,因为我不能在此文档中使用脚本。

编辑:

这是我到目前为止的情况,请注意我使用的电子表格远比我在问题中的“简单”示例复杂......

B62

这会在=IF(ISNUMBER(FIND("RuhrP";F9));LOOKUP(A9;Ruhrpumpen!A$5:A$100;Ruhrpumpen!I$5:I$100);"") 中找到"RuhrP"的每个答案中显示"RuhrP",而不是我想要的答案,而这应该是F9中单元格索引所在的答案与找到RuhrPumpen!I$5:I$100的{​​{1}} coloum相同。再一次,对于复杂性我很难想到更好的方式来表达它。

4 个答案:

答案 0 :(得分:12)

我注意到你提出了这个公式

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

.....但是LOOKUP在这里不合适,因为我假设你想要一个完全匹配(LOOKUP不能保证,并且查找范围中的数据也必须被排序),所以{{1 }或VLOOKUP会更好....你也可以使用IFERROR来避免IF函数,即

INDEX/MATCH

注意:VLOOKUP始终在“表数组”的第一列中查找查找值(A9),并从“表数组”的第n列返回一个值,其中n由col_index_num定义,在本例中为9

INDEX / MATCH有时更灵活,因为您可以显式定义查阅列和返回列(并且返回列可以位于查找列的左侧,这在VLOOKUP中不是这种情况),这样看起来就像像这样:

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

INDEX / MATCH还允许您更轻松地从不同的列返回多个值,例如通过在A9前使用$符号和查找范围Ruhrpumpen!A $ 5:A $ 100,即

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

可以拖动此版本以从列I,列J,列K等获取连续值.....

答案 1 :(得分:1)

假设

源数据范围为A1:B100 查询单元格为D1(此处您将输入警察或火灾) 结果单元格为E1

E1中的公式= VLOOKUP(D1, A1:B100, 2, FALSE)

答案 2 :(得分:1)

我想出了这样的数据设计:

主要表格: A栏:泵代码(数字)

B列:显示工作表'Ruhrpumpen'

中相应行的公式
=ROW(Pump_codes)+MATCH(A2;Ruhrpumpen!$I$5:$I$100;0)

公式有“;”而不是“,”,它也应该是德语符号。如果没有,请更换。

C栏:显示来自col B中公式所找到的行的'Ruhrpumpen'列A中数据的公式

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

D栏:公式显示'ruhrpumpen'列B中的数据,该列来自col B中公式找到的行:

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

表'Ruhrpumpen':

A栏:关于某个泵的一些数据

B栏:更多数据

第I栏:泵代码。列表的开头包括主表的B列中公式使用的已定义名称“Pump_codes”。

电子表格示例:http://www.bumpclub.ee/~jyri_r/Excel/Data_from_other_sheet_by_code_row.xls

答案 3 :(得分:0)

Guys非常有趣的是,我们很多人在使用带有Match或Hlookup的Vlookup / Index时遇到了查找值复制的问题....如果我们都知道单元格中有重复值,Vlookup会选择反对第一个项目将匹配loopkup数组....所以这里是你们所有人的解决方案......

e.g。

在A栏中,我们有一个名为company ....的字段。

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 

现在,如果你查找上面的数据集,你会发现在第10行的公司名称中有两面性。 11.因此,如果您放置vlookup,数据将首先出现。但是如果您使用以下公式,您可以使您的查找值唯一并且可以轻松地选择任何数据而不会有任何争议或遇到任何问题< / p>

将公式放入C2 ......... A2&"_"&COUNTIF(A2:$A$2,A2) ..........第一行项目和第10行的结果为Monster_1 ; 11 ..... Monster_2, Bank of America_2分别....现在你可以获得独特的价值,现在你可以轻松选择任何数据了..

干杯!!! Anil Dhawan