Trích xuất nhiều số từ chuỗi Excel
Điều chúng tôi muốn làm ở đây là trích xuất các số từ chuỗi văn bản hỗn hợp. Và để làm điều đó, chúng tôi sẽ sử dụng công thức sau Show =TEXTJOIN(“”,TRUE,IFERROR((MID(CELL,ROW(INDIRECT(“1. ”&LEN(CELL))),1)*1),””)) Ở đâu Ô - đề cập đến ô chứa chuỗi văn bản hỗn hợp mà từ đó chúng tôi sẽ trích xuất các số
Khá đơn giản, phải không? . txt để bạn có thể dễ dàng truy cập vào nó Công thức hoạt động như thế nào?Hãy bắt đầu từ chức năng bên trong LEN – hàm này trả về độ dài của chuỗi được biểu thị bằng một giá trị số. Nó đếm số ký tự trong chuỗi. Ví dụ: nếu bạn sử dụng hàm LEN trên “asfeas79874”, bạn sẽ nhận được “11” GIÁN TIẾP – hàm này trả về một tham chiếu đến một phạm vi giá trị ROW – hàm này trả về một dãy số của một tham chiếu. Công thức cho đến nay là =ROW(INDIRECT(“1. ”&LEN(CELL))). Công thức này sẽ trả về một chuỗi số với độ dài của chuỗi làm tham chiếu MID – chức năng này trích xuất các ký tự trong một chuỗi. Vai trò của nó trong công thức là trả về giá trị #VALUE. lỗi cho các ký tự văn bản, giữ nguyên các ký tự số IFERROR – hàm này trả về một kết quả hoặc công thức thay thế cho các lỗi trong công thức. Vai trò của nó trong công thức là thay thế #VALUE. lỗi với một khoảng trống TEXTJOIN – chức năng này kết hợp văn bản từ nhiều phạm vi hoặc chuỗi. Vai trò của nó trong công thức là kết hợp các ký tự còn lại trong chuỗi (là các số) Trích xuất số từ chuỗi văn bản hỗn hợp trong Excel (Dành cho Excel 2007, 2010 và 2013)Thật không may, chức năng TEXTJOIN không khả dụng trong các phiên bản Excel cũ hơn. Tuy nhiên, có một cách giải quyết cho vấn đề này Tuy nhiên, công thức sẽ dài hơn đáng kể (và phức tạp hơn. ) Chúng tôi sẽ sử dụng kết hợp các hàm sau để trích xuất các số từ các chuỗi văn bản hỗn hợp
Đó là rất nhiều chức năng. Nhưng đợi đã. Bạn chưa xem công thức =IF(SUM(LEN(CELL)-LEN(SUBSTITUTE(CELL, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,” . $”&LEN(CELL))),1))* ROW(INDIRECT(“$1. $”&LEN(CELL))),0), ROW(INDIRECT(“$1. $”&LEN(CELL))))+1,1) * 10^ROW(INDIRECT(“$1. $”&LEN(CELL)))/10),””) Ở đâu Ô - đề cập đến ô chứa chuỗi văn bản hỗn hợp mà từ đó chúng tôi sẽ trích xuất các số Như bạn có thể thấy, công thức dài và phức tạp. Tôi khuyên bạn nên lưu nó vào Notepad. txt để bạn có quyền truy cập vào nó Trích xuất các số từ một chuỗi văn bản hỗn hợpChúng tôi sẽ sử dụng cùng một tập dữ liệu
Sử dụng VBA để trích xuất số từ chuỗi văn bản hỗn hợp trong ExcelNếu bạn cảm thấy thoải mái khi sử dụng VBScript, bạn có thể muốn thử phương pháp này. Lợi ích của việc sử dụng phương pháp này là nó hoạt động với nhiều phiên bản Excel (kể cả những phiên bản cũ hơn) Mã mà chúng tôi sẽ sử dụng như sau Function ExtractNumbers(CellRef As String) Dim StringLength As Integer StringLength = Len(CellRef) For i = 1 To StringLength If IsNumeric(Mid(CellRef, i, 1)) Then Result = Result & Mid(CellRef, i, 1) Next i ExtractNumbers = Result End Function Sao chép mã này
Trích xuất các số từ một chuỗi văn bản hỗn hợpChúng tôi sẽ sử dụng cùng một tập dữ liệu
Để có sẵn mã này cho bạn, bạn có thể lưu sổ làm việc bạn đang làm việc dưới dạng. xls hoặc. tập tin xlsm. Bạn cũng có thể lưu mã trong sổ làm việc macro cá nhân của mình nếu có Phần kết luậnVà chúng tôi đã có nó. Mặc dù không có chức năng chuyên dụng để trích xuất số từ chuỗi văn bản hỗn hợp trong Excel, nhưng bạn vẫn có thể sử dụng các phương pháp trên để thực hiện việc này Bạn thậm chí có thể thêm nó dưới dạng một chức năng bằng mã VBA Một lần nữa, nếu bạn dự định sử dụng các phương pháp này cho nhiều sổ làm việc, tôi khuyên bạn nên lưu các công thức ở đâu đó trên máy tính của mình để bạn có thể truy cập chúng một cách dễ dàng. |