Excel嵌套IF与INDEX和MATCH

问题描述

我有两个表Store Detail和Master

商店详细信息

   A        B          C
Division  Region   Store No.
            1B       2134
            88       9876
            88       5566
...

大师

   A        B         C
Division  Region   Store No.
10R46     88       5566
10R46     1B       2134
100R91    88       9876

这个想法是通过索引并与主服务器的部门和存储号进行索引和匹配,从主服务器获取“商店明细”表的部门编号...我也想添加一个IF ...所以如果区域“商店详细信息表”中的“等于88”,然后将“ 88”放入“划分”单元格。

我曾尝试结合使用Index(If ...),Match(),但是我不断收到无数的错误,我该怎么做呢?

解决方法

如果商店编号不足以标识一个部门,则创建一个附加列,将区域和商店编号合并为一个字符串。在D2中,您将放置(并复制下来):

=B2 & "|" & C2

在两个工作表中添加此列D。您可以根据需要隐藏那些多余的列。

然后,填写“分区”列的问题将转换为简单的查找。在A2中,您将放置(并复制下来):

=INDEX(Master!A:A,MATCH(D2,Master!D:D,0))

要将异常添加为IF,只需执行以下操作:

=IF(B2="88","88",INDEX(Master!A:A,0)))

如果B列(有时)包含数字类型,请先将其转换为字符串类型,或在公式中执行以下操作:

=IF(B2&""="88",0)))
,

您可以在单个公式中使用INDEX / AGGERGATE

=IF(B2=88,88,INDEX($G$2:$G$4,AGGREGATE(15,6,(1/((B2=$H$2:$H$4)*(C2=$I$2:$I$4)))*ROW($G$2:$G$4)-1,1)))

enter image description here