9E307在Excel中還能這么用?(excel 9e+307)
手機如何做表格:點擊查看
今天給大家聊一個數字:9E307,完整的表述是9E+307。在Excel里它屬于科學計數法,表示9*10^307,是一個非常接近Excel能夠容納的最大數值的數值。
那這東西有啥用呢?
打個響指,我舉幾個小例子。
如下圖所示,B2:B9區域內存在錯誤值,現在需要在B10單元格求和。
有的朋友會直接使用SUM函數:
=SUM(B2:B9)
結果會返回一個錯誤值,這是由于SUM函數不會忽視錯誤值,一旦求和范圍內存在,就會返回錯誤值自身——傳說中的一見楊過誤終身。
有朋友說,這事簡單啊,可以把SUM函數改成下面這樣:
=SUM(B2,B4:B6,B8:B9)
小拳拳捶你胸口,你真的好棒棒哦~
……
正確的解答公式是使用SUMIF函數:
=SUMIF(B2:B9,”<9E307″)
SUMIF省略了第3參數求和區域,也就默認使用第1參數的條件區域作為求和區域,求和的條件是小于數值9E307,也就是對所有的數值進行求和。
如下圖所示,如果需要查詢A列最后出現的數值。
這個問題最佳公式是使用LOOKUP函數。
A列最后出現的數值
=LOOKUP(9E+307,A:A)
這是LOOKUP一個固定的套路,當查找值大于查找范圍內所有的同類型值時,固定返回最后的同類值。
9E307是一個極大的數值,所以上述公式會固定返回A列最后出現的數值。
把這個套路延伸一下,可以解決兩個常見的問題。
如下圖所示,A1:M8是數據明細,需要在N列查詢每個人最后考評的月份。
所謂最后考評的月份,也就是最后出現數值的月份。
比如,A2單元格的看見星光,最后考評的月份是3月(3月就辭職去看奧運了),A4單元格的肥書記,最后考評月份是12月(8月就把12月的考評得分做好了)
N2單元格輸入以下公式向下復制填充即可:
=LOOKUP(9E+307,B2:M2,B$1:M$1)
B2:M2是單行查詢范圍,B$1:M$1是對應的單行結果范圍,9E307比查詢范圍內所有的同類數據都大,因此返回最后出現的數值對應的月份。
再如下圖所示,A列是數據源,需要查詢前面出現的連續數值
B列參考公式如下:
=LOOKUP(9E+307,–LEFT(A2,ROW($1:$15)))
LEFT(A2,ROW($1:$15))部分,從A2單元格的左邊,依次提取1、2、3、4……直至15位的數據,返回結果:2,20,204,204看,204看見……
再通過減負運算(–),將LEFT函數的計算結果轉換為數值。此時純文本無法進行數學運算,例如–204看,它將返回錯誤值#VALUE!。
這個部分計算結果是一個內存數組
{2;20;204;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
LOOKUP天生忽略錯誤值,再用一個比查詢范圍所有數值都大的9E307進行查詢,也就返回最后出現的數值204。
就這么回事。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。