【问题标题】:Excel Nested IF with INDEX & MATCHExcel 嵌套 IF 与 INDEX 和 MATCH
【发布时间】:2021-01-03 04:38:32
【问题描述】:

我有两张表 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...所以如果区域在 Store Detail Table 中等于 88 然后将 88 放入 Division 单元格中。

我尝试过组合 Index(If...),Match() 但我不断收到无数错误,我该怎么做呢?

【问题讨论】:

  • C列中的店铺编号是否唯一?
  • @Zac 是的

标签: excel if-statement indexing match


【解决方案1】:

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

=B2 & "|" & C2

在两张表中添加此列D。如果需要,您可以隐藏这些额外的列。

然后,填充 Division 列的问题转化为简单的查找。在A2 中,您可以输入(并复制下来):

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

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

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

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

=IF(B2&""="88", "88", INDEX(Master!A:A, MATCH(D2, Master!D:D,0)))

【讨论】:

    【解决方案2】:

    您可以在单个公式中使用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)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      • 2013-10-11
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多