https://www.toutiao.com/article/7140584512815137314/?log_from=0dac36c077867_1662604548497 數(shù)據(jù)處理過程中,,有時(shí)候我們需要從數(shù)據(jù)列中提取出自己想要的值,,作為新的列去使用,我們來(lái)看看通過函數(shù)如何實(shí)現(xiàn)拆分與提取數(shù)據(jù)吧~ 場(chǎng)景一:使用文本函數(shù)提取數(shù)據(jù) 需求1:提取訂單編號(hào)中的前綴,、中間,、后綴部分。 分析:訂單編號(hào)非常規(guī)律,,前綴是6位,,中間是9位-后綴是4位,可以直接使用對(duì)應(yīng)的文本截取函數(shù)進(jìn)行提取數(shù)據(jù),。 公式: 前綴:=LEFT(A3,6) 中間:=MID(A3,8,9) 后綴:=RIGHT(A3,4)
進(jìn)階需求:訂單編號(hào)中的前綴、中間,、后綴的長(zhǎng)度不一致 公式: 前綴:=LEFT(A3,FIND("-",A3)-1) —使用LEFT左截取,,截取個(gè)數(shù)根據(jù)第一個(gè)“-”的位置確定,。 中間:=MID(A3,FIND("-",A3)+1,FIND("-",A3,FIND("-",A3)+1)-FIND("-",A3)-1) —使用MID中間截取,截取開始的位置根據(jù)第一個(gè)“-”的位置確定,,截取的個(gè)數(shù)根據(jù)第二個(gè)“-”的位置減去第一個(gè)“-”的位置的差值確定,。 后綴:=MID(A3,FIND("-",A3,FIND("-",A3,FIND("-",A3)+1))+1,10)—使用MID中間截取, 截取開始的位置,,通過第2個(gè)“-”的位置來(lái)確定,,通過FIND查找,查的開始位置為第一個(gè)“-”的位置加1 截取個(gè)數(shù)的數(shù)值可以寫大點(diǎn),,超過了就已有的個(gè)數(shù)會(huì)按照已有個(gè)數(shù)取。
需求2:將數(shù)據(jù)中的單位與數(shù)字分開 公式: 單位:=RIGHT(A3,LENB(A3)-LEN(A3))—使用RIGHT右截取,,截取個(gè)數(shù)等于字節(jié)長(zhǎng)度-字符長(zhǎng)度 數(shù)字:=LEFT(A3,LEN(A3)-(LENB(A3)-LEN(A3)))—使用LEFT左截取,截取個(gè)數(shù)=字符長(zhǎng)度-(字節(jié)長(zhǎng)度-字符長(zhǎng)度)(字節(jié)長(zhǎng)度-字符長(zhǎng)度,,其實(shí)是文字的個(gè)數(shù),,整體的個(gè)數(shù)減去文字的個(gè)數(shù)就是數(shù)字個(gè)數(shù))
需求3:將地址中的省份、城市,、詳細(xì)地址分開 省份是截取地址中的省或者區(qū)的信息,;城市是截取市的信息;詳細(xì)地址是市后面的信息 公式: 省份:=LEFT(A3,FIND(IF(ISNUMBER(FIND("省",A3)),"省","區(qū)"),A3)) 使用LEFT從左截取,,截取的長(zhǎng)度,,可以根據(jù)省或者區(qū)的位置,通過FIND找,,需要知道第一個(gè)參數(shù)是省還是區(qū),,通過IF判斷,如果找到“省”,,就是省,,否則就是“區(qū)”。而find找不到把#VALUE!錯(cuò)誤,,我們通過ISNUMBER,將其變成TRUE或者FALSE,。 城市:=MID(A3,FIND(IF(ISNUMBER(FIND("省",A3)),"省","區(qū)"),A3)+1,FIND("市",A3)-FIND(IF(ISNUMBER(FIND("省",A3)),"省","區(qū)"),A3)) 直接使用MID中間截取,,截取的位置通過市或者區(qū)的位置來(lái)確定,截取的個(gè)數(shù)根據(jù)“市”的位置減去市或者區(qū)的位置來(lái)確定,。 詳細(xì)地址:=MID(A3,FIND("市",A3)+1,99) 直接使用MID中間截取,,截取的位置通過找“市”的位置 需求4:提取指定的字符最后一次出現(xiàn)后的數(shù)據(jù) 提取文本中第二列指定字符最后一次出現(xiàn)后的數(shù)據(jù) 方法一:將最后一個(gè)指定的字符替換成一個(gè)很大的字符(々),然后通過MID中間截取,,截取開始的位置就是“々”的位置,,截取個(gè)數(shù)可以寫大點(diǎn)即可 最主要的是如何只替換最后一個(gè)指定字符將其變成(々) 將所有的指定字符替換為空,總長(zhǎng)度-替換后的字符=查找字符的個(gè)數(shù),個(gè)數(shù)正好是最后一個(gè)指定的字符。 =MID(A3,FIND("々",SUBSTITUTE(A3,B3,"々",LEN(A3)-LEN(SUBSTITUTE(A3,B3,""))))+1,99) 方法二:將所有的指定字符替換為99(很多)個(gè)空格,然后右截取一個(gè)比較大的字符(包括想要提取的數(shù)據(jù)),然后進(jìn)行清洗,去掉空格即可 =TRIM(RIGHT(SUBSTITUTE(A3,B3,REPT(" ",90)),90))
需求5:提取不規(guī)范日期格式中的年月日 這個(gè)比較簡(jiǎn)單,,就不多說了 場(chǎng)景二:使用日期函數(shù)提取數(shù)據(jù) 需求1:從規(guī)范的日期分別提取對(duì)應(yīng)的數(shù)據(jù)
文章雖然是實(shí)現(xiàn)數(shù)據(jù)的拆分與提取,但是其中基本上將常用的文本和日期函數(shù)說的差不多了,,而且除了使用函數(shù)之外,,一些技巧也能實(shí)現(xiàn)數(shù)據(jù)的拆分,比如快速填充(CTRL+E)和分列,,分列大家可以看這個(gè)文章,。之前文章也講解過如何拆分工作表(),大家可以也看做數(shù)據(jù)的拆分與提取,。大家有什么問題,,歡迎在評(píng)論區(qū)留言~ |
|
來(lái)自: 山峰云繞 > 《Excel電子表格Access》