Bỏ qua nội dung chính

Làm cách nào để trích xuất số chỉ từ chuỗi văn bản trong Excel?

Tác giả: Mặt trời Sửa đổi lần cuối: 2020-05-22

Phương pháp 1: Chỉ trích xuất số từ chuỗi văn bản với công thức

Công thức dài sau đây có thể giúp bạn chỉ trích xuất các số từ chuỗi văn bản, vui lòng thực hiện như sau:

Chọn một ô trống mà bạn muốn xuất số được trích xuất, sau đó nhập công thức này: = SUMPRODUCT (MID (0 & A5, LARGE (INDEX (ISNUMBER (- MID (A5, ROW (INDIRECT ("1:" & LEN (A5))), 1)) * ROW (INDIRECT ("1:" & LEN (A5) )), 0), ROW (INDIRECT ("1:" & LEN (A5)))) + 1, 1) * 10 ^ ROW (INDIRECT ("1:" & LEN (A5))) / 10)và sau đó kéo chốt điền để điền vào phạm vi bạn cần áp dụng công thức này. Xem ảnh chụp màn hình:

doc trích xuất số chỉ 2

Ghi chú:

  • 1. A5 là dữ liệu đầu tiên bạn chỉ muốn trích xuất các số từ danh sách.
  • 2. Kết quả sẽ được hiển thị là 0 khi không có số nào trong chuỗi.

Chỉ trích xuất số từ chuỗi văn bản:

Với Kutools cho Excel'S CHIẾT XUẤT , bạn có thể nhanh chóng chỉ trích xuất các số từ các ô chuỗi văn bản. Nhấp để tải xuống Kutools cho Excel!

doc trích xuất số chỉ 14


Phương pháp 2: Chỉ trích xuất số từ chuỗi văn bản với mã VBA

Đây là mã VBA cũng có thể giúp bạn, vui lòng làm như sau:

1. Giữ Alt + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Chỉ trích xuất số từ chuỗi văn bản:

Sub ExtrNumbersFromRange()
    Dim xRg As Range
    Dim xDRg As Range
    Dim xRRg As Range
    Dim nCellLength As Integer
    Dim xNumber As Integer
    Dim strNumber As String
    Dim xTitleId As String
    Dim xI As Integer
    xTitleId = "KutoolsforExcel"
    Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
    If TypeName(xDRg) = "Nothing" Then Exit Sub
    Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
    If TypeName(xRRg) = "Nothing" Then Exit Sub
    xI = 0
    strNumber = ""
  For Each xRg In xDRg
    xI = xI + 1
    nCellLength = Len(xRg)
    For xNumber = 1 To nCellLength
      If IsNumeric(Mid(xRg, xNumber, 1)) Then
        strNumber = strNumber & Mid(xRg, xNumber, 1)
      End If
    Next xNumber
    xRRg.Item(xI) = strNumber
    strNumber = ""
  Next xRg
End Sub

3. Và sau đó, nhấn F5 để chạy mã này và một hộp nhắc xuất hiện để nhắc chọn phạm vi văn bản bạn muốn sử dụng, xem ảnh chụp màn hình:

doc trích xuất số chỉ 3

4. Sau đó nhấn vào OK, một hộp nhắc khác đang theo sau, vui lòng chọn một ô để xuất kết quả, xem ảnh chụp màn hình:

doc trích xuất số chỉ 4

5. Cuối cùng, hãy nhấp vào OK và tất cả các số trong các ô đã chọn đã được trích xuất cùng một lúc.


Phương pháp 3: Chỉ trích xuất số từ chuỗi văn bản với Kutools cho Excel

Kutools cho Excel cũng có một chức năng mạnh mẽ được gọi là CHIẾT XUẤT, với chức năng này, bạn có thể nhanh chóng chỉ trích xuất các số từ chuỗi văn bản gốc.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày

Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau:

1. Nhấp vào một ô bên cạnh chuỗi văn bản của bạn nơi bạn sẽ đặt kết quả, xem ảnh chụp màn hình:

doc trích xuất số chỉ 5

2. Sau đó nhấn vào Kutools > Các chức năng của Kutools > bản văn > CHIẾT XUẤT, xem ảnh chụp màn hình:

doc trích xuất số chỉ 6

3. Trong Đối số hàm , hãy chọn một ô mà bạn muốn trích xuất các số từ Txt hộp văn bản, sau đó nhập đúng or sai vào N hộp văn bản, xem ảnh chụp màn hình:

doc trích xuất số chỉ 7

Chú thích: đối số N là một mục tùy chọn, nếu bạn nhập đúng, nó sẽ trả về các số dưới dạng số, nếu bạn nhập sai, nó sẽ trả về các số dưới dạng văn bản, mặc định là false nên bạn có thể để trống.

4. Và sau đó nhấp vào OK, các số đã được trích xuất từ ​​ô đã chọn, sau đó kéo chốt điền xuống các ô bạn muốn áp dụng chức năng này, bạn sẽ nhận được kết quả sau:

doc trích xuất số chỉ 8

Nhấp để Tải xuống và dùng thử miễn phí Kutools cho Excel ngay!


Phương pháp 4: Chỉ trích xuất số thập phân từ chuỗi văn bản có công thức

Nếu các chuỗi văn bản bao gồm một số số thập phân trong trang tính của bạn, làm cách nào bạn có thể chỉ trích xuất các số thập phân từ các chuỗi văn bản?

Công thức dưới đây có thể giúp bạn trích xuất các số thập phân từ các chuỗi văn bản một cách nhanh chóng và dễ dàng.

Nhập công thức này :=LOOKUP(9.9E+307,--LEFT(MID(A5,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A5&"1023456789")),999),ROW(INDIRECT("1:999")))), Và sau đó điền vào ô điều khiển xuống các ô mà bạn muốn chứa công thức này, tất cả các số thập phân đã được trích xuất từ ​​các chuỗi văn bản, xem ảnh chụp màn hình:

doc trích xuất số chỉ 13


Chỉ trích xuất số từ các chuỗi với Kutools cho Excel

Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

Các bài báo tương đối:

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (61)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how to get a extract extact numbers from text
This comment was minimized by the moderator on the site
Hi, I'm looking to list all numbers in a string before a certain character. The string has letters and numbers, so I want to remove the letters and only list the numbers that appear before the second minus sign "-". Example:MUMUT-S941-22460991e002
I want that to isolate the numbers 941 in the above example.
This comment was minimized by the moderator on the site
How to use Index instead of Indirect to extract number from string. Indirect is volatile and Index can replace it as per http://www.excelhero.com/blog/2011/03/the-imposing-index.html. Thanks Ahead!
This comment was minimized by the moderator on the site
Hello! I found the following formula to extract only the numbers from text strings in Excel very useful

SUMPRODUCT(MID(0&A5, LARGE(INDEX(ISNUMBER(--MID(A5, ROW(INDIRECT("1:"&LEN(A5))), 1)) * ROW(INDIRECT("1:"&LEN(A5))), 0), ROW(INDIRECT("1:"&LEN(A5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A5)))/10)

Could you explain more on this formula as it seems quite complicated? Many thanks.
This comment was minimized by the moderator on the site
Reading ID: 3151346 BeatO User ID: 239930 Name: Mahesh Phone: 9823010759 Email: City: nashik State: Maharashtra Reading: 55 Meal Time: Random Meal Type: RANDOM Reading Time: 2020-03-01 00:15:57 View user readings in Portal



I want to extract numeric no. post Reading text
This comment was minimized by the moderator on the site
Hello, how can i extract the cheque no.only from the below text

OUTWARD CLEARING CLRG CHQ DEPOSIT CHQ. NO: 000123~700320456 ABCD ARAB PLAZ BRANC Value DATE, 01/02/2020 - S79519642

i tried below formula and its working but i need to change the 1:57 by calculating how many character before the first digit plus how many digits i want to extract.
=MIN(FIND({0,1,2,3,4,5,6,7,8,9},A3&"0123456789"))+5 im using this formula to know how many characters before the first number..

=TEXTJOIN("",TRUE,IFERROR(MID(A3,ROW(INDIRECT("1:57")),1)+0,""))
This comment was minimized by the moderator on the site
=Mid(A2,find("CHQ. NO", A2)+9,6)
This comment was minimized by the moderator on the site
Hi. I wonder to know is it possible to extract from the next string '102-105+106-10605-10605 -10631-10632-10633-10634-10635+107' all values of only three digits that have sign '-' (i.e. minus) before them (or plus - doesn't matter). Then extract extract all 5-digits values with the same rule? If this is possible to do I will save many many hours of manual work that I can devote to lot's of uselful tasks.

P.S.
I know that regular expressions are able to do that, BUT... I hate their syntax, so I'm searching any other method to complete this task.

Thanks in advance.
This comment was minimized by the moderator on the site
Hi, is it possible to extract the numbers before "g", for example : 25,20,15,25,300,40

Ali Baba Dark Chocolate 25g box 12 pcs
Ali Baba Dark Chocolate 20g*24 box
Cadbury 5 Star White Chocolate 15g
Kinder 2 White Chocolate 25g*24
ALpella Biscuits W/Marshmallow300g
Alpella Chocolate 40g
This comment was minimized by the moderator on the site
did anyone answer or did you figure this out? this is exactly my problem right - even down to the letter 'g'. the problem with the formula I am using now is that it returns the first number, if there are more than one, from the string and not the number I am wishing to return.
This comment was minimized by the moderator on the site
Hi, is it possible to extract the numbers before "g", for example : 25,20,15,25,300,40


Ali Baba Dark Chocolate 25g box 12 pcs
Ali Baba Dark Chocolate 20g*24 box
Cadbury 5 Star White Chocolate 15g
Kinder 2 White Chocolate 25g*24
ALpella Biscuits W/Marshmallow300g
Alpella Chocolate 40g
This comment was minimized by the moderator on the site
can any one answer this question, how to extract the no's
This comment was minimized by the moderator on the site
You may try select the number before g in the first cell, copy and paste it in new cell. Then press CTRL + E. All the number before g will be auto generated. 

This comment was minimized by the moderator on the site
Tkssssss you saved my day :) God bless you
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations