如何返回基于多个工作表列的列值?(How to return a column value base

2019-10-30 12:39发布

我需要从不同的工作表或工作簿两个条件状态。 我有一个ID栏,位置栏,和一个状态列(列A(ID),柱B(LOC),列C(状态))。

当ID和位置条件得到满足,它应该返回该行的状态列的值。 例如,如果这是一个SQL查询:

SELECT Status from Source where IDsource=IDDestination && LocSource=LocDestination

我怎样才能做到这一点?

我尝试一个if(and))式,但无济于事。

Answer 1:

如果您连接(或加入)的ID和位置列新列,你可以做一个简单的vlookup()

所以,如果你的“数据库”表如下:

ID   | Location | Status    
------------------------
  1  |  Home    |   OK
  2  |  Home    |  Broken
  3  |  Work    |   OK

然后简单在添加另一列的位置和状态之间这样用下面的公式: =A1&"-"&B1在C1。

ID   | Location | ID-Location | Status    
--------------------------------------
  1  |  Home    |   1-Home    |   OK
  2  |  Home    |   2-Home    |  Broken
  3  |  Work    |   3-Work    |   OK

如果再需要ID 1和位置的状态主页你根本: =Vlookup(A2&"-"&B2,Database!C2:D1000,2,FALSE)在另一片小区C2。

如果存在多个组合,只返回第一个匹配。



Answer 2:

像下面的阵列式会做:

{=OFFSET(C:C;MIN(IF((A:A="Some ID")*(B:B="Some Location");ROW(C:C);""))-1;0;1;1)}

它变得有点沉重,但如果你能限制的行数,它变快:

{=OFFSET(C:C;MIN(IF((A2:A1001="Some ID")*(B2:B1001="Some Location");ROW(C2:C1001);""))-1;0;1;1)}


文章来源: How to return a column value based on columns across multiple worksheets?