我正在尝试按州定义分支,例如明尼苏达州的分支1,2,3和爱荷华州的分支4,5,6。因此,我将它们定义为用于IF语句的相应状态。但是,当我将定义的组放入公式中时,除非C列为空,否则什么也不会返回。有没有办法让这些小组工作,还是我应该尝试考虑以其他方式获得每个分支的状态。
=IF(C4=Minnesota_BRs,"MINNESOTA","")
答案 0 :(得分:0)
您不能使用IF function
来检查值是否属于范围。
尝试以下公式:
VLOOKUP
将检查C4
是否是Minnesota_BRs
的一部分。在这种情况下,ISERROR
将得出FALSE
(而IF
公式将得出MINNESOTA
)。
=IF(ISERROR(VLOOKUP(C4,Minnesota_BRs,1;FALSE)),"","MINNESOTA")
关于问题下的评论,编辑:
如果您要检查多个范围,则可以-根据您的建议构建嵌套的IF公式。我想您很亲密,只是顺序不正确。使用以下内容:
=IF(ISERROR(VLOOKUP(C4,Minnesota,1,FALSE)),IF(ISERROR(VLOOKUP(C4,Iowa,1,FALSE)),"","Iowa"),"Minnesota")
但是,对于您的情况,我认为您可能想要检查许多州的分支机构,这确实很有效。您将得到一个糟糕的公式。
您可能宁愿设置一个包含所有分支和状态的表,并且使用公式在此多列表中查找值,为您提供列号,然后从表头中选择状态:< / strong>
={INDEX(E4:G4,,MIN(IF(E5:G7=C4,COLUMN(A1:C1))))}
(请注意,这是一个数组公式,将其键入并用CTRL+SHIFT+ENTER
保留单元格)
该公式不容易理解。这么多信息:
array函数中的E5:G7=C4
部分将检查表中的所有值并形成一个看起来像这样的数组:
如您所见,5
的结果为TRUE。然后,IF
函数将选择列号(此处为2
)。然后,INDEX
函数选择第二个州名称-爱荷华州。
我希望这对您有所帮助。