我看到了一个解决方案,其中有人使用范围作为COUNTIF的标准,并且在尝试更好地理解它时,我发现一些非常奇怪的事情正在发生,并希望有人可以向我解释发生了什么。这是excel的设置。
Name,,Name
Excitebike,,Excitebike
RC Pro Am,,Super Mario Brothers
Punch Out,,Duck Hunt
Super Mario Brothers
Duck Hunt
希望您可以使用上述内容将其复制并粘贴。在A列中有一个名称列表,在C列中有一些名称列表。在单元格E1中有一个公式:
=COUNTIF($C$2:C4,$A$2:$A$6)
然后在单元格E2中有完全相同的公式。
=COUNTIF($C$2:C4,$A$2:$A$6)
这是一个屏幕截图,因此您可以看到公式相同:
因此,细胞E1和E2具有完全相同的公式,但给出了不同的结果。正如您在第一个屏幕截图中看到的那样,单元格E1给出的结果为0,而E2给出结果为1.然后,如果我将单元格E1变为数组公式,则结果为1.
为什么两个不同单元格中的完全相同的公式会给出不同的结果?为什么在将单元格E1更改为数组公式时会改变结果?我正在使用Excel 2016。
更新:其他问题。
当将数组传入COUNTIF时,是否会根据条件中的每个元素检查范围中的每个元素,还是只检查范围中的行与条件中的相应行?
即使我把它们放在同一个顺序中,我也不能让COUNTIF返回一个大于1的数字。我希望如果前三个匹配COUNTIF应该返回3但是它返回1给我。请参阅以下内容:
当第2,3和4行匹配时,它仍然给出1的答案。
答案 0 :(得分:0)
我对此工作有点惊讶。我通常会使用"标准" as> 4或< 10等等。很高兴知道你可以进行字符串比较。
在数组公式之外使用CountIf时,您将获得相邻单元格中值的比较。通常,CountIF正在寻找单一标准,而不是范围。至少那是我一直使用它的方式。例如,细胞范围中的第一个配方与每个细胞范围中的第一个细胞相比较。
尝试这两个实验。将Super Mario Brothers从右栏复制到左栏,结果现在将在两个公式中显示1和1。把它放回去。将具有公式的两个单元格向下移动一行,您应该看到结果从1和0变为1和1.将它再移动一个单元格并再次更改值。
我不确定这是你想要完成的事情,但是将其复制到公式中,然后复制6行。 = COUNTIF($ A $ 2:A $ 6 C2)