Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 为什么IF中的范围会基于第一个条目生成结果?_Excel - Fatal编程技术网

Excel 为什么IF中的范围会基于第一个条目生成结果?

Excel 为什么IF中的范围会基于第一个条目生成结果?,excel,Excel,我有一列字母(随机顺序)从A1到A50。在它旁边的列中,我想显示一个1,如果向下的任何5个结果是>“F” 我使用的计算方法是=IF(A2:A6>“F”,1,0) 我希望a列中的以下范围为1 因此A列认为:- A B Z E T 但是,存在计算的字段显示为0。我希望a 1,因为“Z”和“T”都大于“F” 因此,首先我做错了什么,其次为什么IF语句会以这种方式运行,而不是我期望的方式运行呢?如果它本身并不是为了做你认为应该做的事情而设计的 可以通过两种方式执行此操作,即在中换行或在退出编辑模式时使

我有一列字母(随机顺序)从A1到A50。在它旁边的列中,我想显示一个
1
,如果向下的任何5个结果是
>“F”

我使用的计算方法是
=IF(A2:A6>“F”,1,0)

我希望a列中的以下范围为
1

因此A列认为:-

A
B
Z
E
T
但是,存在计算的字段显示为0。我希望a 1,因为“Z”和“T”都大于“F”


因此,首先我做错了什么,其次为什么
IF
语句会以这种方式运行,而不是我期望的方式运行呢?

如果它本身并不是为了做你认为应该做的事情而设计的

可以通过两种方式执行此操作,即在中换行或在退出编辑模式时使用Ctrl-Shift-Enter键生成数组公式:

=IF(OR(A2:A6>"F"),1,0)
或使用COUNTIF并正常输入:

=IF(COUNTIF(A:A,">"&"F"),1,0)

只是好奇,有没有理由不使用COUNTIF(a:a,“>F”)?@controlnetic.nomad没有,但我发现这里更简单,这样OP可以看到他们可以用一个单元格替换
“F”
,而不改变任何其他内容。当我按你的方式做时,不可避免地会遇到这样一个问题:“我如何使用单元格而不是字符串?”。所以我总是假设这是一个测试,他们将在自己的表格中阐述。否则,我会简单地推荐
=--OR(A2:A6>“F”)
作为数组公式。或
=-(COUNTIF(A:A,“>F”)>0)
,它将返回
1
0
,而根本不需要IF。但是我假设用户将用其他内容替换
1
0
。谢谢。这完全回答了我的问题。我有编程背景,所以看起来好像不对。范围的第二部分什么都不做有什么原因吗?它的工作方式几乎像是被窃听了。问题是
=IF(A2:A6>“F”,1,0)
作为数组公式输入在技术上是可行的,但它将返回一个数组而不是一个值。您需要将公式数组输入到与条件大小和形状相同的单元格范围中,然后在一列中得到5个单元格,填充方式如下{0,0,1,0,1}。您可以将IF包装为MAX:
=MAX(IF(A2:A6>“F”,1,0))
并获得所需的
1
0
,但是您需要告诉Excel如何解释返回的数组@阿兰拉比。也不要忘记通过单击答案旁的复选标记将其标记为正确。解释得很好。还检查了er..检查以标记已回答。再次感谢。