【问题标题】:MS Excel: How to get cell value matching multiple criteria without using Array FormulaMS Excel:如何在不使用数组公式的情况下获取匹配多个条件的单元格值
【发布时间】:2020-02-05 22:32:24
【问题描述】:

我正在尝试创建一个 Excel 文件来跟踪我的瓦楞纸箱制造厂中纸卷的使用情况。我们用唯一的卷号识别每个纸卷,并使用相同的卷号来跟踪它们的使用情况。

每次从商店发出一卷,都会对其进行称重,并将重量记录为发出的数量。部分使用的纸卷被退回商店,重量记录为退回数量(如果纸卷完全用完,则为 0)

我使用数组公式创建了如下表格

{=IF(COUNTIF($C$3:[@[Roll Number]], [@[Roll Number]]) = 1, INDEX(T_RollStock[Purchased Qty (kg)],MATCH([@[Roll Number]],T_RollStock[Roll Number],0)), INDEX([Quantity Returned (kg)], SMALL( IF([Roll Number]=[@[Roll Number]], ROW([Roll Number]) - ROW( INDEX([Roll Number],1,1) )+1 ), COUNTIF($C$3:[@[Roll Number]], [@[Roll Number]])-1)))}

如果卷号首次出现在表格中,则已发行数量将是已购买数量。如果它不是第一次出现,它会检查卷号的倒数第二次并返回退回的数量

我正在尝试检查以下条件以自动生成已发行数量

  1. 首次发行:发行数量 = 购买数量
  2. 在后期发布的部分使用卷:检查Max[Returned Date] < [@[Issued Date]] 并返回退回的数量
  3. 在一天内多次发出滚动:检查Max[Returned Date] <= [@[Issued Date]]Second Last Occurrence 返回退回数量

【问题讨论】:

    标签: excel-formula array-formulas


    【解决方案1】:

    我使用了两个 帮助列 来解决您的问题,而无需使用数组公式。在上面的示例中,我添加了一些以黄色突出显示的测试数据。

    Helper1 使用 COUNTIF 返回每个纸卷编号 PRN 的索引号,如果数据已按 ISSD Issued Date 升序排序:

    =COUNTIF($A$2:A2,A2)
    

    EDIT #2如果日期未排序,请使用以下数组公式返回索引号:

    =MATCH(B2,AGGREGATE(15,6,ISSD/(PRN=A2),ROW($A$1:INDEX($A:$A,COUNTIF(PRN,A2)))),0)+(COUNTIFS($A$2:A2,A2,$B$2:B2,B2)-1)
    

    必须在完成公式栏中的公式后按 Ctrl+Shift+Enter 否则他们会不能正常工作。然后,您只需将公式向下拖动即可应用。

    Helper2 用于根据PRN 创建唯一索引引用

    =A2&"#"&E2
    

    QTYISD,即发行数量,计算方式为:

    =IFERROR(INDEX([QTYRE],MATCH(A2&"#"&(E2-1),[Helper2],0)),INDEX(T_RollStock[QTYPUR],MATCH(A2,T_RollStock[PRN],0)))
    

    公式试图根据前面的唯一索引引用找到quantity returned,如果前面没有返回,肯定是第一个问题,所以公式会返回@ 987654332@ 来自右侧第二个表格,每个PRN

    QTYUSD,即使用数量,就是发出和退回的差额:

    =G2-D2
    

    向下拖动公式以应用。

    【讨论】:

    • 谢谢特里,是否也可以包括日期检查?因为那是我被严重卡住的地方。
    • @ChandanDNadig 您是否测试过我的解决方案,如果是,请告诉我我遗漏了什么或未涵盖的内容?我不太清楚你所说的检查日期是什么意思?
    • 我的理解是,如果日期没有排序,那么索引号将简单地根据出现来分配。我说的对吗?
    • @Chandan D Nadig 我认为您的行数据按日期顺序排列。如果不是这种情况,那么您可能应该对其进行排序,以便可以正确确定第一次出现。
    猜你喜欢
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    相关资源
    最近更新 更多