【问题标题】:Excel count between two array constants - only returning first three instances两个数组常量之间的 Excel 计数 - 仅返回前三个实例
【发布时间】:2015-03-17 15:35:07
【问题描述】:

我正在尝试仅计算制造班次报告中已完成的组件。

示例: 我在 A 列中有 6 个组件(每个组件有三个部分),由数组常量 {1,2,3,4,5,6} 表示(换句话说,该列每个组件重复三次 - 1,1,1,2, 2,2,3,3,3,4,4,4,5,5,5,6,6,6)

我在 B 列中的每个组件都有三个部分,由数组常量 {"a","b","c"} 表示。 (换句话说,在班次打印报告中,组件 1 在一行上有一个“a”部分,在下一行有一个“b”部分,在第三行有一个“c”部分。

我在 C 列中也有一条状态/标准评论,用“完成”表示

我的公式试图只计算已完成的组件(每个组件都包含三个部分)是: {=sum(countifs(A:A,{1,2,3,4,5,6},B:B,{"a","b","b"},C:C,"完成") )}

但这仅适用于前三个组件,即不是 4、5、6。

请帮助解决这个问题,因为我的完整应用程序每个班次最多包含一百个组件,每个组件包含三个部分,只有当 C 列为“完成”时,我必须报告为已准备好发送。

此时我正在手动执行此操作,这是一项非常令人麻木的工作。

我尝试过的另一种公式,但仅在 A:A 有一个值时才有效: {=sum(if((A:A={1,2,3,4,5,6})*(B:B={"a","b","c"}),1,0) )}

我完全被这个弄糊涂了——真是脑筋急转弯!

我尝试在不匹配的数组常量上寻找资源,我认为在这种情况下相关但不明白如何继续(无论如何)。

请有人给我指点灯!

谢谢, 斯图

【问题讨论】:

    标签: arrays excel


    【解决方案1】:

    尝试转置一个(但不是两个)数组常量,使其与另一个正交,即任意一个

    =SUM(COUNTIFS(A:A,{1,2,3,4,5,6},B:B,{"a";"b";"c"},C:C,"Complete"))

    =SUM(COUNTIFS(A:A,{1;2;3;4;5;6},B:B,{"a","b","c"},C:C,"Complete"))

    请注意,这些构造不需要作为数组公式提交,即使用 CSE。

    如果您对这种必需语法的解释感兴趣,请参阅此处:

    http://excelxor.com/2014/09/28/countifs-multiple-or-criteria-for-one-or-two-criteria_ranges/

    问候

    【讨论】:

    • 感谢您的反馈 - 我现在正在检查参考。
    • 我认为他的意思是正交 :)
    • 嗨,XOR LX,你答案中的两个公式是一样的吗?我还是得到三个作为值,这是一个艰难的!
    • @Stuart 您的 Excel 版本是否在函数中使用逗号或分号作为参数分隔符?
    • “数组”?不,这对我来说也是一个新的
    猜你喜欢
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    相关资源
    最近更新 更多