擎子yeerum
在提取excel中提取數字,字符串,每一次都要去做相關的設置就顯得比較麻煩了,如果我們用vba寫一個函數保存起來,下次要用也就方便多了,只需要填寫函數名,提取的字符串和提取的類型就能輕鬆解決問題。舉個例子,我們來定義一個函數copyrange,寫入以下代碼:
Public Function CopyRange(ByVal sText As String, Optional ctype As String = "") As Variant
Dim i As Integer
Dim temp, strText
If ctype = "" Then: CopyRange = sText: Exit Function
If sText <> "" Then
For i = 1 To Len(sText)
temp = Mid(sText, i, 1)
If ctype = LCase("char") And IsNumeric(temp) = False Then
strText = strText & temp
ElseIf ctype = LCase("number") And IsNumeric(temp) = True Then
strText = strText & temp
End If
Next i
End If
CopyRange = strText
End Function。
這個函數功能就可以提取字符串和數字了,如果我們還想提取其他的,比如字母,漢字之內的,我們只管在條件語句中條件判斷既可,這個函數第一參數是原文本,第二個參數是提取的類型,第二個可以省略,如果是char表示提取字符串,如果是number表示是數字。
我是小嘟嘟熊,熟悉vba,熟悉vb6,喜歡我的回答,請多多關照!
小嘟嘟熊
以下是在excel2003上演示
1、猜想需要的結果是計算總價,怎樣提取數字計算呢?
.
2、用輔助列來計算比較好理解。如下圖,當用公式“=LEFT(C2,2*LEN(C2)-LENB(C2))”提取單價數字時,發現多提取了一位,主要原因是對“/”的歸類計算造成的,怎樣解決呢?
.
3、很簡單,我們對輔助列再計算一次就可以了,輸入公式“=LEFT(G2,2*LEN(G2)-LENB(G2))”對輔助列“G列”再次計算,得到純數字單價。
.
4、再提取數量列中的數字,輸入公式:“=LEFT(D2,2*LEN(D2)-LENB(D2))”,得出數量列的純數字。
.
5、對在輔助列提取的單價和數量相乘,得到總價。
談天說地聊工作
您好!我是EXCEL學習微課堂,頭條號原創視頻作者,分享EXCEL學習的小技巧,小經驗。
Excel中既有文字又有數字,怎樣快速提取其中的數字?介紹2種方法。
第一種方法:快速填充法
它是EXCEL2013以上版本的中一個新功能,她能模擬、識別你的操作,推測你內心的想法,然後按照你的想法進行數據填充。
運用快速填充時,首先直接輸入一組到三組數據,讓Excel自動識別你的意圖,再進行快速填充,快速填充的方式有3種:
1、單擊“數據”選項卡 > 在“數據工具”組中 > 單擊“快速填充”;
2、用快捷鍵Ctrl+E;
3、選中示例單元格,拖動填充柄往下填充,然後在“自動填充”選項中選擇“快速填充”;
動態演示
第2種方法:自定義函數myget
函數有兩參數,=myget(①從哪提取,②提取什麼)
=myget(字符串,0) 取出數字
=myget(字符串,1) 取出中文字符
=myget(字符串,2) 取出英文字母
=myget(字符串,3) 取出特殊字符
=myget(字符串,4) 取出取第一個數字的位置
=myget(字符串,5) 取出取最後一個數字的位置
如果只要提取數字,只要將第2個參數設為0即可
方法步驟:
首先導入自定義函數的模板文件,點開發工具→VBA或都按ALT+F11 調出VBA 編輯器 →在工程窗口右鍵選擇【導入文件】→選擇VBA 模塊文件(提取中文、英文和數字自定義函數myget.bas)→關閉VBA 編輯器。然後再輸入公式即可。
動態演示:
如果我的回答對您有用,歡迎點贊、收藏、評論、轉發,更多的EXCEL技能,可以關注今日頭條“EXCEL學習微課堂”。如需要自定義函數mygetVBA代碼文件的,在點贊、評論、轉發後私信聯繫我!
需要了解快速填充功能的其它用法可看EXCEL學習微課堂分享的《EXCEL快速填充功能如此牛逼,你知道嗎?》
EXCEL學習微課堂
excel中提取數字不難,可用快速填充、分列操作或者公式來實現,公式要根據實際情況來調整,這裡就介紹快速填充和分列操作兩種方式:
1、快速填充,快捷鍵 CTRL+E
CTRL+E是excel2013版本中新增加的功能,是參照給出的示例自動識別填充規則,完成剩餘的填充。
以單元格中提取數字為例,只要在一個單元格中對應輸入數字,給出提取數字的示例,然後按CTRL+E即可填充其餘的單元格。
CTRL+E是自行識別規則進行填充,除了提取單元格中的數字外,還可以進行很多規則的填充,比如,取前幾位字符,取某些符號後信息,替換某個字符等等,這些大家可進行嘗試。
2、分列操作
分列操作是思路是先將單元格分為若干單元格,然後刪除文本保留數字。
先將單元格調整為一個文本的大小,進行兩端對齊的操作;
然後分列,將上一步形成的數字保持為數值的形式;
定位,選擇非數字外的內容進行刪除操作即可。
此種方式不限excel的版本,使用的是多種基礎功能的組合~
長期分享excel高效應用技巧,已有70多個推薦答案,歡迎關注查看。
感謝點贊,您的贊同是我繼續答題的動力~
Excel高效技能分享
Excel單元格中既有文字又有數字,怎樣快速提取其中的數字?
這也是一個職場中很常見的問題了,從外部導入的數據在Excel常常都是一列內容,既有文字,又有數字,這裡我就分享幾個快速分離文字和數字的方法:
快速填充法;
函數法;
-
數據分列法;
內容重排+分列+定位法;
01 快速填充,這是13版本以上才有的新功能,很好很強大
操作步驟:
手工拆分首行數據;
向下填充,填充選項中選擇快速填充,快速填充功能的快捷鍵是
+E
動畫演示如下:
02 函數法,分離漢字和數字信息
如果是漢字和數字的組合,那還可以根據Len函數和Lenb函數的特性來獲取漢字和數字,如下所示:
03 數據分列法,適合有分隔符號,如空格等情況
如果導入的數據文字和數字間有空格或者其他分隔符號隔開,那,拆分文字和漢字就簡單多了,直接使用數據分列就能輕鬆搞定,如下所示:
04 內容重拍+分列+定位法,獲取數字
這個方法操作稍微複雜點,如下動畫演示:
好了,這個問題就分享到這,希望能幫到你!
我是Excel大全,頭條號原創作者,每日分享實用的Excel小技巧。
您的關注、轉發、點贊、收藏、評論,都是對我莫大的支持,謝謝!
Excel大全
在工作中,我們經常需要用到excel來處理數據,今天,我們就來看看如何提取數字的技巧。
1、快速填充
在excel2013版本中加入一個新的功能,快速填充,可以快速根據數據的規律,進行快速填充。
我們只需要對第一個單元格進行準確操作,它就能對有規律的數據進行精準提取。
2、函數法
我們也可以通過函數來快速提取數字。公式為:=RIGHT(C2,2*LEN(C2)-LENB(C2)),其中的“RIGHE”表示數字在右邊。如果數字在左邊則改為“=LEFT(C2,2*LEN(C2)-LENB(C2))”
以上就是兩種從文本中提取數字簡單有效的方法了。
奇趣軟件技巧達人
你好,我們是一個白領運營的頭條號【每日分享Excel實用及技巧】,以分享Excel實用技巧和實例教學為主,讓office更好服務你!
看你的截圖,是要批量提取左邊的數字,去除文本!
我推薦的是一個LOOKUP的一個經典套路的使用,批量提取單元格左邊的數字。
公式(不是數組公式,不需要三健)
=LOOKUP(9E+307,--LEFT(A2,ROW($1:99)))
效果圖如下圖:
公式講解(套路)如下: 也可按F9鍵分步查看公式含義
LEFT(A2,ROW($1:99)
首先用:LEFT向右提取函數
第一次取5
第二次取52
第三次取520
...
以此類推
取至520.12元
其次:然後在left函數前面添加運算符--,將文本轉化為數值格式
--LEFT(A2,ROW($1:99))
後面兩個單元格由於是提取至520.12元,是帶文字的文本格式,--轉化後就是錯誤值。
這時候,我們就可以用到LOOKUP的二分法功能。我就直接教你套用即可。用LOOKUP提取一個靠近最大數值的數字。
lookup第一參數:9E+307詳解如下
9E+307在excel中是比較大的一個數值,至少是很大很大的值。
9e+307,是科學記數法,表示9*10^307,是一個很大的整數。因為比較好記,所以習慣性使用!
這個最大數值也不一定要用9e+307,可以使用比單元格內數值還大的數字也是可以的,比如3000等。
本解答使用的函數如下:
=LOOKUP(9E+307,--LEFT(A2,ROW($1:99)))
好了,這個問題就分享到這,希望能幫到你!
我是每日分享Excel技巧,頭條號原創作者,讓你的辦公生活事半功倍,白領生活更smart一點。
您的關注、轉發、點贊、收藏、評論,都是對我莫大的支持,謝謝!
每日分享Excel技巧
樓上,別再用03版了,新版excel的ctrl+e瞭解一下,只要在第一個單元格右側輸入應該提取的正確數據,然後溫柔的按下ctrl+e,你會發現,整個世界清淨了
用戶2962477694
這個可以用一下uuoffice這個插件了,它可以在文本字符串中提取數字、文本等。