久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Excel數組公式從入門到精通

     lasiya 2011-02-14

      一、課程回憶

      什么是數組公式呢?顧名思義就是公式中包含數組的了,詳細含義請參看前文。但這里重點提醒的一點就是,如果要使用數組公式,在編輯欄輸入完公式以后一定要按下“Ctrl+Shift+Enter”組合鍵,使編輯欄的公式處在“{}”之中。

      二、數組公式繼續深入

      印象中是好幾年前了,當時看過的一篇掃盲貼中,作者舉的例子真是太實用了。具體細節記不太清楚了,大致意思就是使用函數計算1到100的和。這里同樣以此為例。

      1.求1到100的和

      在往下看之前,大家想一下,如果讓你來處理該如何來處理呢?只用一個函數解決1到100的和,當然也可以是1000、10000甚至更多。討論具體的數值沒有太大意義,此處只是希望通過此例讓大家更進一步的了解數組公式的用法。

      解答:{=SUM(ROW(1:100))}

      問題分析:求1到100的和,答案是5050(小學生都知道^-^),但Excel必須是你告訴了它正確的方法,它才能知道。計算從1到100的和,實際上就是計算1+2+3+4+……+98+99+100,好了,答案出來了,在編輯欄中輸入 “=sum(1+2+3+4+……+98+99+100)”。相信聰明的一定對此答案不滿意,雖然能得到正確的結果,但很明顯是“錯誤”的方法。

      要得到1到100的正確數列,最簡單的方法就是使用Row()或是Column()函數,由于個人習慣,我比較習慣于Row(),所以這里以Row()函數為例。

      熟悉Row()函數:在A1單元格中輸入“=Row()”,使用填充柄填充至A5,看到什么結果?是不是每一個單元格中值就是其對應的行數。

      驚喜:Row()表示單前行,如果使用Row(1:100)就表示一個數組,其中包含的便是第一到第一百行的行號,即1、2、3、……、98、99、100這些數值,現在我們就把這個數組應用到公式中。

      在工作表的任意一個單元格中輸入“=sum(Row(1:100))”,然后按Ctrl+Shift+Enter組合鍵,你會驚喜的發現,我們要的結果出現了。

      2.在Excel2003中享受“SUMIFS”

      SUMIF函數應該很多人都用過,非常好用。但如果遇到多條件判斷的怎么辦呢?從Office 2007開始,引入了SUMIFS函數,可以解決這種多條件求和問題。但如果仍然使用Office 2003怎么辦呢?其實使用SUM、IF再結合數組公式即可實現SUMIFS的效果。

      如下圖所示,某教師有一張任教的幾個班級的學生成績表。

      任務:統計出“一班”、“二班”共計多少人?

      此題要如何解決?SUMIF用兩次?或是COUNT用兩次?這里還是演示數組公式的用法,所以先用SUM和IF組合的形式。

      在任一單元格中輸入“=SUM(IF((A2:A12="一班")+(A2:A12="二班"),1,0))”公式按下回車鍵,是不是發現結果是 “#VALUE!”,再次進入編輯欄然后按下“Ctrl+Shift+Enter”快捷鍵,是不是發現正確的結果出來了?

     

      這里再次解釋一下這個公式“{=SUM(IF((A2:A12="一班")+(A2:A12="二班"),1,0))}”,外側SUM沒什么好用的了,就是求()內各數的和。中間的“IF((A2:A12="一班")+(A2:A12="二班"),1,0))”的運算過程是這樣的,判斷A2:A12區域內單元格的值是否是“一班”,如果是則結果為1,則此公式計算的結果依次是“1、0、0、1、0、0、1、0、0、1、0”,因為第一個條件為真,第二個條件肯定就不為真了,因為一個單元格不可能同時等于“一班”和“二班”,所以第一個數組就是“1、0、0、1、0、0、1、0、0、1、0”。這時再判斷 A2:A12區域內單元格的值是否是“二班”,如果是結果則為1,否則為0,所以這個數組條件計算的結果就是“0、1、0、0、0、1、0、1、0、0、 0”,中間的加號就是將這兩個數組相加,也就是說最終的數組為“1、1、0、1、0、1、1、1、0、1、0”,然后使用SUM求和,結果就為7了。

        查看原圖(大圖)

      從上面的圖中標注可以看出,所以的公式我全部使用了數組(A2:A12這就是一個數組),并且上圖上的沒有使用數組公式的公式中的數組全部可以使用單個單元格替代,之所以全部列出,還是希望大家更好的理解一下數組。

      在Excel中,數組如果不放在數組公式中使用,通常數組在特定單元格中只代表與其特定單元格所對應的一個值(數組中的一個元素),放在數組公式中使用時,通常整個數組元素都會參與運算。
     

      三、數組公式精通

      這里是一個實際工作中的例子,只是我稍微變化了一下,還是SUM應用的例子。

      需求:如下圖所示,現在要統計員工張三在1號加工所有機器的“實績”,也就是說在右側的數據中先過濾日期為1,然后再過濾人員為張三的數據,最后統計實績的結果。如果使用一個公式完成這一需求,你能想到嗎?當然SUMIFS是除外的,因為 SUMIFS是Office 2007以后的產物。

        查看原圖(大圖)

      答案:在上圖所示的C2單元格中輸入“=SUM((E2:E21=A2)*(G2:G21=B2)*(H2:H21))”公式,然后按下“Ctrl+Shift+Enter”組合鍵,你會發現想要的結果已經出現了。數組公式就是這么簡單,解決問題也是這么簡單。

      這次用的公式可以看出,比之前用的公式還要簡單,連IF都不要了,實際上這里的“=”符號就是起到了一個類似IF的效果。

      這里再說明一下公式的執行過程,公式中E2:E21表示數組區域,這個相信已經不需要再說明了,放到數組公式中就是依次取數組中的各個數值,也就是依次取日期中的值。E2:E21=A2,實際上就是拿日期中的每一個值依次與A2中的日期進行比對,如果相等則結果為True,即1,如果不相等則為False 即為0。到了這里也許你有一點明白了,如果第一不相等,則后面的無需再繼續下去了,因為公式里用的全部是“*”乘積符號,任何數乘0等于0。如果此項符合再繼續判斷G2:G21區域,也就是用姓名依次比對,如果和B2中的姓名相同,則為Ture,即1,如果為False,即0,繼續下一個回合。如果此項也為Ture,很明顯前面兩項的結果為1*1=1,再乘以H2:H21數組中對應的數字,即符合條件的“實績”,以第一個符合條件的第一條記錄為例,在數組公式運行的第一個回合為SUM(1*1*234),結果當然為234了,然后再依次完成整個數組的運算,我們最終的目的就達到了。

     

      數組公式非常有用,效率也高,但真正的理解、熟練掌握也不是一件很容易的事。但大家記住數組中的數據是一一對應的,放到數組公式中使用時,數組中的數據會按順序依次參與相應的運算。

      希望大家能夠慢慢的理解、貫通。

      出處http://windyli.blog.51cto.com/1300305/313744

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 一区二区三区无码高清视频| 成人无码特黄特黄AV片在线 | 国产在线午夜不卡精品影院| 777米奇色狠狠俺去啦| 精品久久人人妻人人做精品| 97成人碰碰久久人人超级碰oo| 日本亚洲中文字幕不卡| 狠狠躁夜夜躁人人躁婷婷| 精品乱码一区二区三四五区| 人妻丰满AV无码中文字幕| 中文字幕在线精品人妻| 无码人妻久久一区二区三区APP| 亚洲精品日韩精品久久| 精品国产亚洲一区二区三区| 亚洲第一精品一二三区| 国产无套粉嫩白浆在线观看| 和艳妇在厨房好爽在线观看| 免费观看一区二区三区| 香港日本三级亚洲三级| 亚洲A成人片在线播放| 日本高清中文字幕免费一区二区| 久久777国产线看观看精品| 丰满少妇人妻HD高清大乳| 精选国产av精选一区二区三区| 亚洲AV旡码高清在线观看| 视频一区视频二区制服丝袜| 午夜性爽视频男人的天堂| 无码国内精品久久人妻蜜桃| 亚洲欧美日韩成人一区| 国产网友愉拍精品视频手机| 国产成人精品久久综合| 国产在线亚州精品内射| 日本亚洲一区二区精品| 亚欧AV无码乱码在线观看性色| 中文人妻AV大区中文不卡| 国产欧美日韩亚洲一区二区三区| 亚洲中文字幕久久精品无码喷水 | AV激情亚洲男人的天堂| 国产AV无码专区亚洲AV漫画| 人妻系列无码专区免费| 凹凸在线无码免费视频|