磁縣一天會計培訓原創文章
昨天我們講了如何用Ctrl+E這個強大的快捷鍵去提取文本中的信息,但是這個快捷鍵是Excel2013之後才出現的功能,那麼在這之前,我們遇到需要提取文本中內容的時候,我們怎麼從快速提取出想要的內容呢?今天通過一個案例,將最常用的幾種方法介紹給大家,這幾種方法都是使用的公式,先將案例呈現給大家,見圖1。
假如供貨商給我們送貨過來,我們希望得到圖1送貨明細數據,這樣我們就能快速求出每種商品的送貨金額。可有時候送貨數據並不是我們想象中這樣,而是如圖2那種,見圖2。
圖2中的商品名稱和數量單價都寫到一起了,這樣我們沒有辦法用Excel批量計算金額了。那麼怎麼將商品名稱、數量、單價這三個數據分開呢?
在解決這個問題之前,首先介紹幾個常用的文本類函數
left, right, mid, len, lenb, find
left函數的功能是從左側截取指定長度的內容,有兩個參數,第一個參數表示想截取的原內容,第二個參數是截取多長。
right函數的功能是從右側截取指定長度的內容,有兩個參數,第一個參數表示想截取的原內容,第二個參數是截取多長。
mid函數的功能是從中間截取指定長度的內容,有三個參數,第一個參數表示想截取的原內容,第二個參數是從第幾位開始截取,第三個參數是截取長度。
len函數表示文本內容的長度,返回一個數值。一個漢字或者一個字母或者一個標點符號都算一位長度。比如“牛奶12*46”就是7位長度。
lenb函數表示文本內容的字節長度,也返回一個數值。不過此時一個漢字的字節長度是2位長度,而字母或者英文標點是1位長度。比如“牛奶12*46”就是9位字節長度。
find函數是用來在某個文本中尋找指定的內容在第幾位出現,一共有3個參數,第一個參數是查找內容,第二個參數是在哪查找,第三個參數表示從第幾位開始查找,第三個參數如果忽略不填就默認從第1位開始找。
下面我們分別用len和lenb函數求一個第一個商品的長度。見圖3。
從圖3我們可以看到,len求出的長度為7位,lenb求出的長度為9位(紅色內容為公示內容)。9比7大2,大出的這個2正好是“牛奶”這兩個字的字數,由於漢字在lenb函數中長度算作2,而在len中只算作1,我們正好利用這個特點,可以將該內容中含有多少個漢字給求出來。9-7=2,第一款商品中有2個漢字。有了商品名稱的字數,我們配合left函數就能把商品名稱提取出來了,因為我們的商品名稱都在最左側,直接套用left公式即可。見圖4。
圖4中紅色部分是公式內容,我們將第二個參數用len-lenb直接計算出來,這樣的話,該參數就是動態的了,如果商品名稱是3個字,計算的結果就是3,如果商品名稱是1個字,那麼計算結果就是1。然後left函數從最左側開始取對應的長度內容,也就是商品名稱內容。
我們能計算出“牛奶12*46”的總長度是7,也能計算出其中商品名稱長度是2,那麼12*46的長度我們也就能得到了,這時候我們配合right函數,就可以將”數量*單價“這一塊內容提取出來了。見圖5。
圖5中,right函數用法和left一樣,從右側開始截取指定長度的內容,原商品名稱總長度是len,漢字長度是lenb-len,那麼”數量*單價“長度就是len-(lenb-len),去掉括號就是len-lenb+len。
有沒有感覺一層一層剝下來很有意思,截止目前,我們的工作已經完成一半了,並且從上面的解決方法中,大家應該也找到了如何分別將數量和單價提取出來了,這時候需要配合find函數。今天週六,就先寫到這兒,我們在明天的內容中解決該問題。
磁縣一天會計培訓感謝大家閱讀。