基本上我的问题是我在excel的一个单元格中有一个字符串,然后我需要查看该字符串是否存在于另一行(不是一个单元格而是整行),如果是,则打印同一行中另一个单元格的内容但在另一栏中.
我将举一个基本的例子:
Title Answer
Police 15
Ambulance 20
Fire 89
Run Code Online (Sandbox Code Playgroud)
现在我需要扫描标题列,例如"Police",然后使用Answer(在这种情况下为15)下的值填充单元格.
我不能说,IF(A2="Police";B2;""因为我需要扫描整个Title列.
我已经尝试使用IF(COUNTIF(A$2:A$100;"Police");扫描字符串警察的A2到A100的内容,并且知道如何使它打印一个常量(只是把东西放在;之后)但是无法弄清楚如何使"常量"变为一个变化的变量在找到的行上.因此,如果COUNTIF在单元格中找到警察,A44那么我的公式的答案就会如此B44,就像它在A62我的公式中应该显示警察一样B62
我希望这是有道理的,有人可以帮助我:)
请注意,我使用excel 2010并需要一个正常的公式,因为我不能使用脚本编写本文档.
编辑:
以下是我到目前为止的情况,请注意我使用的电子表格远比我在问题中的"简单"示例复杂得多......
=IF(ISNUMBER(FIND("RuhrP";F9));LOOKUP(A9;Ruhrpumpen!A$5:A$100;Ruhrpumpen!I$5:I$100);"")
Run Code Online (Sandbox Code Playgroud)
这显示"RuhrP"在"RuhrP"找到的每个答案中,F9而不是我想要的答案,应该是RuhrPumpen!I$5:I$100在单元A格索引与A9找到的coloum的索引相同的位置.再一次,对于复杂性我很难想到任何更好的方式来表达它.
bar*_*ini 12
我注意到你建议这个公式
=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等获取连续值.....
| 归档时间: |
|
| 查看次数: |
167341 次 |
| 最近记录: |