二維碼 購物車
部落窩在線教育歡迎您!

賬目中文字和數(shù)據(jù)記錄在一起怎么求和?

?

作者:Excel應用之家來源:部落窩教育發(fā)布時間:2020-10-27 17:36:11點擊:2998

分享到:
0
收藏    收藏人氣:0人
版權說明: 原創(chuàng)作品,禁止轉載。
編按:

有些單位部分賬目不夠規(guī)范,譬如報銷表,報銷內容中文字和金額數(shù)據(jù)是記錄在一起的,怎么求和得到報銷金額呢?通常的做法是需要增加一列,把數(shù)據(jù)單獨提取出來,然后進行求和。當然也可以用公式一步到位直接求和。

 

數(shù)據(jù)求和原本很簡單,可是如果數(shù)據(jù)錄入不規(guī)范,譬如賬目中的文字和數(shù)據(jù)記錄在一起,那求和就復雜了!請看下面的例子。這是一個簡單的流水賬,費用內容文字和具體金額是記錄在一個單元格內的,現(xiàn)在我們要計算出總的消費金額。

 

 

如何求和呢?常規(guī)操作,是先建立輔助列把金額數(shù)據(jù)提取出來,然后進行求和。

數(shù)據(jù)提取,大家的第一反應可能是用Ctrl+E。然而此處,用Ctrl+E會遇到問題,因為有小數(shù)和負數(shù)存在。下圖是用Ctrl+E的效果,存在錯誤:

 

 

當前數(shù)據(jù)少,我們可以Ctrl+E后再手動修改個別錯誤數(shù)據(jù)。

如果數(shù)據(jù)有成百上千條呢?顯然我們需要另外的方法來處理。

 

一、用公式提取數(shù)據(jù),然后再求和

 

我們一起來分析這組數(shù)據(jù)的特點。總結后有以下幾點:

l  數(shù)據(jù)和文本混合,文本全部為漢字,沒有字母。

l  每個單元格中只包含了一個數(shù)據(jù)。

l  存在小數(shù)和負數(shù)。

l  在數(shù)據(jù)(含負號在內)前后沒有其他單字節(jié)字符。

l  數(shù)據(jù)在字符串中所在位置不同,也沒有規(guī)律。

l  數(shù)據(jù)的字符長度不固定。

 

針對以上的幾個特點,我們可以考慮使用MIDB函數(shù)、SEARCHB函數(shù)來提取數(shù)字。

在單元格C2中輸入“=--MIDB(B2,SEARCHB("?",B2),2*LEN(B2)-LENB(B2))”并向下拖曳即可。

 

 

 

公式思路和函數(shù)解釋:

把數(shù)據(jù)從字符串中提取出來就是一個文本提取操作。當前的難點是每個單元格中數(shù)據(jù)開始提取的位置和長度不固定。從前面的分析中,我們得到一個可以利用的規(guī)律:在數(shù)據(jù)(含負號在內)前后沒有其他單字節(jié)字符。這條規(guī)律的價值在于,單字節(jié)字符部分就是我們需要的數(shù)據(jù)(含負號)。那只要能用函數(shù)自動獲取每個單元格中單字節(jié)字符的開始位置和長度,一切問題就解決了。

l  MIDB函數(shù)是根據(jù)指定字節(jié)數(shù)提取文本。

它與我們常用的MID函數(shù)用法一致,唯一的區(qū)別就是:MID根據(jù)字符數(shù)來提取文本,MIDB根據(jù)字節(jié)數(shù)來提取文本。

l  SEARCHB函數(shù)用于解決從哪里開始提取文本。

SEARCHB函數(shù)是查找第一個字符串在第二個字符串中的起始位置。它返回的起始位置用字節(jié)數(shù)表示。

SEARCHB("?",B2)表示在B2單元格(第二個字符串)中查找第一個單字節(jié)(“?”)字符的字節(jié)位置。其中“?”在本處表示任意單字節(jié)字符。SEARCHB("?",B2)實際查找的就是數(shù)字6(它是B2單元格中第一個單字節(jié)字符)在B2中的位置。在公式中選中SEARCHB("?",B2)F9,可以看到返回結果是7。

這部分函數(shù)公式幫我們解決了從哪里開始提取文本。

l  2*LEN(B2)-LENB(B2)這部分函數(shù)公式解決了文本的提取長度。

LEN(B2)統(tǒng)計的是B2單元格字符串的字符數(shù);LENB(B2)統(tǒng)計的是B2單元格字符串的字節(jié)數(shù)。兩倍字符數(shù)減去字節(jié)數(shù)就可以得到單元格中單字節(jié)字符的字節(jié)數(shù),對本例來說就是得到數(shù)據(jù)的字節(jié)數(shù)。

 

現(xiàn)在,數(shù)字提取出來了,最后再利用SUM函數(shù)求和即可。

 

二、直接用一個公式完成求和

 

這次我們來增加一些難度。要求在一個單元格內直接用公式求出總費用。

在單元格D2中輸入“=SUM(--MIDB($B$2:$B$10,SEARCHB("?",$B$2:$B$10),2*LEN($B$2:$B$10)-LENB($B$2:$B$10)))”,三鍵回車(Shfit+Ctrl+Enter)即可。

 

 

公式思路和函數(shù)解釋:

要直接用SUM求和,那就必須讓MIDB函數(shù)返回一組數(shù)而不是單個的值。因此我們把上一個公式中的B2更換成了B2:B10,再套入到SUM函數(shù)中,輸入完畢按三鍵回車。

 

好了,以上就是今天分享給大家的內容,希望朋友們都可以掌握。

這個案例,大家可以學到的技能和教訓:

l  技能:混合文本中的單字節(jié)字符都是一個數(shù)據(jù)時的數(shù)據(jù)提取與求和方法

l  教訓:不規(guī)范錄入將增加工作難度

 

本文配套的練習課件請加入QQ群:264539405下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關注公眾號,可隨時隨地學習Excel

IMG_256

相關推薦:

提取數(shù)字的萬能公式:Excel數(shù)字提取技巧:從包含文字的單元格中提取所有數(shù)字的萬能公式

SUM求和高階用法:SUM函數(shù)的進階用法:快速對交叉區(qū)域、應收款項、小計行求和!

最簡單的條件求和函數(shù):DSUM,最簡單的條件求和函數(shù)!你知道不?

按顏色求和:Excel教程:Excel根據(jù)單元格填充顏色求和的三種方法