【20180112】- 附帶描述的文本公式如何得到計算結果?

今天任然為大家帶來QQ群小夥伴諮詢的問題,他的問題是別人寫的一個公式,他不太理解,希望我為他分析一下,公式如下所示:

=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet2!$A:$A,"[","*ISTEXT(""["),"]","]"")"))

看到前面標註顏色的函數了嗎?這是一個宏表函數,早在前期文章就已經為大家介紹過其用法了,沒有看過的可以移步【Excel VBA】- 如何通過文本公式表達實現真實計算?進行學習。

該公式是用於名稱管理器中,因為宏表函數EVALUATE無法直接在工作表中使用。

為了更加直觀的演示,我模擬了兩份表格,我們先來查看一下第一份數據,如下圖所示:

學習過前面介紹文本公式表達真實計算文章的小夥伴,對於這個問題應該知道如何計算出結果,具體操作如下動態圖所示:

今天其實主要介紹的是計算第二種數據格式的計算,數據格式如下圖所示:

通過上圖可以看出,該文本公式附帶了描述信息,知道每一個數字代表什麼意思,最後隨機加了一個數,不用管它。上面的文本公式使用自定義函數,是很好計算的,今天還是來介紹該小夥伴遇到的函數問題,我們把上面的介紹的公式複製一下,再新增名稱,為了更加直觀的演示,我會對部分公式進行分步演示:

為了演示,我把公式拆分出來了,其實就是使用兩個SUBSTITUTE函數進行嵌套,把附帶描述的文本公式[替換為*ISTEX("[,把]替換為]"),其實這就是構造函數,把[長]替換為*ISTEXT("[長]")。這裡拿A1單元格為例,通過SUBSTITUTE公式嵌套,最終得到8.2*ISTEXT("[長]")*1.2*ISTEXT("[寬]")*5*ISTEXT("[高]")+100,再通過EVALUATE函數就可以計算出相應的值了。

其實ISTEXT函數判斷是否是文本,如果是的話,返回TRUE,相當於1,如果否的話,返回FALSE,相當於0。這樣的講解是不是就非常容易理解啦?

這裡插播一個小技巧,如何批量去掉單元格前面的英文單引號,有時候我們為了把數值類型變為文本類型,可以直接在單元格前面加上英文單引號。例如超過15位的身份證號,如果直接在Excel中輸入,就會被截斷,就可以通過在輸入數值前先輸入,再輸入數值即可。那如果我們需要批量清除單元格前面的英文單引號,那該怎麼辦呢?

通過如上動態圖,可以發現,使用替換不成功,可能是我的替換姿勢不對。所以只能藉助選擇性粘貼的方法來批量去掉單引號。步驟為:空白單元格區域複製,然後選中要移除單引號的數據區域,右鍵選擇性粘貼,在彈出的對話框中選擇加即可。

好了,今天的介紹就到這裡啦,大家在學習的過程中遇到任何問題,歡迎加入QQ群(群號:615356012)進行交流哦,期待你的進步~Written by Steven in 20180112^_^

微信公眾號:SaveUTime

SUT學習交流群:615356012,入群審核人:Steven

關注公眾號,提高效率,節約您的時間!


推薦閱讀:

什麼是漂亮的數學公式?漂亮是怎麼體現的?
如何才能看懂論文里的公式?
張兵:把「複利」運用起來,你也許能超越90%的人
如何製作圖表非常精美的 Excel 文檔?
如 π 與 e 這樣的數學常數應該斜體嗎?

TAG:MicrosoftExcel | 文本 | 公式 |