VBA数组与字典解决方案第7讲:为什么要采用数组公式(一)

今日继续讲解VBA数组与字典解决方案第7讲,在前几讲的数组应用中我们深入地讲解了工作表数组和数组公式,以及数组维数扩展的意义。那么,有的朋友会问了:这么费事,为什么要引入数组公式呢?换句话说,引用数组公式有什么好处呢?在这一节中我要慢慢地给大家讲解.

首先我们回忆一下小时候上学时有过这么一道题:求1 到100 的和。当然也可以是1000、10000 甚至更多。怎么解决这类问题呢?

问题分析:求1 到100 的和,答案是5050,但如果采用Excel计算,你必须要告诉它如何计算,计算从1 到100 的和,实际上就是计算1+2+3+4+……+98+99+100,好了,答案出来了,

方案一:在编辑栏中输入“=sum(1+2+3+4+……+98+99+100)”。相信聪明的你一定对此答案不满意,虽然能得到正确的结果,但很明显不是最好的方法。

那么有没有更好的办法呢?

方案二:要想得到1 到100 的数列,最简单的方法就是使用Row()函数。熟悉Row()函数的朋友一定会恍然大悟:在A1 单元格中输入“=Row()”,使用填充柄填充至A100,看到什么结果?是不是每一个单元格中值就是其对应的行数。也就是说Row()表示当前行。

在此。我们再学习一下ROW()函数;

ROW函数:是函数中的一种,作用是返回一个引用的行号。

语法ROW(reference)

参数:Reference 为需要得到其行号的单元格或单元格区域。

特别注意:

a) 如果省略 reference,则假定是对函数 ROW 所在单元格的引用。

b) 如果 reference 为一个单元格区域,并且函数 ROW 作为垂直数组输入,则函数 ROW 将 reference 的行号以垂直数组的形式返回。

c) Reference 不能引用多个区域。

下面我们继续讲解刚才提到的问题,当填充完A1到A100后再求和,求得到了1 到100 的和。

这个方法是不是最好的方法呢?当然不是,我们再看下面方法三

方案三:如果使用Row(1:100)就表示一个数组,其中包含的便是第一到第一百行的行号,即1、2、3、……、98、99、100 这些数值,现在我们就把这个数组应用到公式中。

在工作表的任意一个单元格中输入“=sum(Row(1:100))”,然后按Ctrl+Shift+Enter 组合键,你会惊喜的发现,我们要的结果出现了。

很容易得出结论:上述的三个方案中第三个是最好的方法。也就是说,引入了数组公式后问题的解决变得非常简单。

今日内容回向:

1 引入数组公式后有什么好处?

2 数组公式是如何使问题变得简单的?

3 你是否理解了row()的含义?

tp5数组为什么要中括号_VBA数组与字典解决方案第7讲:为什么要采用数组公式(一)...相关推荐

  1. 数组字典_VBA数组与字典解决方案第1讲:函数,公式,数组,数组公式的概念...

    各位好,从今日开始,在平台上我将推出VBA解决方案系列丛书的第三部:VBA数组与字典解决方案,这套书从工作表数组开始讲解,逐渐过渡到VBA数组和VBA字典,在这部教程中,大家会看到VBA数组.字典在各 ...

  2. 建立数组并写入数据_VBA数组与字典解决方案第37讲:在VBA中字典的应用

    大家好,我们今日继续讲解VBA数组与字典解决方案第37讲内容:在VBA中字典的应用.对于字典,也许许多的朋友对此比较陌生,在有的语言里字典也称之为MAP,应用也是比较广泛的. 字典,其实就是一些&qu ...

  3. vba 数组赋值_VBA数组与字典解决方案第18讲:VBA中静态数组的定义及创建

    大家好,我们今日继续讲解VBA数组与字典解决方案,今日讲解第18讲:VBA数组如何定义,又该如何创建呢? 从这一讲开始,我们开始进入VBA数组阶段,VBA数组和工作表数组有着不同的意义,在很大程度上, ...

  4. 绑定dictionary 给定关键字不再字典中_VBA数组与字典解决方案第51讲:字典嵌套及二级下拉菜单的制作...

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第51讲:对字典嵌套的理解及二级下拉菜单的制作. 在讲字典的时候,我反复说明,字典看视非常简单,由于它具有直达性可以省略去我们大量的循环查找代 ...

  5. 数组字典_VBA数组与字典解决方案第34讲:数组的传递

    大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解的是第34讲:数组的传递.在应用数组的时候,我们往往需要要把数组的值由一个数组传递给另外一个数组,就如同变量的传递一样: A=B '把B值赋给 ...

  6. vba 数组赋值_VBA数组与字典解决方案第31讲:VBA数组声明及赋值后的回填方法

    大家好,我们今日继续VBA数组与字典解决方案,今日讲解VBA数组的声明,一些朋友会问了:数组都讲了这么长时间了,怎么才讲声明啊?是的,有些知识不到一定的程度即使讲了,大家也不能深入的理解,只有到了一定 ...

  7. vba数组如何精确筛选_VBA数组与字典解决方案第8讲:为什么要采用数组公式(二)...

    大家好,今日继续讲解VBA数组与字典解决方案,今日的内容是第8讲.在上一讲的数组专题中,我详细地讲了利用数组公式的好处,或许有的朋友还没有充分理解,今日继续给大家讲解.我在讲解中,力争每篇文章可以作为 ...

  8. vba数组如何精确筛选_VBA数组与字典解决方案第10讲:数组及数组公式的制约性和集合性二...

    今日继续讲解VBA数组与字典解决方案,的内容是第10讲,今日继续给大家讲解数组及数组公式结果的制约性和集合性,上节讲到截图的结果返回的是3,而不是0!这是为什么呢?我们仍然看下面的截图: 再次回顾E5 ...

  9. vba数组如何精确筛选_第22讲:利用动态数组去除重复值的方法

    大家好,我们今日继续讲解VBA数组与字典解决方案第22讲:在VBA中如何使用动态数组,以及利用动态数组去除重复值的方法.如果文本中含有大量的重复值,此时,如果我们要剔除重复值,该怎么办?用VBA的方法 ...

最新文章

  1. TreeSet集合(自然排序和比较器排序)
  2. 学好C++,一个项目就够
  3. SAP MM在ML81N事务代码界面报错- Customizing incorrectly maintained –之对策
  4. opencv(4)图像滤波
  5. oracle 非数字型转数字型
  6. tf.nn.in_top_k的用法
  7. 用ram实现寄存器堆_Verilog如何实现低功耗设计?
  8. dropbox_Google的新存储定价与Microsoft,Apple和Dropbox相比如何
  9. 浅谈Java设计模式
  10. python functools
  11. 7. 从数据库获取数据- 从零开始学Laravel
  12. BI软件应用在哪些方面
  13. Linux安装MATLAB Compiler Runtime操作
  14. 最全牛人博客,你可以学习到太多太多
  15. 3.#技术|Android抓包的原理分析和实际操作,fiddler+Xposed+TrustMe++
  16. java 制作圆形按钮_Java制作圆形按钮
  17. 浏览器控制台Network面板简述
  18. IDM6.39序列号,亲测可用
  19. 克拉克松Clarkson Research情报网注册登录及进行数据查询(以世界造船厂分布为例)
  20. vue 封装图片预览组件

热门文章

  1. 多线程共用全局变量可能存在的威胁
  2. 【opencv】4.初始化Mat的方式、访问cv::Mat中的某个元素
  3. 潘天佑博士2014微软学生夏令营演讲:如何培养领导力
  4. 深入理解Hadoop YARN中的Container概念
  5. LaTex文章中插入Visio及Matlab矢量图
  6. 使用Lex将C/C++文件输出为HTML文件
  7. 【caffe】使用自己的图像数据训练lenet并用opencv进行预测
  8. python closure闭包 lambda表达式
  9. java.lang.RuntimeException: Unable to start activity ComponentInfo
  10. C#图片压缩的实现方法