繁体   English   中英

Excel | 在不同工作表中搜索表并从该行中的列中获取值

[英]Excel | Searching table in different sheet and bringing value from column in that row

我试图在我的一张床单中查找一张桌子。 我的表由三列和无限量的行组成。

我的桌子在这里可以看到:

在此输入图像描述

在我的第二张表中,我希望编写一个公式,搜索表中的所有行,并在A列和B列中查找完全匹配,这意味着它必须找到列a的值为“jan”的行,并且第二列的同一行必须具有值“y”。 如果找到这个匹配,它应该返回C列的值。

我试过研究hlookup,但那是横向表,所以我不相信这会起作用。 我也查看了Vlookups,但这只允许一个标准搜索,而不是寻找两个匹配。

有人可以在这里说清楚吗?

您可以使用索引并匹配多个条件

=INDEX($A$1:$C$1000, MATCH("Jan"&"y", $A$1:$A$1000&$B$1:$B$1000, 0),3)

输入此公式时按CTRL + SHIFT + ENTER

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列”的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。 我错过了对第一个答案的澄清。 这将起作用,但不需要在INDEX函数中使用所有三列作为array 毕竟,您只是从C列返回数据。

将范围转换为表(ctrl-t),然后使用SUMIFS根据两个条件搜索表

=SUMIFS(Table1[Alteration],Table1[Month],"Jan",Table1[Products],"y")

这就是说“给我[改变] [月] =”Jan“和[Products] ='y'......这会返回364。

您可以将标准指向包含标准的单独单元格。

请注意,如果有多个行具有相同的数据(即多个行包含'Jan'和'y'),则将C列汇总在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM