註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excelㄧ般區
» 如何保護儲存格資料技巧1陣列公式(此法也可以用來保護區域欄列不被刪除)
返回列表
下一主題
上一主題
發帖
[分享]
如何保護儲存格資料技巧1陣列公式(此法也可以用來保護區域欄列不被刪除)
softsadwind
發短消息
MSN 聊天
加為好友
softsadwind
當前離線
UID
2868
帖子
129
主題
3
精華
0
積分
178
金錢
178
點名
0
作業系統
XP
軟體版本
2010
閱讀權限
20
性別
男
在線時間
93 小時
註冊時間
2010-12-28
最後登錄
2018-11-10
中學生
帖子
129
主題
3
精華
0
積分
178
點名
0
作業系統
XP
軟體版本
2010
閱讀權限
20
性別
男
註冊時間
2010-12-28
最後登錄
2018-11-10
1
#
跳轉到
»
發表於 2010-12-28 13:21
|
顯示全部帖子
以下文章文引用的...如果知道本編是哪位大大的大作,還請告知,會補上相關資料。
入門篇
本主題包含三部分:入門篇、提高篇、應用篇(分中級和高級)
對於剛接觸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[attach]4232[/attach]
結果在C1:E3中看到的結果全是“Name”,而實際真正返回的結果應該是一個包含三行三列的二維陣列,如何辦?答案就是用陣列公式。選中C1:E3,輸入“={"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,按“Ctrl+Shift+Enter”組合鍵。
圖1-2
下載
(4.48 KB)
2010-12-28 13:20
可能你又會問,這有何用?爲何不在單格中直接輸入內容,反而要這麽麻煩?
這僅僅是一個例子,說明的是如何通過陣列公式返回一個結果集。給你個問題,如果存在這樣一個工作表:包含欄位{"ID", "Name", "Sex", "Age"},如何將“Sex”爲“Female”的記錄抽取出來 (爲了列印報表,抽取的記錄需要連續存放) ?這個問題將在“應用篇”�媔i行解答。
什麽情況下會用到相關公式完整性?
什麽是相關公式完整性?這僅僅是我給出的一個定義,請再回到“圖1-2”,請選擇C1:E3中任意一單格,然後做隨意的修改(哪怕和原先的公式一樣),按“Enter”鍵結束輸入。結果如何?修改未成功!提示“不能更改陣列的某一部分”。
圖1-3
下載
(5.72 KB)
2010-12-28 13:20
爲什麽會是這樣呢?因爲你正企圖破壞相關公式的完整性。由於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
下載
(3.75 KB)
2010-12-28 13:20
圖1-5
下載
(2.36 KB)
2010-12-28 13:20
怎麽樣?是否瞭解了陣列公式?是否學會了如何使用陣列公式?是否感覺到了它的一點點威力?
請繼續關注“陣列公式從入門到精通”之“提高篇”,讓我們繼續深入陣列公式!
1.png
(4.1 KB)
下載次數:0
2010-12-28 13:20
1
評分人數
Hsieh:
不錯的分享
金錢 + 2
50 字節以內
不支持自定義 Discuz! 代碼
TOP
靜思自在 :
愛不是要求對方,而是要由自身的付出。
返回列表
下一主題
上一主題
Excel程式區
一般電腦軟體討論
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲