Tách văn bản khỏi số trong công thức Excel
Như với hầu hết các công thức tách hoặc trích xuất văn bản, điều quan trọng là xác định vị trí của thứ bạn đang tìm kiếm. Khi bạn có vị trí, bạn có thể sử dụng các chức năng khác để trích xuất những gì bạn cần Trong trường hợp này, chúng tôi giả định rằng số và văn bản được kết hợp và số xuất hiện sau văn bản. Từ văn bản gốc xuất hiện trong một ô, bạn muốn tách văn bản và số thành các ô riêng biệt, như thế này OriginalTextNumberApples30Apples30peaches24peaches24oranges12oranges12peaches0peaches0Như đã nêu ở trên, chìa khóa trong trường hợp này là xác định vị trí bắt đầu của số, bạn có thể thực hiện điều này với công thức như sau
Khi bạn có vị trí, để chỉ trích xuất văn bản, hãy sử dụng
Và, để chỉ trích xuất số, hãy sử dụng
Trong công thức đầu tiên ở trên, chúng ta đang sử dụng hàm FIND để xác định vị trí bắt đầu của số. Đối với find_text, chúng ta đang sử dụng hằng số mảng {0,1,2,3,4,5,6,7,8,9}, điều này khiến hàm FIND thực hiện tìm kiếm riêng cho từng giá trị trong hằng số mảng. Vì hằng mảng chứa 10 số nên kết quả trả về sẽ là một mảng có 10 giá trị. Ví dụ: nếu văn bản gốc là "apples30" thì mảng kết quả sẽ là
Mỗi số trong mảng này đại diện cho vị trí của một mục trong hằng số mảng bên trong văn bản gốc Tiếp theo, hàm MIN trả về giá trị nhỏ nhất trong danh sách, tương ứng với vị trí của số đầu tiên xuất hiện trong văn bản gốc. Về bản chất, hàm FIND nhận tất cả các vị trí số và MIN cho chúng ta vị trí số đầu tiên. lưu ý rằng 7 là giá trị nhỏ nhất trong mảng, tương ứng với vị trí của số 3 trong văn bản gốc Bạn có thể thắc mắc về cấu trúc kỳ quặc của within_text trong hàm find
Phần này của công thức nối mọi số có thể có từ 0-9 với văn bản gốc ở B5. Thật không may, TÌM không trả về 0 khi không tìm thấy giá trị, vì vậy đây chỉ là một cách thông minh để tránh lỗi có thể xảy ra khi không tìm thấy số Trong ví dụ này, vì chúng tôi giả định rằng số sẽ luôn xuất hiện ở vị trí thứ hai trong văn bản gốc, nên nó hoạt động tốt vì MIN chỉ buộc số nhỏ nhất hoặc lần xuất hiện đầu tiên của một số được trả về. Miễn là một số xuất hiện trong văn bản gốc, vị trí đó sẽ được trả lại Nếu văn bản gốc không chứa bất kỳ số nào, vị trí "không có thật" bằng độ dài của văn bản gốc + 1 sẽ được trả về. Với vị trí không có thật này, công thức LEFT ở trên sẽ vẫn trả về văn bản và công thức RIGHT sẽ trả về một chuỗi rỗng ("") Tôi đã tìm thấy một công việc xoay quanh việc tôi có thể tách các số trong 'A' thành các ô riêng biệt bằng cách thêm nhiều cột hơn, ví dụ:. (D,E,F,G, v.v.) trong sách giáo khoa 1 và sử dụng. - (D) =TRIM(MID(SUBSTITUTE($A8,CHAR(10),REPT(" ",LEN($A8))),(D$7-1)*LEN($A8)+1,LEN($A8 Sau đó tôi có thể thêm các cột mới, vd. (S,T,U,V,W), v.v. trong sổ làm việc 2 và liệt kê tất cả các tham chiếu của cột 'B' so với 'X' bằng cách sử dụng. - (S) =IFERROR(INDEX($B$8. $B$18,NHỎ(NẾU($P8=$D$8. $M$18,ROW($D$8. $M$18)-ROW($D$8. $M$8)+1),ROW($1). $1))),"") Sau đó, tôi nối S,T,U,V & W thành 'Z' và sử dụng ngắt dòng bằng cách sử dụng. - Nó không thanh lịch và lộn xộn nhưng tôi không thể sử dụng bất kỳ macro nào và tôi thật ngu ngốc khi tìm ra một công thức duy nhất để đạt được kết quả tương tự Lần nữa, Thanks, George nói Không bao giờ có giải pháp tách chuỗi văn bản có 4 phần thành 4 cột riêng biệt. Tôi cũng không thể sử dụng phương pháp chuyển văn bản thành cột. Tôi phải lấy một chuỗi dữ liệu (1234567>xx-093456>DesignedBy>Weller&Sons). Thông tin này phải được chia thành 4 cột riêng biệt trên trang tính. Tôi có thể tìm ra cách sử dụng LEFT và MiD nhưng RIGHT không bao giờ hoạt động. Tôi không thể tìm ra giải pháp để loại bỏ "Weller&Sons" dù tôi có cố gắng thế nào. Cái này mình chắc rất đơn giản với những người dùng excel thông minh hơn - nhưng với mình, mình đang gõ thủ công hàng trăm bản ghi mỗi ngày, khi đó mình chắc chắn phải có một thủ thuật nào đó chưa được công bố. Có vẻ như hầu hết các phần tách đều có văn bản thành cột (tôi không thể sử dụng) và chỉ dành cho tên (họ và tên). Vì vậy, có một giải pháp nào chưa được phát triển hoặc xuất bản hay đây là một nhiệm vụ bất khả thi sẽ yêu cầu tôi tiếp tục nhập lại điểm dữ liệu cuối cùng đó. Mỗi ngày có thêm 100 bản ghi để xuất và thêm chi tiết cho. Cảm ơn vì bất kỳ đề xuất và hỗ trợ nào Trả lờiTom Renish nói. Sau khi sử dụng Python trong nhiều năm, có vẻ như phạm lỗi khi Excel không bao gồm lệnh "tách" trong giao diện người dùng. Tôi đã tạo hàm do người dùng xác định (UDF) của riêng mình để thực hiện điều này. Trình phân tích cú pháp này có thể lấy phần tử thứ N từ một chuỗi nhất định miễn là có một dấu phân cách nhất quán và nó có thể hoạt động từ trái sang phải hoặc phải sang trái. Mã số Tùy chọn rõ ràng Hàm GetLength(a Dưới dạng Biến thể) Dưới dạng Số nguyên Chức năng FetchElement(RefCell dưới dạng chuỗi, ReturnElementNbr dưới dạng số nguyên, Dấu phân cách dưới dạng chuỗi, Đảo ngược dưới dạng Boolean) dưới dạng chuỗi Hệ thống phân cấp mờ dưới dạng chuỗi Nếu Reverse = True Then MyArray = Split(Phân cấp, Dấu phân cách) ArraySize = GetLength(MyArray) Nếu ReturnElementNbr > ArraySize thì chức năng kết thúc dữ liệu mẫu để phân tích cú pháp (giả sử nó nằm trong ô "A1"). prvd00664966\PT00076084\PT00072170\PT00072157\PT00076116 chỉ huy. =FetchElement(A1,3, "\", TRUE) điều này sẽ đếm các phần tử từ phải sang trái (đã sử dụng cờ TRUE) với giả định rằng dấu phân cách là "\" và chúng tôi muốn phần tử thứ ba (parm = 3, ở trên) trong danh sách Có, UDF tương đối chậm. Nhưng đây là một thứ dễ đọc và dễ sử dụng hơn rất nhiều so với việc phải sử dụng quá nhiều hàm chuỗi lồng nhau trong Excel Trả lờiChai nói. Chào bạn, Làm cách nào để tách văn bản theo mẫu. Tuy nhiên, mẫu có thể thay đổi và không có chuỗi chung nào mà tôi có thể sử dụng để tách ô thành các cột Ví dụ, Mình có chữ Mazda CX5 V6 2015 White Bumper. Tôi muốn chia phần này theo Nhãn hiệu, Kiểu máy, Năm, Loại động cơ, Màu sắc, Bộ phận và những thứ khác nếu có. Phần khó ở đây là ở hàng tiếp theo tôi có thể có Toyota Camry 2003 Bonnet Blue. Tôi muốn tất cả các hãng sản xuất vào 1 cột, tất cả các kiểu máy vào 1 cột, tất cả các bộ phận vào 1 cột, v.v. Mô hình cũng có thể thay đổi. Bởi vì đôi khi nó có thể bắt đầu bằng kiểu dáng và kết thúc bằng kiểu dáng hoặc cũng có thể là kiểu khác. Tôi muốn quy trình này được tự động hóa Bởi vì excel sẽ không hiểu nhà sản xuất, kiểu máy, năm là gì, điều chúng ta có thể làm là có thể thêm một trình đơn thả xuống trên tiêu đề của mỗi cột có danh sách nhà sản xuất và một cột khác sẽ là kiểu máy, v.v. . Vì vậy, bây giờ khi hệ thống xác định nhà sản xuất, nó sẽ phải tìm kiếm trong tất cả các danh sách thả xuống của tất cả các cột và tìm vị trí của nó và đặt nó vào cột đó. Tôi biết nó hơi phức tạp, nhưng tôi chắc chắn rằng nó có thể được thực hiện Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn bạn Trả lờiPamela nói. Mục tiêu là chia từng từ tiếng Do Thái trong Kinh thánh thành các chữ cái riêng lẻ. Tuy nhiên, Text-to-Column làm cho nikkud/dấu trọng âm tách khỏi chữ cái cơ sở Tôi đã phát hiện ra rằng việc đặt một dấu gạch nối giữa mỗi chữ cái của từ tiếng Do Thái sẽ khiến Văn bản thành Cột phân tách nguyên vẹn các ký tự riêng lẻ Vì vậy, tôi đã tìm kiếm một công thức để chèn dấu gạch ngang giữa các chữ cái và tìm thấy một công thức hiệu quả. nhưng chỉ dành cho các chữ cái/số tiếng Anh. Với tiếng Hê-bơ-rơ, công thức này tách ra các dấu nikkud/accents https. // siêu người dùng. com/câu hỏi/1371473/how-can-i-format-a-character-string-in-excel-to-insert-hyphens Ký tự chèn phụ() Dim Rng As Range xTitleId = "Đặt dấu gạch ngang" xRow = Ứng dụng. InputBox("Số ký tự. ", xTitleId, Loại. =1) Đặt OutRng = Ứng dụng. InputBox("Xuất ra (một ô). ", xTitleId, Loại. =8) xNum = 1 Câu hỏi. Có cách nào để điều chỉnh công thức này để nó nhận ra 'ký tự hoàn chỉnh' của tiếng Do Thái không? Cám ơn rất nhiều Trả lờisaiph nói. Tôi đã tìm ra một cách để thêm một macro nhỏ (mà bạn không cần phải giữ lại) ALT + F11 Điều này sẽ cho bạn biết liệu một ngày có hợp lệ hay không (đúng/sai) Công thức thử cắt chuỗi dài 11 ký tự thành 18 ký tự và kiểm tra từng ký tự để xem đó có phải là ngày thực hay không. Tháng là yếu tố quyết định nên các ký tự được đánh vần ngắn hoặc bổ sung làm cho đây là một ngày sai. Chỉ độ dài phù hợp mới thực sự tạo ngày hợp lệ và trả về độ dài cắt Tiêu đề phim đi vào C1 Ngày đi vào D1 Sara nói. Tôi có kết quả từ cuộc khảo sát Qualtrics cho câu hỏi "chọn tất cả những câu hỏi phù hợp". Tôi cần nhập nó vào gói thống kê để phân tích (SPSS). Dữ liệu hiện có mã số cho các lựa chọn trả lời, nhưng khi được nhập vào gói thống kê được đọc dưới dạng chuỗi (alpha) và được phân tách bằng dấu phẩy. Tôi đang cố gắng sử dụng Exsel để tách các giá trị này thành các cột, nhưng cần một cột khác cho mỗi giá trị. Một số câu hỏi có tới 5 giá trị nhưng người dùng có thể chỉ đánh dấu 1, 2 hoặc thậm chí 4 hoặc 5 tùy chọn nên giá trị của chúng khác nhau Dữ liệu gốc. -> Mảng mới, ở đâu. . chỉ ra một cột riêng biệt Văn bản thành cột phân tách chúng, nhưng sau đó tôi có một cột có hỗn hợp các câu trả lời (e. g. 1, 2, 4 dựa trên ví dụ trên) nhưng tôi cần tạo một biến nhị phân cho lựa chọn trả lời 1, một biến riêng biệt cho 2, v.v. Bất kỳ ý tưởng? |