MS Excel:如何在不使用数组公式的情况下获得与多个条件匹配的单元格值

问题描述 投票:0回答:1

我正在尝试创建一个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)))}

enter image description here

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

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

  1. 第一次发布的卷:已发布的数量=已购买的数量

  • 稍后使用的部分使用的纸卷:检查Max[Returned Date] < [@[Issued Date]]并返回返回数量
  • 一天中发出多次卷:检查Max[Returned Date] <= [@[Issued Date]]Second Last Occurrence返回返回数量]。
  • 我正在尝试创建一个Excel文件来跟踪我的瓦楞纸箱制造工厂中纸卷的使用情况。我们用唯一的卷号标识每个纸卷,并跟踪其使用情况...

    Solution

    我使用了两个helper专栏

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

    Helper1

    使用COUNTIF返回每个纸卷编号PRN的索引号:
    =COUNTIF($A$2:A2,A2)
    

    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,并且,如果没有先前的返回,则必须是第一个问题,因此该公式将从每个quantity purchased右边的第二个表。

    QTYUSD

    是使用的数量,只是发出和退回的差额:
    PRN

    将公式向下拖动以应用于整个范围。

    excel-formula array-formulas
    1个回答
    0
    投票

    Solution

    我使用了两个helper专栏

    © www.soinside.com 2019 - 2024. All rights reserved.