為什么你明白某個函數但還是看不懂別人的公式?
很簡單,不外乎4個原因:
一、公式各參數用法沒懂全;
二、公式中的運算式(含邏輯運算)沒弄懂;
三、公式中的數組你不懂;
四、嵌套了其他你不懂的函數。
第1、4個原因,可以看Excel的函數幫助信息解決;
請看看下面這個不含任何函數的Excel公式:
=((4^(1/2)+1<>1&2)+8^1/2)&((4>3)+1)&( (2*-10%&2)+0.22)
如果你不用Excel,不百度,不問他人,就能說出公式的正確答案,那你就不用繼續往下看了;如果你無法得出正確答案,那請跟著來了解一下Excel的運算符號和運算規則吧。
最常見的函數,比如IF、SUM、VLOOKUP等,每一個函數把它想象成是一種特殊的計算器,每一個計算器都有自己的計算規則,大家可以根據工作的需要選擇不同的函數。
雖然計算規則不同,但是它們中包含的運算符都是一樣的,分成3類:
算術運算符
算術運算符:+、-、*、/、^、%
前面四個分別是加、減、乘、除,就和小學老師教的一樣,就不多說了。
^是指數運算,比如3^2=9,當第二個數據是分數時,就相當于開根號,比如9^(1/2)=3。
%相當于除以100,大家會發現很多函數高手的公式是這樣寫的:sum(1,2)%,含義就是1加2除以100,結果就是0.03。
運算優先級是:先^和%,再*和/,最后+和-
文本運算符
文本運算符:&,又叫連接符。
參與文本運算后返回的結果為文本類型。常用于合并兩列數據。
如下圖所示的兩列數據
在C1單元格輸入公式=A1&B1,雙擊向下填充。
可以看到填充公式后的結果。
在excel表格中,默認數據靠右,文本靠左,而上圖中C1單元格的12是由文本運算符連接所得,此時是文本類型的數字,一般情況下在函數公式中無法進行運算。
下面來試驗一下,在D1單元格輸入公式=SUM(B1,C1),得到的結果為2。
在E1單元格輸入公式=B1+C1,結果卻為14。
當把sum函數里默認的逗號改為加號時,也得到了正確結果。大家可以嘗試一下,改為其他的算數運算符,12也會被當做數字進行運算。
由上可得:一般情況下文本類型的字符在函數中會被忽略,但是當在函數中手動加上算數運算符或比較運算符時,文本類型的數字就會被當做數字進行運算。
前面有說,函數就像是一種特殊的計算器,這個計算器并沒有那么智能,遇到文本類型的數字它會認為文本不需要計算,就比如一個字,還計算什么呢,但是當我們手動輸入公式或者在函數中加上算數運算符或比較運算符時,就相當于在告訴excel,這個文本型數字就是數字,我需要將它作為數字進行計算,所以就可以得到結果。
(上面的總結大家默讀三遍,很多函數新手寫出的公式出現錯誤都是因為公式中有文本型的數字)
還有一點需要注意的是,上面的操作都是直接引用的單元格,在公式中手動輸入文本的時候還需要給文本加雙引號。
如下所示,在C1單元格輸入=1&2,得到的結果依然是12。
但在C2單元格輸入=123&木頭人,結果卻出現了錯誤。
當把木頭人三個字加上英文雙引號時,就得到了正確的結果。
由上可得:公式中引用單元格或者輸入數字不需要加雙引號,在輸入文本時必須加英文雙引號。這是因為文本在公式中,excel會默認為你引用了自定義單元格名稱(這個大家還記得嗎?上次的《3個小招讓數據有效性更高效》中,就使用了公式—定義名稱),這個時候,excel就會自動去找是否有名稱是木頭人的單元格區域,沒找到,所以返回了“#NAME?”。
(上面的總結大家默讀三遍,很多函數新手寫出的公式出現錯誤都是因為公式中有文本沒加英文引號。)
比較運算符
比較運算符:>、<、=、>=、<=、<>
大家需要注意的是,比較運算符得到的結果是邏輯值。true代表結果為真,在數學運算時表示1;false代表結果為假,在數學運算時表示0。
如下圖所示,在D1單元格輸入=5>3時,結果為true。
在D2單元格輸入=3>5時,結果為false。
其中>=和<=表示的是大于或等于,小于或等于,滿足任何一個就返回true。如下圖所示。
很多初學函數的小伙伴理解不了<>,同樣可以理解為大于或者小于,滿足任何一個返回true。其實大于或小于就是不等于的意思,只要不相等就返回true,如下圖所示。
上面所說的三種運算符,運算優先級是:先算數運算符,再文本運算符,最后比較運算符。當需要改變計算順序時,就加括號。