追蹤
Excel Trump 知識+ 知識名人
關於部落格
分享 Excel 功能、公式、函數、密技、線上教學...
  • 1364787

    累積人氣

  • 545

    今日人氣

    3

    追蹤人氣

理解=CHOOSE(MATCH("~"&F4,{"A","B","C","*"},0),8.5,8.5,4,0)



■ 公式中使用 ~ 特殊符號意義:

  1. 在「尋找及取代」與「公式」中,若要搜尋特殊符號(如:*, ?, !, ~ 等),則在前面需加上一個 ~ 符號當成前導記號,才能搜尋得到正確的結果。
  2. 在例一中若要計算具有 * 號的儲存格個數, B3 公式設為 =COUNTIF(A3:A9,"*") ,計算結果為 6 ,這是因為 A3:A9 儲存格範圍中有 6 個「文字資料」型態的儲存格,而非 2 個 * 號的儲存格。
  3. 若要正確計算 * 號儲存格個數,則需將公式略為修改成 B4 公式 =COUNTIF(A3:A9,"~*"),計算結果傳回 2。從這個例一中我們不難發現 ~ 前導記號的用途了。

關於 COUNTIF 函數更多用法,請參閱筆者日前說明:
http://tw.knowledge.yahoo.com/question/question?qid=1007102501695


■ 公式中使用 { } 意義:

這要分成兩部份來說明:

  • 陣列公式:(註)
  1. 如 B13 儲存格公式為 {=SUM(LARGE(A13:A18,{1,2,3}))} ,最外一層的 { } 是指「陣列公式」,這不是自己輸入的,而是需在公式完成時同時按下 Ctrl + Shift + Enter 所產生的符號。
  2. 很多論壇(書籍或 Excel 說明檔)為了區分「陣列公式」與「陣列常數」之間的差別,往往把輸入公式完成時,同時按下 Ctrl + Shift + Enter 者稱為「陣列公式」。
  • 陣列常數:
  1. 在公式中有使用 { } 括弧住數值、儲存格、或其他函數者,稱為「陣列常數」。
  2. 這個 { } 符號需要由使用者自行輸入。 例二公式中的 {1,2,3} 就是陣列常數的一種表示方法。

註:何謂陣列公式?

  1. 陣列公式:針對一或多組值執行多個計算,然後傳回單一結果或多個結果的公式。
  2. 陣列公式與一般公式不同的地方在於,一般公式輸入完成時是按 Enter 按鍵,而陣列公式完成時需要同時按下 Ctrl + Shift + Enter 。
  3. 陣列公式括在大括弧 { } 中,且藉由按 CTRL + SHIFT + ENTER 輸入。或將筆者提供之公式複製到空白工作表後,請選取儲存格。按 F2,然後按 CTRL + SHIFT + ENTER。
  4. 如果不是輸入陣列公式,系統會傳回錯誤 #VALUE! 訊息或傳回不正確的計算結果。

參考資料: http://office.microsoft.com/zh-tw/excel/HP051983191028.aspx?pid=CH010037001028


■ CHOOSE 函數

- 意義:根據所指定的索引值,傳回引數串列中對應引數的值,或是執行動作。

- 語法:CHOOSE(index_num,value1,value2,...)

翻成中文為 CHOOSE(索引值,對照值1,對照值2,...)

也就是除了第一個引數之外,其餘引數皆為對應值(為了方便解說,以下簡稱為「對照表」)


■ MATCH 函數

- 意義:根據指定的比對方式,在一陣列與索引值相符之項目的相對應位置

- 語法:MATCH(lookup_value,lookup_array,match_type)

翻成中文為 MATCH(索引值,對照表,索引方式)


■ 例三:

  1. 有了上面 CHOOSE 與 MATCH 函數的認識之後,接下來看這兩個公式:
  2. G10 =MATCH(F10,F2:F6,0)
  3. G11 =MATCH( "~*",F2:F6,0)
  4. G10 傳回的是第幾個出現「文字資料」,計算結果為 2;而不是如我們所預期的第幾個 * 號位置
  5. G11 傳回的才是第幾個出現 * 號的位置,計算結果為 5,這就是我們要的

由上述兩點說明中,不難理解 ~ 符號當作前導記號的用途了。


■ 例四:理解公式中 { } 運算字元(符號)的用法

  1. 從 G15 儲存格中我們可以看到第二個引數是參照 F3:F6 儲存格範圍
  2. G16 則是將 F3:F6 改為「陣列常數」表示
  3. 公式中「陣列常數」的用途之一,就是將原本需要建立「對照表」資料部份,直接輸入在公式中,而無須建立「對照表」的用法。

■ 例五:理解全部公式

  1. 請參考例一、例三中的說明,若未加上 ~ 前導記號時, MATCH 函數找 * 號時,會找對象是「第一次出現『文字』資料的位置」。
  2. 因此必須加上 ~ 符號當前導記號,才能正確找出 * 號的相對應位置。
相簿設定
標籤設定
相簿狀態