我正试图在我的一张床单中查找一张桌子。我的表由三列和无限量的行组成。
我的桌子可以在这里看到:
在我的第二张表中,我希望编写一个公式,搜索表中的所有行,并在A列和B列中查找完全匹配,这意味着它必须找到列a的值为“jan”的行并且在同一行中,第二列必须具有值“y”。如果找到这个匹配,它应该返回C列的值。
我尝试研究hlookup,但这是针对水平表,所以我不相信这会起作用。我也查看了Vlookups,但只允许一个标准搜索,而不是寻找两个匹配。
请问有人在这里说清楚吗?
答案 0 :(得分:0)
您可以使用索引并与多个条件匹配
=INDEX($A$1:$C$1000, MATCH("Jan"&"y", $A$1:$A$1000&$B$1:$B$1000, 0),3)
输入此公式时按 CTRL + SHIFT + ENTER 。
答案 1 :(得分:0)
INDEX
函数的语法为
INDEX(array, row_num_in_array, [column_num_in_array])
MATCH
返回逻辑匹配的索引位置
MATCH(lookup_value, lookup_array, [match_type])
将两者结合起来是一种灵活的技术,而且功能非常强大 - 匹配lookup_value中的逻辑可能是一个复杂的条件。
在整个栏目上进行操作
INDEX(C:C, MATCH("Jan"&"y", A:A&B:B, 0), 1)
nb./ A:A
是"所有A列和第34列的excel代码。您可以改为使用:
在工作表的子集上操作。
INDEX($C$2:$C$1000, MATCH("Jan"&"y", $A$2:$A$1000&$B$2:$B$1000, 0), 1)
请注意,您必须使用相同的行长度数组(例如,行2:1000),否则公式将不起作用。 MATCH
只知道它的lookup_array中有多少行,你需要确保它的行与INDEX
数组中的行匹配
PS。道歉这与前一个答案很接近,但细节评论的时间太长了。
PPS。我错过了对第一个答案的澄清。这样可行,但不需要将所有三列用作array
函数中的INDEX
。毕竟,您只是从C列返回数据。
答案 2 :(得分:0)
将范围转换为表格(ctrl-t),然后使用SUMIFS根据两个标准搜索表格
=SUMIFS(Table1[Alteration],Table1[Month],"Jan",Table1[Products],"y")
这就是说“给我[Alteration] [Month] =”Jan“和[Products] ='y'......这会返回364。
您可以将标准指向包含标准的单独单元格。
请注意,如果有多个行具有相同的数据(即同时包含'Jan'和'y'的多行),则C列将汇总在一起。