阵列公式入门到精.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
阵列公式入门到精

陣列公式從入門到精通 入門篇   本主題包含三部分:入門篇、提高篇、應用篇(分中級和高級)   對於剛接觸Excel陣列公式的人來說,總是會感覺到它的一份神秘。又Excel的Online Help中只有很少關於它的主題,所以這種神秘感就更強了。不要緊,只要跟著我的思路走,你很快就會看清陣列公式的真面目!   陣列概念 對於陣列概念,大家都會很熟悉,其就是一個具有維度的集合。比如:一維陣列、二維陣列、多維陣列。陣列的表示一般爲“{}”所包括(一維和二維陣列)。Excel中也不例外,如果你想直接表示一個陣列,也必須用“{}”括起來。 陣列與陣列公式 在Excel中,凡是以半形符號“=”開始的單格內容都被Excel認爲是公式,其只能返回一個結果。而陣列公式可以返回一個或者是多個結果,而返回的結果又可以是一維或二維的,換句話說,Excel中的陣列公式返回的是一個一維或二維的陣列集合。 在Excel中需要按下 “Ctrl+Shift+Enter”組合鍵結束陣列公式的輸入。 爲什麽要用陣列公式? 如果你的需要滿足以下條件之一,那麽採用陣列公式技術可能會是你很好的選擇方案。 你的運算結果會返回一個集合嗎? 你是否希望用戶不會有意或無意的破壞某一相關公式集合的完整性? 你的運算中是否存在著一些只有通過複雜的中間運算過程才會等到結果的運算? 看到這些另人費解的問題,你可能會摸不著頭緒。不要緊,看了以下內容你也許就會明白了。 什麽情況下會返回一個集合? 看一個簡單的例子,選中C1:E3,輸入“={Name, Sex, Age; John, Male, 21; Mary, Female, 20}”,按“Ctrl+Enter”組合鍵。 圖1-1 (ArrayFormula_A01.bmp) 結果在C1:E3中看到的結果全是“Name”,而實際真正返回的結果應該是一個包含三行三列的二維陣列,如何辦?答案就是用陣列公式。選中C1:E3,輸入“={Name, Sex, Age; John, Male, 21; Mary, Female, 20}”,按“Ctrl+Shift+Enter”組合鍵。 圖1-2 (ArrayFormula_A02.bmp) 可能你又會問,這有何用?爲何不在單格中直接輸入內容,反而要這麽麻煩? 這僅僅是一個例子,說明的是如何通過陣列公式返回一個結果集。給你個問題,如果存在這樣一個工作表:包含欄位{ID, Name, Sex, Age},如何將“Sex”爲“Female”的記錄抽取出來 (爲了列印報表,抽取的記錄需要連續存放) ?這個問題將在“應用篇”裏進行解答。 什麽情況下會用到相關公式完整性? 什麽是相關公式完整性?這僅僅是我給出的一個定義,請再回到“圖1-2”,請選擇C1:E3中任意一單格,然後做隨意的修改(哪怕和原先的公式一樣),按“Enter”鍵結束輸入。結果如何?修改未成功!提示“不能更改陣列的某一部分”。 圖1-3 (ArrayFormula_A03.bmp) 爲什麽會是這樣呢?因爲你正企圖破壞相關公式的完整性。由於C1:E3中公式的資料源均爲“{Name, Sex, Age; John, Male, 21; Mary, Female, 20}”,而C1:E3共用的一個公式(這與每個單格都有相同的公式是有區別的,因爲這僅僅是C1:E3擁有9個相同的公式,而不是一個!),因此,當你要單獨更改其中一個單格時,系統會認爲你正在更改部分單格的資料源,如此會導致資料源不一致的現象,從而導致與其他相關單格脫離關係,這樣陣列公式就失去作用,所以系統不又允許你更改陣列公式的部分內容。這樣的好處是可以維護資料的完整性,做到與資料源總是有一致的對應關係。 你的公式複雜嗎? 如果有如下資料,在D6單格中求出對所購物品需要付多少費用。你會如何做?在D6中輸入“=(C2*D2+C3*D3+C4*D4)”?結果正確,如果中間某個單格位址輸入錯誤你的結果會正確嗎?如果記錄不只3條,而是成千上萬條,你是否會感覺到力不從心(如果不考慮單格內字元數的限制)?如果用“圖1-5”中的方法,你的感覺又會如何?(在D6中輸入“=SUM(C2:C4*D2:D4)”,按“Ctrl+Shift+Enter”鍵結束輸入。其中涉及到的技巧會在“提高篇”中討論。) 圖1-4 (ArrayFormula_A04.bmp) 圖1-5 (ArrayFormula_A05.bmp) 怎麽樣?是否瞭解了陣列公式?是否學會了如何使用陣列公式?是否感覺到了它的一點點威力? 請繼續關注“陣列公式從入門到精通”之“提高篇”,讓我們繼續深入陣列公式! 陣列公式從入門到精通 提高篇   本主題包含三部分:入門篇、提高篇、應用篇(分中級和高級) 相信你在“入門篇”中已經學會了如何建立陣列公式,同

文档评论(0)

书是爱的奉献 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档