我需要从单独的工作表或工作簿中获得两个条件的状态。我有一个ID列,一个Location列和一个Status列(A列(ID),B列(Loc),C列(状态))。
满足ID和位置条件后,它应返回该行的“状态”列的值。例如。如果这是一个SQL查询:
SELECT Status from Source where IDsource=IDDestination && LocSource=LocDestination
我该怎么做?
我尝试了if(and))
公式,但无济于事。
答案 0 :(得分:1)
如果将ID和位置列连接(或连接)到新列中,则可以执行简单的vlookup()
。
因此,如果您的“数据库”表如下所示:
ID | Location | Status
------------------------
1 | Home | OK
2 | Home | Broken
3 | Work | OK
然后使用以下公式,在“位置”和“状态”之间轻松添加另一列:C1中的=A1&"-"&B1
。
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中。
如果存在多个组合,则仅返回第一个匹配项。
答案 1 :(得分:0)
像下面这样的数组公式可以做到:
{=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)}