1. 程式人生 > >Excel 2007綜合班Ⅱ-16203班第三課時小結

Excel 2007綜合班Ⅱ-16203班第三課時小結

先說題外話,第一節的時候,木蘭老師說話真的好快,不過後面就不知道是適應了,還是語速變慢了,第二節第三節就好多了。       
       
然後開始小結       
       
第一節:vloopup函式       
在學習這個課程之前,對函式真的不瞭解,但是在做課前練習的時候,知道了這個強大的函式。       
       
在Excel的幫助文件中,這個是這麼函式是這麼介紹的。
  1. VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])VLOOKUP 函式語法具有下列引數 (引數:為操作、事件、方法、屬性、函式或過程提供資訊的值。):
  2. lookup_value  必需。要在表格或區域的第一列中搜索的值。lookup_value 引數可以是值或引用。如果為 lookup_value 引數提供的值小於 table_array 引數第一列中的最小值,則 VLOOKUP 將返回錯誤值 #N/A。
  3. table_array  必需。包含資料的單元格區域。可以使用對區域(例如,A2:D8)或區域名稱的引用。table_array 第一列中的值是由 lookup_value 搜尋的值。這些值可以是文字、數字或邏輯值。文字不區分大小寫。
  4. col_index_num  必需。table_array 引數中必須返回的匹配值的列號。col_index_num 引數為 1 時,返回 table_array 第一列中的值;col_index_num 為 2 時,返回 table_array 第二列中的值,依此類推。
  5. 如果 col_index_num 引數:
  6. 小於 1,則 VLOOKUP 返回錯誤值 #VALUE!。
  7. 大於 table_array 的列數,則 VLOOKUP 返回錯誤值 #REF!。
  8. range_lookup  可選。一個邏輯值,指定希望 VLOOKUP 查詢精確匹配值還是近似匹配值:
  9. 如果 range_lookup 為 TRUE 或被省略,則返回精確匹配值或近似匹配值。如果找不到精確匹配值,則返回小於 lookup_value 的最大值。
  10. 要點  如果 range_lookup 為 TRUE 或被省略,則必須按升序排列 table_array 第一列中的值;否則,VLOOKUP 可能無法返回正確的值。
  11. 有關詳細資訊,請參閱對區域或表中的資料進行排序。
  12. 如果 range_lookup 為 FALSE,則不需要對 table_array 第一列中的值進行排序。
  13. 如果 range_lookup 引數為 FALSE,VLOOKUP 將只查詢精確匹配值。如果 table_array 的第一列中有兩個或更多值與 lookup_value 匹配,則使用第一個找到的值。如果找不到精確匹配值,則返回錯誤值 #N/A。
複製程式碼

微軟的所有的幫助檔案,都是非常給力的,以前學VC,用VS的時候,基本上查MSDN就可以解決大部分問題,學Excel的時候也差不多,基本上看一個各個函式的幫助檔案,大致的用法啥也,也都可以瞭解清楚。       
       
最開始看到這個函式的時候,以為近似匹配值是指模糊查詢的意思,用了之後才知道原來不是,是類似於區間查詢的意思。       
       
看到模糊查詢的時候,就讓我想到了lookup函式,第二課時的時候有講到過,貌似有類似的用法。       
       
於是搜尋了一下網上,看到問這個問題的人,真的不少。       
       
看到一個寫得不錯的區別,       
1、Vlookup()函式的最大優點就是可以在明細資料無序的前提下進行查詢(但第4個引數必須使用0或False),Lookup()函式就不行。       
2、Lookup()函式的最大優點則是可以對資料從左向右、從右向左、從上到下和從左到右查詢,而Vlookup()查詢條件只能是左邊首列,只能是從左向右查詢。       
下面的講法是在明細資料排序為前提的:如果明細資料已經排序,那麼Vlookup()和Lookup()這兩個函式我們都可以使用;       
3、如果明細資料包含重複記錄,那麼在升序排列的情況下,使用Lookup()函式可以返回重複記錄的最後一條,而Vlookup()則可以返回第一條記錄;       
4、由於Vlookup()函式的第3個引數是指定返回的列標,對於多列的資料確定列數就很麻煩,我們可以用Lookup()來代替Vlookup();       
5、前面提到Vlookup()只能向右查詢,如果我們查詢條件在右,返回資料在左的話,除了用Index()+Match()來實現外,還可以使用Lookup()來實現。       
        
補充說明:       
6、Lookup()函式的最缺點就是資料必須升序排列,而且都是近似查詢,如果被查詢值在範圍中不存在,它將返回最接近的值。       
7、Vlookup()支援萬用字元的近似查詢,但Lookup()則不行。       
8、前面提到Vlookup()函式第3個引數是偏移列數,但如果我們有時需要相隔固定的列數進行偏移時,那麼用Lookup()函式就不太好處理,這時就最好用Vlookup()函數了。       
       
然後是trim函式       
說明是:除了單詞之間的單個空格外,清除文字中所有的空格。在從其他應用程式中獲取帶有不規則空格的文字時,可以使用函式 TRIM。       
        也就是去首尾空格的意思。
然後是IFERROR函式       
介紹說是07新增的,確實很好用的,因為處理資料的時候,一般都是需要返回一個有效的顯示值,就算算出來的結果不對,也需要顯示一定的內容,這時候這個函式就顯得特別有用了。       
最後是Row和COLUMN,雖然很簡單,但是在公式運用中,作用卻很大。記住就好了。       
       
第二節:index match       
不知道具體要怎麼說,只是覺得這兩個函式配合起來用,很靈活,尤其是match函式,複雜一點的公式裡面,基本上都可以看到它的身影。       
match的使用非常地廣泛,最近在研究各種排序的時候,發現到處是match呀,哎       
       
第三節:雙條件查詢       
這一節用到的也是前面的函式,但是學到了一個小技巧,如果兩段文字加起來會有重複的話,中間加一個特別的字元就好了       
然後做作為的時候,非常傻的中間加了一個?,然後結果怎麼就是不對,才想起來,加?或者*,是為了模糊查詢的。       
       
第四節:查詢引用函式例項       
這一節主要學到了兩件事情       
第一件事情,就是很多陣列公式裡面的東西,是怎麼快捷輸入的       
第二件事情,就是之前班魔很神奇的各種%,原來是課裡面會教的       
其它的,因為只是介紹運用,也沒啥特別好說的,然後就準備交我的成果物了哈       
       
課是越來越難了,也越來越有意思了,這三次的課確實讓人獲益良多。