我需要从不同的工作表或工作簿两个条件状态。 我有一个ID栏,位置栏,和一个状态列(列A(ID),柱B(LOC),列C(状态))。
当ID和位置条件得到满足,它应该返回该行的状态列的值。 例如,如果这是一个SQL查询:
SELECT Status from Source where IDsource=IDDestination && LocSource=LocDestination
我怎样才能做到这一点?
我尝试一个if(and))
式,但无济于事。
我需要从不同的工作表或工作簿两个条件状态。 我有一个ID栏,位置栏,和一个状态列(列A(ID),柱B(LOC),列C(状态))。
当ID和位置条件得到满足,它应该返回该行的状态列的值。 例如,如果这是一个SQL查询:
SELECT Status from Source where IDsource=IDDestination && LocSource=LocDestination
我怎样才能做到这一点?
我尝试一个if(and))
式,但无济于事。
如果您连接(或加入)的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。
如果存在多个组合,只返回第一个匹配。
像下面的阵列式会做:
{=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)}