如何在excel中使用带IF的索引匹配?

如何在excel中使用带IF的索引匹配?,excel,Excel,表1 其他工作表: 表2 预期产出: A B C D 1 Seq Item Re-Order Qty On-hand Qty 2 1 X 10 15 3 2 Y 10 5 4 3 Z 10 10 在表2中,我需要在第2列中输入如下等式

表1

其他工作表: 表2

预期产出:

   A         B            C            D   
1 Seq        Item     Re-Order Qty  On-hand Qty
2  1          X         10           15
3  2          Y         10           5
4  3          Z         10           10
在表2中,我需要在第2列中输入如下等式:

    A           B            C
1   Seq       Item      Re-Order Qty
2   1          N/A          N/A
3   2           Y           10
4   3          N/A          N/A

我不确定如何管理这种需求?

这是可以做到的。它需要使用表2中的数组公式

通常使用
索引
时,只需使用一系列单元格作为
数组
(公式的第一个参数)。在本例中,我们将给它一个新的
数组
,以根据条件(您的
WHERE
子句)的结果返回

我将从结果图片开始,然后给出公式。对我来说,
Table1
在左边,
Table2
在右边

公式

这些公式非常相似,主要区别在于在为
索引生成
数组的
IF
部分中返回哪一列。
IF
的条件部分对于所有列都是相同的。请注意,在这里使用表格确实有助于复制公式,因为范围在“我们”下无法更改

这些都是数组公式,需要使用CTRL+SHIFT+ENTER输入

表2[项目]

Index(Table1[Item],Match(table2[Seq],tabel1[Seq],0) WHERE table1[reorder qty] > table1[On-hand Qty]
表2[重新订购数量]

=INDEX(IF(Table1[Re-Order Qty]>Table1[On-hand Qty],Table1[Item],"N/A"), MATCH([@Seq],Table1[Seq],0))
=INDEX(IF(Table1[Re-Order Qty]>Table1[On-hand Qty],Table1[Re-Order Qty],"N/A"), MATCH([@Seq],Table1[Seq],0))
表2[现有数量]

=INDEX(IF(Table1[Re-Order Qty]>Table1[On-hand Qty],Table1[Item],"N/A"), MATCH([@Seq],Table1[Seq],0))
=INDEX(IF(Table1[Re-Order Qty]>Table1[On-hand Qty],Table1[Re-Order Qty],"N/A"), MATCH([@Seq],Table1[Seq],0))
这些公式背后的主要思想是:

  • 根据条件返回一个新数组。这个新数组将返回所需的列(
    重新排序
    ,…),或者如果条件为
    FALSE
    ,它将返回
    N/A
    。这需要数组公式项,因为它是在
    IF
    中逐行进行的
  • 用于获取行号的公式的
    匹配部分为“标准”。我们只是在
    表1
    中查找
    Seq
    编号。这决定了要返回新
    数组的哪一行

您能用此功能的预期输出填写
表2吗?另外,您的
表1
是否有多个
Seq
条目?如果是这样的话,您能否在输入中添加一个副本,并显示在这种情况下输出应该是什么?似乎您只想根据
重新排序
的条件筛选
表1
。我不清楚
表2
@Byron的目的:我在“表2”中添加了预期结果。事实上,你是对的,我需要过滤“表1”,其中手头的数量少于重新订购的数量(我更正了这一点,因为大比号不正确)。我知道我可以简单地过滤,但我需要它在一个单独的表,所以这可以通过vlookup或索引匹配管理?我的意思是,一般来说,如果某个公式是真的,从数组中选择数据?