|
楼主 |
发表于 2010-9-29 14:12
|
显示全部楼层
引用草版帖子内容
呵呵,我引用草版的内容的原因我在本帖107楼也说了,那天草版给我讲“绝对交集”时引用了帮助中的内容:
"对单元格区域而不是单个单元格的引用按照单个单元格进行计算。”
而我心中一直想着 “按单元格来单独计算(分时计算)”,所以当时似乎只盯上了其中“ 按照单个单元格来计算”这几个字了。开始想用帮助中的话来给自己“撑撑腰”。
分时想法由来
虽然不懂黄版的“多重计算”到底是怎么个意思,但感觉黄版的理解是排斥“按单元格逐个进行计算”的。
按单元格计算这个想法在我心中由来已久,不仅仅是“循环迭代”。比如大家选中A1:A10,然后输入 公式 "=row()",按CTRL+SHIFT+ENTER进行赋值操作,这个时候A1:A10的值为1;2;3;...;10,我理解这个过程中 各个单元格 参与了计算。
当然也不仅仅是这个例子...请恕不一一道来.
公式数组
公式数组,承认抛出这个概念后我开始没有做什么解释,不过后来在 http://club.excelhome.net/viewth ... ;extra=&page=14 137楼已经做了解释:
CTRL+SHIFT+ENTER我理解为把公式返回值赋值到单元格区域的过程,这个过程会生成一个由公式值赋值到单元格区域组成的数组。
因此,range().FormulaArray 我的理解是在 单元格区域 中生成由 公式返回值组成的数组
取 公式数组 一方面就是简单采用了缩写(公式返回值组成的数组的缩写),另一方面这个名字会和 数组公式 产生强烈的感应。
究其原因是对黄版以 range().FormulaArray 以及 公式的输入方式(CTRL+SHIFT+ENTER)来判断公式是数组公式的做法“不敢苟同”。
公式就应该是那段“表达式”,其属性应该隐含在公式文本中,而不应该以它的输入方式来判断它的属性...否则在条件格式、名称定义中似乎就不存在“数组公式”了
对单元格区域选用不同的公式输入方式(CTRL+SHIFT+ENTER或CTRL+ENTER),只是对单元格区域产生了影响(形成一个数组或依然是普通的单元格)。
双平面结构,数组颗粒...
嗯,这个是本贴的核心,是自己感觉的创新所在。草版能分别表示可以接受和感到不错,我感到很欣慰。本贴核心的东西我们能达成共识,我和草版在这个地方不存在分歧。
OFFSET数组化 这个只是我对OFFSET函数数组用法的叫法,就如VLOOKUP函数的数组用法我会叫VLOOKUP数组化,当然实际讲的时候我可能还会指定具体哪个参数数组化...
双平面结构理解的方式中,数组是我们熟悉的,区域引用也是我们熟悉的,因此比较容易被理解和接受。
可应用性
在数组公式的探索中,我确实曾比较偏爱那些直接可以接受内存数组的函数,因为可以替代辅助列的功能。但我并不是一味追求技术上高难度,我信奉用合适的方法做合适的事情。此外,我对函数公式的理解也在不断演进。草版的观点和我的想法并无二致。
[ 本帖最后由 胡剑0227 于 2010-9-29 14:50 编辑 ] |
|