Countif 函数只计算数组中的第一个值
Countif function only evaluating on first value in array
如果标题不是很清楚,我深表歉意(想不出更好的方式来解决我的问题)...
我正在使用 countif 函数来查找所有符合两个条件、部件类型和代码的值。我遇到的问题是零件类型的标准是一个范围,当我尝试将其作为数组公式进行评估时,excel 仅查看范围中的第一个值。这是数据的样子:
Sheet 1:
PART CODE
1 x
2 y
3 z
4 x
3 z
4 z
3 y
Sheet2:
1 Type A
2 Type A
3 Type B
4 Type B
我正在使用 countif 公式(作为数组)来计算代码为 "z" 的 B 类零件的数量。这是我在 Excel 中使用的公式(PART 和 CODE 是命名范围):
COUNTIFS(PART, 'Sheet2'!$B:$B, CODE,z)
这个公式 returns 2 而不是 3。当我计算这个时,Excel 表明它只找到第一个值 (y) 并从那里计算。我不确定为什么它没有看到第二个值 (z) 并对其进行评估。在这方面的任何帮助都会很棒。
我做了更多研究,最终决定尝试其他功能(尽管我最初认为它们无法满足我的目的)...这是最终功能:
SUMPRODUCT(IF(PART=TRANSPOSE(TypeA),1,0)*IF(CODES="z",1,0)
我以前从未使用过这个功能,所以当我第一次看到它时感到很困惑。经过几个小时的拉扯,我发现我没有什么可失去的,并强迫自己尝试理解它正在完成的事情。我太纠结于 "counting" 出现的次数,以至于我没有意识到通过将此函数与多个 IF 语句一起使用,我可以获得必要的答案(并为自己省去麻烦)。
使用了 TRANSPOSE 函数,这样我就可以像 {1,2} 一样水平读取列数组,而不是垂直读取 {1;2}。我仍然不确定为什么我的原始函数无法处理垂直(除非我缺少数组的基本方面)。
如果标题不是很清楚,我深表歉意(想不出更好的方式来解决我的问题)...
我正在使用 countif 函数来查找所有符合两个条件、部件类型和代码的值。我遇到的问题是零件类型的标准是一个范围,当我尝试将其作为数组公式进行评估时,excel 仅查看范围中的第一个值。这是数据的样子:
Sheet 1:
PART CODE
1 x
2 y
3 z
4 x
3 z
4 z
3 y
Sheet2:
1 Type A
2 Type A
3 Type B
4 Type B
我正在使用 countif 公式(作为数组)来计算代码为 "z" 的 B 类零件的数量。这是我在 Excel 中使用的公式(PART 和 CODE 是命名范围):
COUNTIFS(PART, 'Sheet2'!$B:$B, CODE,z)
这个公式 returns 2 而不是 3。当我计算这个时,Excel 表明它只找到第一个值 (y) 并从那里计算。我不确定为什么它没有看到第二个值 (z) 并对其进行评估。在这方面的任何帮助都会很棒。
我做了更多研究,最终决定尝试其他功能(尽管我最初认为它们无法满足我的目的)...这是最终功能:
SUMPRODUCT(IF(PART=TRANSPOSE(TypeA),1,0)*IF(CODES="z",1,0)
我以前从未使用过这个功能,所以当我第一次看到它时感到很困惑。经过几个小时的拉扯,我发现我没有什么可失去的,并强迫自己尝试理解它正在完成的事情。我太纠结于 "counting" 出现的次数,以至于我没有意识到通过将此函数与多个 IF 语句一起使用,我可以获得必要的答案(并为自己省去麻烦)。
使用了 TRANSPOSE 函数,这样我就可以像 {1,2} 一样水平读取列数组,而不是垂直读取 {1;2}。我仍然不确定为什么我的原始函数无法处理垂直(除非我缺少数组的基本方面)。