问题描述
我有两个表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)))