發布時間:2025-03-14 文章來源:xp下載站 瀏覽:
辦公軟件是指可以進行文字處理、表格制作、幻燈片制作、圖形圖像處理、簡單數據庫的處理等方面工作的軟件。目前辦公軟件朝著操作簡單化,功能細化等方向發展。辦公軟件的應用范圍很廣,大到社會統計,小到會議記錄,數字化的辦公,離不開辦公軟件的鼎力協助。另外,政府用的電子政務,稅務用的稅務系統,企業用的協同辦公軟件,這些都屬于辦公軟件。 在 Excel 中,Text函數用于把數值或日期按指定格式轉換為文本。當把數值轉為文本時,可保留小數或取整,加上千位分隔符、貨幣符號和百分號,還可把數值用科學記數法表示;當把日期時間轉為文本時,可定義年月日時分秒顯示幾位,也可用相應的英文單詞或其縮寫表示。 在Text函數的格式中,可以帶條件,并且既可帶一個條件又可帶多個條件。另外,在數值和格式參數中都可以使用數組,例如在數值使用 {0,1}、{1,-1}、{-1,1} 等,這種情況常與 Value 和 VlookUp函數組合使用查找指定值。 一、Excel Text函數的語法1、表達式:TEXT(Value, Format_Text) 中文表達式:TEXT(數值, 格式) 2、說明: (1)小數位和整數位的格式 A、占位符 0 與 # 的區別(一個保留 0,另一個舍棄 0)。當保留指定小數位數(如保留兩位小數)時,如果格式中小數點右邊為 0,例如 #.00,當數值沒有兩位小數時,在末尾會顯示 0,如 5.8 保留兩位小數變為 5.80;如果格式中小數點右邊為 #,例如 #.##(或 0.##),當數值沒有兩位小數時,在末尾不會顯示 0,如 5.8 保留兩位小數變為 5.8。 B、占位符 ? 用于補空格。如果要求兩個數位不同的小數的小數點對齊,可以使用 ? 補空格;例如要求 5.8 與 68.48 的小數點對齊,可以把格式定義為 0.0?。 C、小數點左邊的 0 不顯示格式的定義。如果要求小數點左邊的 0 不顯示,可以把格式定義為 #.00,例如 0.25 會變為 .25。 (2)千位分隔符格式 千位分隔符共有三種格式,第一種為 #,###,表示每三位加一個千位分隔符(逗號);第二種為“#,”,表示省略千位分隔符后的數字;第三種為“0.0,”,表示右起第一個千位分隔符后的數字用小數表示并四舍五入。 (3)日期時間格式 A、日期中年的格式有兩種,一種為 yy(僅顯示年份后兩位),另一種為 yyyy(顯示四位年份)。日期中月格式共有五種,一種為 m(省略前導 0),另一種為 mm(顯示前導 0),還有三種為用月份的英文單詞或其縮寫表示。日期中日格式共有四種,一種為 d(省略前導 0),另一種為 dd(顯示前導 0),還有兩種為用周一到周日的英文單詞或其縮寫表示。 B、時分秒的格式都有三種,并且格式表示方法也一樣;例如:小時的格式分別為 h(省略前導 0)、[h](返回小時數超過 24 的時間) 和 hh(顯示前導 0)。 (4)貨幣符號格式 如果要把貨幣符號顯示到數字前,可以在格式中添加相應的貨幣符號;例如:在要數字前顯示元(¥),可以把格式定義為“¥#.00”;¥ 可以用快捷鍵 Alt + 0165(小鍵盤上的數字)輸入,具體輸入方法及其它貨幣符號的輸入方法,請看下文的實例。 (5)百分號格式 數字如果要用百分號(%)表示,可以在格式中加百分號;例如把格式定義為 0.00% 或 0%。 (6)科學記數法格式 科學記數法的格式可以為“0.0E + 0”、“0.0E + 00”或“#.0E + 0”,E(或 e)表示以 10 為底,它右邊的數值表示小數點往左移動的位數。 二、Excel Text函數的使用方法及實例(一)用占位符 0 和 # 保留兩位小數的區別實例 1、雙擊 B1 單元格,把公式 =TEXT(A1,"0.00") 復制到 B1,按回車,返回保留兩位小數的結果 15.85;再把公式 =TEXT(A1,"#.##") 復制到 B2,按回車,同樣返回 15.85;雙擊 A1,把 15.846 改為 15.8,單擊 B1,B1 中的數值變為 15.80,B2 中的數值變為 15.8;操作過程步驟,如圖1所示: 圖1 2、公式說明: A、公式 =TEXT(A1,"0.00") 中,A1 為要保留兩位小數的文本,0.00 為格式,公式的意思是:把 A1 中數值保留兩位小數。 B、公式 =TEXT(A1,"#.##") 的格式為 #.##,也是把 A1 中的數值保留兩位小數;它與格式 0.00 的異同點為:當小數點后有兩位數時,它們都保留兩位;當小數點后只有一個位數時,格式 0.00 會補 0 ,而格式 #.## 會省略 0。 (二)用占位符 ? 補空格的實例 1、假如要使數字位數不同的小數 3.8 與 23.85 的小數點對齊。雙擊 A1 單元格,把公式 =TEXT(A1,"0.0?") 復制到 A1,按回車,返回 3.8;雙擊 B2,把公式 =TEXT(A2,"0.0?") 復制到 B2,按回車,返回 23.35,并且 B1 與 B2 中的數值中的小數點對齊;操作過程步驟,如圖2所示: 圖2 2、公式說明: A、公式 =TEXT(A1,"0.0?") 與 =TEXT(A2,"0.0?") 中的格式同為 0.0?,格式中的半角問號(?)表示補空格,即在 A1 的 3.8 前后分別補一個空格以與 A2 的 23.85 同數位,從而實現小數點對齊。 (三)不顯示小數點左邊 0 的實例 1、雙擊 B1 單元格,把公式 =TEXT(A1,"#.00") 復制到 B1,按回車,返回 .38;雙擊 A1,把 0.38 改為 2.38,B1 中的數值變為 2.38;操作過程步驟,如圖3所示: 圖3 2、公式說明: 從演示可知,當小數點左邊的數小于 1 時,格式 #.00 返回省略小數點左邊 0 的結果;當小數點左邊的值大于等于 1,格式返回保留小數點左邊數值的結果。 (四)小數顯示為分數的實例 1、假如要把 2.5 顯示為分數。雙擊 B1 單元格,把公式 =TEXT(A1,"# 0/0") 復制到 B1,按回車,返回 2 1/2;再次雙擊 B1,把格式 "# 0/0" 改為 "# ?/?",按回車,同樣返回 2 1/2;操作過程步驟,如圖4所示: 圖4 2、公式說明: 當把小數顯示為分數時,可以用格式 "# 0/0" 或 "# ?/?",也就是分子與分母既可以用 0 又可以用 ?。另外,如果分子或分母有多位,可以用多個 0(或 ?),例如把 2.334 顯示為分數,可以用格式 "# ???/???"。 (五)數值顯示為千位分隔符形式的實例 1、假如要給 2380000 加上分隔逗號。雙擊 B1 單元格,把公式 =TEXT(A1,"#,###") 復制到 B1,按回車,返回 2,380,000;雙擊 B1,把格式 "#,###" 改為 "#,",按回車,返回 2380;雙擊 B1,把 "#," 改為 "#.#,",按回車,返回 2380.,雙擊 B1,把 "#.#," 改為 "#.#,,",按回車,返回 2.4;再次雙擊 B1,把 "#.#,," 改為 "0.0,,",同樣返回 2.4;操作過程步驟,如圖5所示: 圖5 2、公式說明: A、格式 "#,###" 表示從數值的個位起每隔三位顯示一個千位分隔符(逗 ,);格式 "#," 表示省略個位到百位的數字并進行四舍五入,如 2380505 會變為 2381。 B、格式 "#.#," 表示省略個位到百位并四舍五入保留一位小數;如演示中的 2380000 變為 2380.(小數點右邊為 # 會省略 0,上面已經介紹過);格式 "#.#,," 表示省略個位到十萬位的數值并四舍五入保留一位小數,如演示中的 2380000 變為 2.4;格式 "0.0,," 與 "#.#,," 相同。 (六)日期格式的實例 1、雙擊 B1 單元格,把公式 =TEXT(A1,"yy-m-d") 復制到 B1,按回車,返回 19-1-25;雙擊 B2,把公式 =TEXT(A1,"yyyy-mm-dd") 復制到 B2,按回車,返回 2019-01-25;雙擊 B3,把公式 =TEXT(A1,"yyyy-mmm-ddd") 復制到 B3,按回車,返回 2019-Jan-Fri;雙擊 B4,把公式 =TEXT(A1,"yyyy-mmmm-dddd") 復制到 B4,按回車,返回 2019-January-Friday;操作過程步驟,如圖6所示: 圖6 2、公式說明: A、格式 "yy-m-d" 中,yy 表示年顯示兩位,m 和 d 表示月和日都顯示一位;"yyyy-mm-dd" 中,yyyy 表示年顯示四位,mm 和 dd 表示月和日都顯示兩位,若為單個數字,則用 0 補充。 B、格式 "yyyy-mmm-ddd" 中,mmm 表示月用月份的英文單詞縮寫顯示,ddd 表示日用周一至周日的英文單詞縮寫顯示,如演示中返回 2019-Jan-Fri,Jan 是一月英文單詞的縮寫,Fri 是星期五英文單詞的縮寫。 C、格式 "yyyy-mmmm-dddd" 中,mmmm 表示月用月份的英文單詞顯示,日用周一至周日的英文單詞顯示,如演示中返回 2019-January-Friday,January 是一月的英文單詞,Friday 是星期五英文單詞。 3、如果要在日期中顯示中文的年月日,公式可以這樣寫:=TEXT(A1,"yyyy年mm月dd日"),也就是說日期格式中的間隔符(如 -)可以自定義。 (七)時間格式的實例 1、雙擊 B1 單元格,把公式 =TEXT(A1,"h:m:s") 復制到 B1,按回車,返回 15:6:9;雙擊 B2,把 =TEXT(A1,"hh:mm:ss") 復制到 B2,按回車,返回 15:06:09;雙擊 A4,輸入 23:66,雙擊 B4,把公式 =TEXT(A4,"[h]:mm") 復制到 B4,按回車,返回 24:06;雙擊 B5,把公式 =TEXT(A5,"[m]:ss") 復制到 B5,按回車,返回 119:06;雙擊 B6,把公式 =TEXT(A6,"[s].00") 復制到 B6,按回車,返回 7146.50;操作過程步驟,如圖7所示: 圖7 2、公式說明: A、格式 "h:m:s" 表示時分秒只顯示一位;"hh:mm:ss" 表示時分秒都顯示兩位,若只有一位,則用 0 補充。 B、格式 "[h]:mm" 中的 [h] 表示以小時為單位顯示時間,它能返回小時數超過 24 的時間,如演示中的 23:66(23時66分)返回 24:06(24小時06分);"[m]:ss" 中的 [m] 表示以分鐘為單位顯示時間,它能返回分鐘數超過 60 的時間,如演示中的 1:59:06 返回 119:06(119分鐘06分);"[s].00" 中的 [s] 表示以秒為單位顯示時間,它能返回秒數超過 60 的時間,如演示中的 01:59:06.5 返回 7146.50(7146秒50毫秒)。 3、如果時間要用上午(AM)或下午(PM)表示,公式可以這樣寫:=TEXT(A7,"hh:mm AM/PM")。 (八)在數值前添加貨幣符號的實例 1、假如要給“價格”列添加元符號(¥)。雙擊 E2 單元格,輸入公式 =TEXT(C2,"¥0.0"),按回車,返回 ¥5.0;選中 E2,把鼠標移到 E2 右下角的單元格填充柄上,鼠標變為加號后,雙擊左鍵,則剩余價格也都加上 ¥;操作過程步驟,如圖8所示: 圖8 2、公式說明: A、元符號(¥)的輸入方法,按住 Alt,再按小鍵盤上的 0165,輸完數字后放開 Alt;注意:一定要關閉中文輸入法,且不是按 Shift 關閉,而是把中文輸入法退出,如右鍵中文輸入法,然后選擇“退出或關閉”;否則將無法輸入 ¥。 B、其它貨幣符號的輸入快捷鍵為:美元 $(Shift + 4),美分 ¢(Alt + 0162),英鎊 £(Alt + 0163),歐元 €(Alt + 0128);需要按住 Alt 的,數字都要從小鍵盤輸入,輸入方法輸入元符號(¥)一樣。 (九)顯示百分號(%)的實例 1、雙擊 B1 單元格,把公式 =TEXT(A1,"0.00%") 復制到 B1,按回車,返回 36.54%;選中 B1,把鼠標移到 B1 右下角的單元格填充柄上,鼠標變為加號后,雙擊左鍵,則剩余數值也加上 %;操作過程步驟,如圖9所示: 圖9 2、公式說明: 公式 =TEXT(A1,"0.00%") 中格式為 "0.00%",意思是把數值保留兩位小數且加上百分號;從演示可知,無論是小數還是整數都擴大了 100 倍并加上百分號且都保留了兩位小數。 (十)用科學記數法表示的實例 1、雙擊 B1 單元格,把公式 =TEXT(A1,"0.0E+0") 復制到 B1,按回車,返回 5.8E+9;雙擊 B2,把同一公式復制到 B2,在 0.0E+0 后輸入一個 0,按回車,返回 5.8E+09;雙擊 B3,把公式 =TEXT(A3,"0.0E+0") 復制到 B3,按回車,返回 5.7E+8;雙擊 B4,把 B3 中的公式 復制到 B4,再把小數點前的 0 改為 #,按回車,也返回5.7E+8;操作過程步驟,如圖10所示: 圖10 2、公式說明: A、公式 =TEXT(A1,"0.0E+0") 與 =TEXT(A1,"0.0E+00") 區別在于格式中加號(+)后少一個 0 與多一個 0,其實就是定義指數不足兩位時是否顯示前導 0。 B、公式 =TEXT(A3,"0.0E+0") 與 =TEXT(A3,"#.0E+0") 返回一樣的結果,而它們的區別為:前者小數點前用 0 表示,后者小數點前用 # 表示,說明格式中,小數前既可用 0 又可用 #。 C、從對 A1 和 A3 返回的結果可知,在用科學記數法表示時,會自動四舍五入。 三、Excel Text函數的擴展應用實例(一)用占位符 # 和 * 把數字轉為文本并取整 1、假如要把銷量轉文本并取整。雙擊 E2 單元格,把公式 =TEXT(D2,"#*,") 復制到 E2,按回車,返回 2686;用雙擊單元格填充柄的方法把其它數值轉為文本并取整;操作過程步驟,如圖11所示: 圖11 2、公式 =TEXT(D2,"#*,") 說明: 格式 "#*," 中的 # 表示數字,* 表示任意多個字符,“,”是千位分隔符,"#*," 表示把所有數字轉為文本且僅保留整數并進行四舍五入。 (二)格式帶條件 1、假如要求把銷量大于 0 的顯示銷量,銷量等于 0 或為空的顯示 0。雙擊 E2 單元格,把公式 =TEXT(D2,"[>"&$D$4&"]0") 復制到 E2,按回車,返回 892;用雙擊單元格填充柄的方法返回剩余的結果;再雙擊 F2,把同一公式復制到 F2,然后在格式后輸入“;零”,按回,也返回 892,把鼠標移到 F2 右下角的單元格填充柄上,鼠標變為加號后,按住左鍵并往下拖,則返回剩余單元格的結果;操作過程步驟,如圖12所示: 圖12 2、公式 =TEXT(D2,"[>"&$D$4&"]0") 說明: A、$D$4 為 0,$ 表示對列和行的絕對引用,以確保往下拖時,D4 不會變為 D5、D6 等。 B、則格式 "[>"&D4&"]0" 變為 "[>0]0",[>0] 為條件,0 為滿足條件時顯示的值,且格式中的 0 為占位符而不是指 0 本身。 C、則公式變為 =TEXT(D2,"[>0]0"),意思是,如果 D2 大于 0,顯示占位符 0(即 D2),否則默認顯示 0(若再定義一個值,則顯示該值),這一點可以從公式 =TEXT(D2,"[>"&$D$4&"]0;零") 得到印證,當公式在 F2 時, D2 大于 0,它返回 D2 中的值 892;當公式在 F4 時,D4 為 0,它返回“零”。 D、另外,格式 "[>0]!0" 在后一個 0 前加 ! 后,意思恰好與 "[>0]0" 相反,意思是,如果 D2 大于 0,不顯占位符 0,而顯示 0。 (三)兩種正負數、0、空單元格與文本格式的比較 1、假如要求正數保留一位小數、負數顯空、0 和空單元格顯示 0、文本顯示 0 或其本身。雙擊 B2 單元格,把公式 =TEXT(A2,"0.0;;0;!0") 復制到 B2,按回車,返回 2.0;選中 B2, 把鼠標移到 B2 右下角的單元格填充柄上,鼠標變粗體紅色加號后,雙擊左鍵,則返回剩余單元格的結果;雙擊 C2,把同一公式復制到 C2,把公式中“;!0" ”刪除,按回車,同樣返回 2.0,也用往下拖的方法返回其它結果;操作過程步驟,如圖13所示: 圖13 2、公式說明: A、格式 "0.0;;0;!0" 共定義的四種格式,第一種“0.0;”表示把正數保留一位小數;第二種“;”表示把負數顯示為空文本;第三種“0;”表示把 0 和空單元格返回 0;第四種“!0”表示把文本轉為 0,這一點從公式 =TEXT(A7,"0.0;;0;!0") 與 =TEXT(A7,"0.0;;0") 對 A7 的返回值可知,有“!0”的返回 0,無“!0”返回 excel。 B、另外,如果數值中沒有文本,可以不用 “!0”,直接用公式 =TEXT(A7,"0.0;;0") 即可。 (四)條件范圍格式 1、假如要求銷量大于等于 3000 與小于 2000 的顯示數值,其它的顯示空文本。雙擊 E2 單元格,把公式 =TEXT(D2,"[>=3000]0;[<2000]0;;") 復制到 E2,按回車,返回空文本;用雙擊單元格填充柄的方法返回剩余數值的結果;雙擊 F2,把公式 =TEXT(D2,"[>=3000]高;[<2000]低;中") 復制到 F2,按回車,返回“中”,再雙擊 F2 的單元格填充柄返回其它結果;操作過程步驟,如圖14所示: 圖14 2、公式說明: A、公式 =TEXT(D2,"[>=3000]0;[<2000]0;;") 中,格式由四部分組成,“[>=3000]0;”表示大于等于 3000 的顯示數值,0 為占位符;“[<2000]0;”表示小于 2000 的顯示數值;“;”表示 2000 到 3000 的顯示空文本。 B、=TEXT(D2,"[>=3000]高;[<2000]低;中") 與 =TEXT(D2,"[>=3000]0;[<2000]0;;") 一樣,只不過用顯示文字來代替數值。 提示:如果要顯示特殊符號(如:占位符 0、#、*、!、@、E、e、/)需要加半角感嘆號(!),否則會返回數值或值錯誤 #VALUE!,演示如圖15所示: 圖15 (五)數值為數組 {0,1} 或 {-1,1} (1)格式為兩個單值 1、雙擊 F2 單元格,把公式 =TEXT({0,1},D2&";"&E2) 復制到 F2,按回車,返回 80;雙擊 F2,把 0 改為 1,按回車,返回 81;選中 F2,把鼠標移到 F2 右下角的單元格填充柄上,鼠標變為 + 后,按住左鍵并拖到 F3,F3 返回 82;雙擊 F2,把左邊的 1 改為 5,按回車,返回 85;雙擊 F2,把 5 改為 1,1 改為 -1,按回車,返回 81;雙擊 F2,把 1 改為 -1,-1 改為 1,按回車,返回 892;再次雙擊 F2,把 E2 改為 B2,按回車,返回“粉紅襯衫”;操作過程步驟,如圖16所示: 圖16 2、公式說明: (A)=TEXT({0,1},D2&";"&E2) A、公式中,{0,1} 為數值參數,它是一個只有兩個元素的數組;D2&";"&E2 為格式參數,它由 D2、";" 和 E2 連接而成;數組 {0,1} 中的 0 是占位符而不是 0 本身。 B、公式為什么只返回 D2(即 80)而沒有返回 E2?首先,在 {0,1} 中,0 與 D2 對應,1 也與 D2 對應,因為數組中的元素大于 0 時都與 D2 對應,只有元素小于 0 才與 E2 對應,因此沒有返回 E2;而 0 又是占位符,因此返回 80;其次,由于要返回一個數組需把 =TEXT({0,1},D2&";"&E2) 放在引用的函數中,否則只返回第一個值,所以沒有返回與 1 對應的值,具體見下文的“格式為數組”。 (B)=TEXT({1,1},D2&";"&E2) 與 =TEXT({5,1},D2&";"&E2) A、同樣數組 {1,1} 中,兩個 1 都與 D2 對應,也只返回 D2,但為什么返回 81,而不是返回 80?當 D2 為數值型且 D2 個位為 0 時,{1,1}中的 1 會與 D2 相加,否則{1,1}中的 1 不會與 D2 相加,因此返回 81,這一點可以從演示中的把 F2 往下拖到 F3 得到印證,因為 D3(82)并未返回 83。 B、另外,當 D2 為文本時,若 0 在數字的右邊,則 1 會替換 0,如 130 變 131;若 0 在數字的左邊,1 也會替換 0,如 013 變 113;若數字左右兩邊都有 0,則 1 只替換右邊的 0,如 0130 變 0131;演示如圖17所示: 圖17 C、當數組 {5,1} 中第一個元素為 5 時,D2 同樣會加上 5,其它的以此類推。 (C)=TEXT({1,-1},D2&";"&E2) 與 =TEXT({-1,1},D2&";"&E2) A、數組 {1,-1} 中,1 與 D2 對應,-1 與 E2 對應;而 {-1,1} 中,-1 也與 E2 對應,1 與 D2 對應,由于 -1 作為數組的第一個元素,因此返回 E2(即 892)。 B、提示:如果 E2 為 890,則 890 同樣會加 1 而變為 891,由此可知,當 -1 為數組第一個元素時,D2 會與 E2 調換位置,并且會用 -1 的絕對值 與 E2 相加,若想進一步了解,可以看下文的“格式為數組”;如果 E2 為文本,則與 D2 為文本的情況相同。 (D)=TEXT({-1,1},D2&";"&B2) 格式中的 B2 為文本,返回值為文本(即“粉紅襯衫”),說明格式中引用的單元格為文本時,Text函數返回其自身。 (2)格式為數組 1、假如要查找價格為 198 對應的銷量。雙擊 F2 單元格,把公式 =IFERROR(VLOOKUP(198,--TEXT({0,1},D2:D8&";"&E2:E8),2),"") 復制到 F2,按 Ctrl + Shift + 回車,返回 198;雙擊 F3,把公式 =IFERROR(VLOOKUP(198,--TEXT({1,-1},D2:D8&";"&E2:E8),2),"") 復制到 F3,按 Ctrl + Shift + 回車,返回 781;雙擊 F4,把公式 =IFERROR(VLOOKUP(198,--TEXT({-1,1},D2:D8&";"&E2:E8),1),"") 復制到 F4,按 Ctrl + Shift + 回車,返回空文本;操作過程步驟,如圖18所示: 圖18 2、公式說明: (A)=IFERROR(VLOOKUP(198,--TEXT({0,1},D2:D8&";"&E2:E8),2),"") A、D2:D8 以數組形式返回 D2 至 D8 中的值,即返回 {"80";"82";"88";"90";"89";"80";"198"}; E2:E8 與 D2:D8 是一個意思,它返回{"892";"762";"850";"982";"700";"528";"780"}。 B、D2:D8&";"&E2:E8 變為 {"80";"82";"88";"90";"89";"80";"198"}&";"&{"892";"762";"850";"982";"700";"528";"780"},公式執行時,第一次分別從兩個數組中取出第一個元素并把它們連接起來,即 "80;892";第二次分別從兩個數組中取出第二個元素,同樣把它們連接起來,即 "82;762";其它的以此類推,最后返回 {"80;892";"82;762";"88;850";"90;982";"89;700";"80;528";"198;780"}。 C、則 TEXT({0,1},D2:D8&";"&E2:E8) 變為 TEXT({0,1},{"80;892";"82;762";"88;850";"90;982";"89;700";"80;528";"198;780"}): 第一次執行:從格式數組取出第一個元素 "80;892" 首先從 {0,1} 取出 0,由于{0,1}中的元素大于 0 只返回格式數組每個元素左邊的元素(如只返回第一個元素 "80;892" 中 80,而不返回 892);又因為{0,1}中第一個元素 0 為占位符,因此返回 80。 其次,從 {0,1} 取出 1,因為 1 也與 80 對應,又因為{0,1}中的元素大于 0 且格式數組個位為 0 時,返回{0,1} 中的值 + 格式數組中的值,所以返回 80 + 1,即返回 81。 第二次執行:從格式數組取出第二個元素 "82;762" 首先從 {0,1} 取出 0,同理返回 82。 其次,從 {0,1} 取出 1,又因為 82 的個位不是 0,所以不加 1,因此返回 82。 其它的以此類推,最后返回 {"80","81";"82","82";"88","88";"90","91";"89","89";"80","81";"198","198"}。 D、則 --TEXT({0,1},D2:D8&";"&E2:E8),2) 變為 --{"80","81";"82","82";"88","88";"90","91";"89","89";"80","81";"198","198"},接著把數組中的元素由文本轉為數值,-- 相當Value函數,作用是把文本轉為數值,最后返回 {80,81;82,82;88,88;90,91;89,89;80,81;198,198}。 E、則公式變為 =IFERROR(VLOOKUP(198,{80,81;82,82;88,88;90,91;89,89;80,81;198,198},2),""),進一步計算,用 VLookUp 在數組第一列(逗號 , 左邊的列)查找 198,在最后一行找到,然后返回與 198 在第二列對應的值 198。 F、IfError函數的作用為:如果 VLookUp 返回正確的值,IfError 返回該值,否則 IfError 返回空。 (B)=IFERROR(VLOOKUP(198,--TEXT({1,-1},D2:D8&";"&E2:E8),2),"") 公式與上面的公式是一個意思,只是數組 {1,-1} 不同,下面只分析該數組: A、由上面的分析可知,D2:D8&";"&E2:E8 返回 {"80;892";"82;762";"88;850";"90;982";"89;700";"80;528";"198;780"}。 B、則 TEXT({1,-1},D2:D8&";"&E2:E8) 變為 TEXT({1,-1},{"80;892";"82;762";"88;850";"90;982";"89;700";"80;528";"198;780"}) 第一次執行:從格式數組中取第一元素 "80;892" 首先從{1,-1} 中取出 1,由于 1 對應 80,因此返回 80 + 1,即返回 81;其次從{1,-1} 中取出 -1,由于 -1 對應 892,因此返回 892。 第二次執行:從格式數組中取第二元素 "82;762" 首先從{1,-1} 中取出 1,由于 1 對應 82,因此返回 82;其次從{1,-1} 中取出 -1,由于 -1 對應 762,因此返回 762。 其它的以此類推,最后返回 {"81","892";"82","762";"88","851";"90","982";"89","701";"81","528";"198","781"}。 (C)=IFERROR(VLOOKUP(198,--TEXT({-1,1},D2:D8&";"&E2:E8),1),"")(格式{1,-1}與{-1,1}的區別) 由上面分析可知,TEXT({-1,1},D2:D8&";"&E2:E8) 變為 第一次執行:從格式數組中取第一元素 "80;892" 首先從{-1,1}中取出 -1,由于 -1 對應 892,因此返回 892;其次從{-1,1}中取出 1,由于 1 對應 80,因此返回 80 + 1,即返回 81。 第二次執行:從格式數組中取第二元素 "82;762" 首先從{-1,1}中取出 -1,由于 -1 對應 762,因此返回 762;其次從{-1,1}中取出 1,由于 1 對應 82,因此返回 82。 其它的以此類推,最后返回 {"892","81";"762","82";"851","88";"982","91";"701","89";"528","81";"781","198"}。 從以上分析可知,格式{1,-1}與{-1,1}的區別為:當 -1 在右邊時,格式數組每個元素的右邊值返回到右邊,相當于 if{0,1};當 -1 在左邊時,格式數組每個元素右邊值返回到左邊,相當于 if{1,0};有關 if{1,0},請參數《Excel VLookUp怎么用If或If{0,1}實現兩個或三個條件的多條件查找》一文。 Office辦公軟件是辦公的第一選擇,這個地球人都知道。 |