我遇到的情况是我根据需要比较的数据条件创建多个数组。
例如,考虑这组数据(在单元格中):
A1: ASD
A2: ASF
A3:
A4: NOTTHISONE
然后我施加了两个条件:
NOT(ISBLANK(A1:A4) and;
LEN(A1:A4)<4
返回以下各自的数组
{TRUE,TRUE,FALSE,TRUE} and;
{TRUE,TRUE,TRUE,FALSE}
然后我希望对这些数组的VALUES进行AND比较(不比较完整的数组)。这应该产生:
{TRUE,TRUE,FALSE,FALSE}
但是使用AND()或'='似乎将两个数组作为完整对象进行比较,因此返回false(如{TRUE,TRUE,FALSE,TRUE}!= {TRUE,TRUE,TRUE,FALSE})。< / p>
有没有办法实现我正在寻找的比较?
答案 0 :(得分:0)
在Excel(以及相当多的编程语言)中,&#39; True&#39;也可以表示为&#39; 1&#39;同样,&#39; False&#39;通过&#39; 0&#39;。
此外,&#39; AND&#39;相当于乘法,&#39; OR&#39;添加(您可以查看按位运算AND和OR,如果您愿意)。
考虑到这两个,您可以使用乘法从您拥有的两个公式中获取数组:
=NOT(ISBLANK(A1:A4))*(LEN(A1:A4)<4)
现在,上面的内容并没有完全给你一个真假的数组,而不是因为它无论如何,因为excel看到公式的结果会进入一个单元格,而一个单元格不能包含一个数组。
如果你把它放在一个可以使用和使用数组的公式中......但是...
=INDEX(NOT(ISBLANK(A1:A4))*(LEN(A1:A4)<4),0,0)
这里我提到的第一句话适用。您可以看到结果为{1;1;0;0}
,换句话说,True,true,false,false。