程序员的知识教程库

网站首页 > 教程分享 正文

数组及数组公式结果的制约性和集合性之一

henian88 2024-09-17 21:24:10 教程分享 29 ℃ 0 评论

今日继续讲解VBA数组与字典解决方案,今日讲解第9讲,在前面的几篇关于数组的专题中,我先后讲了数组的基本概念,基本的应用,并结合实际的应用的把一些有用的内容讲解给了各位朋友,相信很多朋友对数组的应用已经有了较为深入认识,这对于大家的实际应用是十分有用的。今日给大家讲的是数组及数组公式结果的制约性和集合性第一部分。

一 数组引用大小制约性

我们先看上面的截图,在C5中的录入公式为"=IF(C2:C3="Mary",ROW(D2:D3))"(数组公式),你知道它的返回值为什么是FALSE?这里就要理解一个概念,数组的大小的制约性。或许你不是很理解,下面我慢慢的讲解。

对于数组"=IF(C2:C3="Mary",ROW(D2:D3))"聪明的你可能已经想到这种类型的数组公式返回的是一个结果集,这个结果集的大小与操作对象的大小是一致的,在这里操作对象为C2:C3和D2:D3,因此返回值应该为两个元素。

就样结果就出来了,由于C2="John",不满足条件,因此应该返回IF()函数的第三个参数值,但这里无第三个参数,所以系统返回FALSE;也就是说上面的截图中C5的返回值为FALSE.

对于数组大小的强制性来说:上面的数组"=IF(C2:C3="Mary",ROW(D2:D3))"返回值应该为两个,那么第二个值应该在哪里呢?我们继续考虑数组的执行过程:由于C3="Mary",满足条件,因此返回第二个参数值,即ROW(D2:D3),而C3对应的是D3,所以返回值应该为3。

这个值应该在哪里呢?我们把C6的单元格也选择上录入数组公式:结果如下:

这里需要注意的是C5,和C6的公式是一致的,也就是说C5和C6共同构成了数组的单元,两个元素一个是"FALSE"一个是"3"。

在上面的讲解中,我提到了在C5和C6中录入数组公式,不知道大家是否还知道数组公式的录入方法:请选择C5:C6,输入"=IF(C2:C3="Mary",ROW(D2:D3))",按"Ctrl+Shift+Enter"。这是数组公式的录入方法,要注意的是此大小要与操作的数组结果大小相一致。

二 数组公式的集合性

在上面的讨论中我们反复的讲了数组的特性,这里再讨论一下数组的集合性。因为数组是多个元素的集合,当然数组具有集合性。我们看下面的截图:在E5中录入下面的公式:

"=MIN(IF(C2:C3="Mary",ROW(D2:D3)))",按"Ctrl+Shift+Enter",看结果。

这个结果当然就是在求MIN(FALSE,3)的值。在运算中FALSE的值是0,0和3的最小值是0,为什么返回的结果是3呢?好了今日的这个问题大家可以先想一想,我在下面的数组专题中讲解。

今日内容回向:

1 什么是数组的制约性?

2 什么是数组的集合性?

3 上面的最小值为什么是3,而不是0呢?读者是如何理解的?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表