ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 胡剑0227

两年前熬了几夜的材料,函数发烧友有兴趣可以一起探索...

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-3-21 10:54 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组公式
暂时还不太懂,花时间学习一下,希望能看懂

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-21 20:20 | 显示全部楼层
梦Excel 发表于 2013-3-21 10:54
暂时还不太懂,花时间学习一下,希望能看懂

这块内容需要在数组公式纯熟以后再看,从技术理论上比多维引用还有考前,因此现在没有必要看,呵呵

TA的精华主题

TA的得分主题

发表于 2013-3-21 20:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好东西先下载,慢慢看,一时半会消化不了

TA的精华主题

TA的得分主题

发表于 2013-3-21 20:42 | 显示全部楼层
胡版的珍藏,一定好好学习!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-21 20:44 | 显示全部楼层
CheryBTL 发表于 2013-3-21 20:42
胡版的珍藏,一定好好学习!

呵呵,好多鲜花呀...

这些东西技术很深,但实用性很差,主要目前 函数公式 对这个情况支持很差...

TA的精华主题

TA的得分主题

发表于 2013-3-21 20:50 | 显示全部楼层
胡剑0227 发表于 2013-3-21 20:44
呵呵,好多鲜花呀...

这些东西技术很深,但实用性很差,主要目前 函数公式 对这个情况支持很差...

呵呵,这是水贴多了

嗯,是呀
最近晚上正好有时间,再仔细学习下

点评

好多的牌牌。。。。。  发表于 2013-6-19 11:33

TA的精华主题

TA的得分主题

发表于 2013-8-14 14:08 | 显示全部楼层
本帖最后由 Bodhidharma 于 2013-8-14 16:54 编辑

這篇如胡板所言,技術性相當高,但是實用性低,所以比較乏人問津
不過我最近正好在研究這些東西,我覺得這個「大顆粒」比多維引用要來的更複雜
黃板的經典文章《浅谈引用函数产生的多维引用及其应用》我自認已經能完全看懂
http://club.excelhome.net/thread-98081-1-1.html
但是大顆粒似乎比這個還要更複雜難懂……

先從胡板《OFFSET数组化 撞出 array 级别的参数数组化》談起
http://club.excelhome.net/forum.php?mod=viewthread&tid=624390&page=14
在這篇中,胡板、黃板、草板有著激烈的爭論
我覺得這是因為概念的描述不清,加上當時Piny大師的INDEX(N(IF(1...))...)這個用法還沒有出現的原因
以下就「大顆粒數組vs.多維引用」、「分時vs.隱含交叉」、「數組化vs.多項運算」提出我目前的想法


1.大顆粒數組vs.多維引用
多維引用這個概念已經比較清楚,這個在《浅谈引用函数产生的多维引用及其应用》已經有詳述
簡單來說,多維引用如黃板所言:「三维和四维引用可看作是以平面的单元格区域引用(单一引用)为元素的一维和二维“数组”。其中各单元格区域作为该“数组”的元素」
但是雖然叫「數組」,但是實質上是「引用」,因此可以被COUNTIF、SUMIF、SUBTOTAL等只接受reference的函數所接受
這個概念胡板是使用「大顆粒數組」來解釋,但是這個「大顆粒數組」有兩種不同的情形,一個是上述的多維引用,一個是由INDEX(N(IF(1...))...)所構成的…呃…「銅豌豆」
前者是以「引用」所組成的數組,實質上還是引用,但是後者就真正是由「數組」所構成的數組,兩者的性質是不一樣的
因此我覺得「大顆粒數組」的觀念最好限定在「銅豌豆」上使用,至於由「引用」所組成的數組,因為實質上還是引用,所以我覺得還是用「多維引用」來指稱比較恰當


2.分時vs.隱含交叉
隱含交叉,在我目前的理解,我覺得有三種情形
第一種情形是最常見的,比方說MATCH(B1:B5,A1:A5),但是沒有使用三鍵輸入,這時EXCEL會依該公式所在的位置,與B1:B5形成交叉
這個在http://club.excelhome.net/thread-592215-1-1.html中已經有詳細的說明
第二種情形是黃板提出的:
「如果一个函数有两个以上的参数可以为区域引用,且其中一个参数是多维引用,另一个参数的引用行列中一个方向与此多维引用产生的区域排列方向一致
那么就会缠产生隐含交叉计算问题。这类似于直接存入单元格中的两个引用的隐含交叉,只是它直接在函数内部计算完成。
目前发现,支持在函数内部产生隐含交叉计算的有Rank,Countif,Sumif等。」
http://club.excelhome.net/forum.php?mod=viewthread&tid=145007&page=3#pid995177
這種情形的詳細原理,我已經在http://club.excelhome.net/forum. ... =146260&pid=7124339 中提出詳細的說明
其實我現在覺得這種情形就只是一般的交叉計算,和SUMPRODUCT(A1:A3,C4:C6)之類的原理相同,不需要特別稱作隱含交叉
這兩種情形都已經有比較清楚的解釋,但是第三種情形似乎還沒有一個官方說法,我覺得這種情形是:
多維引用或是大顆粒數組,用在不支援多引維用的函數的「多單元格數組公式」時,所產生的「空間與單元格間隱含的行列交叉關係」
比方說胡板在http://club.excelhome.net/thread-624390-1-1.html的這個情形:
隱含交叉.jpg
我覺得之所以會產生這種結果,是因為這個多單元格數組公式,最左上的儲存格對應到OFFSET($A$1,0,0),右上對應到OFFSET($A$1,0,4),左下對應到OFFSET($A$1,3,0),右下對應到OFFSET($A$1,3,4)
這個概念胡板是以「分時」來解釋,但是我認為不需要另創概念,因為這純粹就是「多單元格數組公式的行列位置」與「多個空間」所形成的一一對應關係
由於這個和隱含交叉第一種情形,因為儲存格所在位置,而產生不同的結果有相似性,而且按F9都會產生不同的結果(在這裡是產生最左上平面的結果)
因此我覺得這個應該要稱作「隱含交叉」而不是「分時特性」

3.數組化vs.多項運算
多項運算的概念已經有清楚的定義和解釋,草板講的很清楚:
“多重运算”就开始称为“多项运算”。我觉得这个词更为准确,即数组的多项元素参与运算。例如:{1;2;3}*2存在1*2、2*2、3*2共3个运算」
http://club.excelhome.net/forum.php?mod=redirect&goto=findpost&ptid=624390&pid=4276072
這種情形在參數可以為數組的函數上經常用到,如lookup、match的第一個參數
但是胡板「數組化」的概念,除了上述情形之外,還用到了vlookup這種第1參數不接受數組的函數
以及像vlookup、match、lookup的這些不支援多維引用函數的第二個參數上面
array的數組化(比方說vlookup的第二個參數),只能在多單元格數組公式上使用,我認為其原理和我上面講的「隱含交叉」的第三種情形相同
至於vlookup的第一參數的數組化,我認為是多單元格數組公式所造成的行列擴充所造成的(呃…以胡板的語言,好像叫「自適應性」吧)
這種情形,確實和「多項運算」的運算原理有所不同
但是我認為「數組化」應該要限定在後者的情形上面,不應該將「多項運算」的情形也包進來,不然容易在概念上造成混淆

小結一下,我覺得「大顆粒數組」的概念應該限定在「銅豌豆」的情形上,不該包含「多維引用」
「分時」的概念容易讓人誤解,應該用「隱含交叉」的第三種情形解釋
「數組化」則應該限定在不接受數組形式/多維引用參數的函數上面(如vlookup、sum、match與lookup的第二參數等)
至於原本就接受的就讓它回到多項運算(如lookup的第一參數、countif、subtotal、small的第二參數等)
這三種東西都是很複雜的概念,而且和原本的「多維引用」、「多項運算」有所不同
因此我覺得應該要在概念上有所區分,不然真的很容易造成誤解

另外關於這種隱含交叉的第三種情形以及「數組化」的東西,我最近有作了一些探索,等我整理好之後會再po出
其實以上的東西我覺得都相當有討論的價值,但是很可惜胡板、黃板、草板吵一吵後就沒有後續了
希望接下來我們能夠繼續就技術上面有比較好的討論





评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-8-14 14:40 | 显示全部楼层
这个N到底是充当什么作用,给我感觉就是把很多连续的单点变成了一个整体,但又说不出到底是为嘛。

点评

是呀,就是这种效果,具体原因我也不清楚  发表于 2013-8-29 18:07

TA的精华主题

TA的得分主题

发表于 2013-8-14 14:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不是眩晕了,是晕倒了。

TA的精华主题

TA的得分主题

发表于 2013-8-29 15:23 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 05:21 , Processed in 0.046569 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表