6

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

我将举一个基本的例子:

Title      Answer
Police       15
Ambulance    20
Fire         89

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

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

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

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

请注意,我使用的是 excel 2010 并且需要一个普通公式,因为我不能为此文档使用脚本。

编辑:

这是我到目前为止所拥有的,请注意我使用的电子表格比我在问题中的“简单”示例要复杂得多......

=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单元格索引与找到的Acoloum 相同的位置A9找到的答案。再次抱歉,我想不出更好的措辞来表达它的复杂性。

4

4 回答 4

14

我注意到你建议了这个公式

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

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

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

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

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

=IFERROR(INDEX(Ruhrpumpen!I$5:I$100;MATCH(A9;Ruhrpumpen!A$5:A$100;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 列等获取连续值......

于 2012-11-02T13:50:06.723 回答
1

假设

源数据范围为 A1:B100。
查询单元格是 D1(在这里您将输入警察或消防)。
结果单元格为 E1

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

于 2012-11-02T08:22:57.767 回答
1

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

主表:A 列:泵代码(数字)

B 列:公式显示工作表“Ruhrpumpen”中的相应行

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

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

C 列:公式显示“Ruhrpumpen”A 列中的数据,该数据来自 B 列中的公式找到的行

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

D 列:公式显示“Ruhrpumpen”B 列中的数据,该数据来自由 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

于 2012-11-02T10:28:04.577 回答
0

伙计们很有趣的是,我们中的许多人在使用带有 Match 或 Hlookup 的 Vlookup/Index 时都面临查找值复制的问题......第一项将在 loopkup 数组中匹配....所以这里是你们所有人的解决方案...

例如

在 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,数据将首先出现..但是如果您使用以下公式,您可以使您的查找值唯一,并且可以轻松选择任何数据而不会有任何争议或面临任何问题

将公式放在 C2 中A2&"_"&COUNTIF(A2:$A$2,A2)........................结果将分别Monster_1用于第一个行项目和第 10 行和第 11 行............Monster_2, Bank of America_2给你现在去吧,您拥有独特的价值,所以现在您可以轻松选择任何数据..

干杯!!!阿尼尔·达万

于 2014-01-23T15:55:56.910 回答