Google sheet xóa văn bản sau ký tự

SPLIT(A1, ",")0 - [ TÙY CHỌN - SPLIT("Alas, poor Yorick"," ")7 theo mặc định ] - Có hay không xóa tin nhắn văn bản trống khỏi kết quả phân tách. Hành vi mặc định là coi các dấu phân cách liên tiếp là một (nếu SPLIT("Alas, poor Yorick"," ")7). Nếu SPLIT("Alas, poor Yorick"," ")5, các giá trị ô trống sẽ được thêm vào giữa các dấu phân cách liên tiếp

Hướng dẫn này sẽ trình bày cách trích xuất văn bản trước hoặc sau một ký tự trong Excel và Google Sheets

Google sheet xóa văn bản sau ký tự

Trích xuất văn bản trước ký tự bằng hàm FIND và LEFT

Để trích xuất văn bản trước dấu phẩy, chúng ta có thể sử dụng hàm LEFT và FIND

Tìm chức năng

Đầu tiên, chúng ta có thể tìm vị trí của dấu phẩy bằng cách sử dụng hàm FIND rồi trừ đi một cho giá trị được trả về để lấy độ dài của Họ

=FIND(",", B3)-1

Google sheet xóa văn bản sau ký tự

Sử dụng chức năng TRÁI

Sau đó chúng ta sử dụng hàm left để trích xuất văn bản trước vị trí được trả về bởi hàm FIND ở trên

=LEFT(B3, C3)

Google sheet xóa văn bản sau ký tự

Kết hợp các chức năng này mang lại công thức

=LEFT(B3, FIND(",", B3)-1)

Google sheet xóa văn bản sau ký tự

Trích xuất văn bản sau ký tự bằng các hàm FIND, LEN và RIGHT

Trong phần tiếp theo, chúng ta sẽ sử dụng Hàm FIND, LEN và RIGHT để trích xuất văn bản sau một ký tự cụ thể trong chuỗi văn bản

Google sheet xóa văn bản sau ký tự

Hàm TÌM

Như chúng ta đã làm trong ví dụ trước, chúng ta sử dụng Hàm find để tìm vị trí của dấu phẩy và sau đó trừ một giá trị được trả về để lấy độ dài của Họ

=FIND(",", B3)-1

Google sheet xóa văn bản sau ký tự

LEN Hàm

Sau đó, chúng tôi sử dụng Hàm LEN để lấy tổng độ dài của văn bản

=LEN(B3)

Google sheet xóa văn bản sau ký tự

Sau đó, chúng ta có thể kết hợp các hàm FIND và hàm LEN để lấy số lượng ký tự mà chúng ta muốn trích xuất sau dấu phẩy

Khi làm việc với dữ liệu văn bản trong Excel, bạn có thể cần xóa văn bản trước hoặc sau một ký tự hoặc chuỗi văn bản cụ thể

Ví dụ: nếu bạn có dữ liệu về tên và chỉ định của mọi người, bạn có thể muốn xóa chỉ định sau dấu phẩy và chỉ giữ lại tên (hoặc ngược lại khi bạn giữ chỉ định và xóa tên)

Dataset where text after comma has been removed

Đôi khi, nó có thể được thực hiện bằng một công thức đơn giản hoặc Tìm và Thay thế nhanh, và đôi khi, nó cần các công thức hoặc giải pháp phức tạp hơn

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách xóa văn bản trước hoặc sau một ký tự cụ thể trong Excel (sử dụng các ví dụ khác nhau)

Vì vậy, hãy bắt đầu với một số ví dụ đơn giản

Hướng dẫn này bao gồm

Xóa văn bản sau một ký tự bằng cách sử dụng Tìm và Thay thế

Nếu bạn muốn nhanh chóng xóa tất cả văn bản sau một chuỗi văn bản cụ thể (hoặc trước một chuỗi văn bản), bạn có thể thực hiện việc đó bằng Tìm và Thay thế và các ký tự đại diện

Giả sử bạn có một tập dữ liệu như hình bên dưới và bạn muốn xóa ký hiệu sau ký tự dấu phẩy và giữ lại văn bản trước dấu phẩy

Dataset from which need to remve text after a specific character

Dưới đây là các bước để làm điều này

  1. Sao chép và Dán dữ liệu từ cột A sang cột  B (điều này cũng nhằm giữ nguyên dữ liệu gốc)Copy and paste data from column A to Col B
  2. Với các ô trong Cột B được chọn, nhấp vào tab Trang chủClick the home tab
  3. Trong nhóm Chỉnh sửa, nhấp vào tùy chọn Tìm & Chọn
  4. Trong các tùy chọn xuất hiện trong trình đơn thả xuống, nhấp vào tùy chọn Thay thế. Thao tác này sẽ mở hộp thoại Tìm và Thay thếClick on the Replace option
  5. Trong trường ‘Find what’, hãy nhập ,* (i. e. , dấu phẩy theo sau là dấu hoa thị)Enter comma and asterisk in the find what field
  6. Để trống trường 'Thay thế bằng'Leave Replace With blank
  7. Nhấp vào nút Thay thế tất cảClick on Replace All

Các bước trên sẽ tìm dấu phẩy trong tập dữ liệu và xóa tất cả văn bản sau dấu phẩy (bao gồm cả dấu phẩy)

Dataset where text after comma has been removed

Vì thao tác này sẽ thay thế văn bản từ các ô đã chọn, nên bạn nên sao chép văn bản vào một cột khác rồi thực hiện thao tác tìm và thay thế này hoặc tạo một bản sao lưu dữ liệu của mình để giữ nguyên dữ liệu gốc

Cái này hoạt động ra sao?

* (dấu hoa thị) là ký tự đại diện có thể đại diện cho bất kỳ số lượng ký tự nào

Khi tôi sử dụng nó sau dấu phẩy (trong trường 'Find what') và sau đó nhấp vào nút Replace All, nó sẽ tìm thấy dấu phẩy đầu tiên trong ô và coi đó là dấu phẩy phù hợp

Điều này là do dấu hoa thị (*) được coi là khớp với toàn bộ chuỗi văn bản theo sau dấu phẩy

Vì vậy, khi bạn nhấn nút thay thế tất cả, nó sẽ thay thế dấu phẩy và tất cả văn bản theo sau

Ghi chú. Phương pháp này hoạt động tốt khi bạn chỉ có một dấu phẩy trong mỗi ô (như trong ví dụ của chúng tôi). Trong trường hợp bạn có nhiều dấu phẩy, phương pháp này sẽ luôn tìm dấu phẩy đầu tiên và sau đó xóa mọi thứ sau dấu phẩy đó. Vì vậy, bạn không thể sử dụng phương pháp này nếu bạn muốn thay thế tất cả văn bản sau dấu phẩy thứ hai và giữ nguyên văn bản đầu tiên

Trong trường hợp bạn muốn loại bỏ tất cả các ký tự trước dấu phẩy, hãy thay đổi mục tìm trường tìm gì bằng cách có dấu hoa thị trước dấu phẩy (*, thay vì ,*)

Xóa văn bản bằng công thức

Nếu bạn cần kiểm soát nhiều hơn về cách tìm và thay thế văn bản trước hoặc sau một ký tự cụ thể, thì tốt hơn là sử dụng các công thức văn bản sẵn có trong Excel

Giả sử bạn có tập dữ liệu bên dưới Nơi bạn muốn xóa tất cả văn bản sau dấu phẩy

Dataset from which need to remve text after a specific character

Dưới đây là công thức để làm điều này

=LEFT(A2,FIND(",",A2)-1)

Formula to remove comma after the comma

Công thức trên sử dụng hàm FIND để tìm vị trí của dấu phẩy trong ô

Số vị trí này sau đó được hàm LEFT sử dụng để trích xuất tất cả các ký tự trước dấu phẩy. Vì tôi không muốn có dấu phẩy trong kết quả nên tôi đã trừ 1 khỏi giá trị kết quả của công thức Tìm

Đây là một kịch bản đơn giản

Hãy lấy một cái hơi phức tạp

Giả sử tôi có tập dữ liệu bên dưới nơi tôi muốn xóa tất cả văn bản sau dấu phẩy thứ hai

Dataset with two commas

Đây là công thức sẽ làm điều này

=LEFT(A2,FIND("!",SUBSTITUTE(A2,",","!",2))-1)

Formula to remove text after the second comma

Vì tập dữ liệu này có nhiều dấu phẩy nên tôi không thể sử dụng hàm FIND để lấy vị trí của dấu phẩy đầu tiên và trích xuất mọi thứ ở bên trái của nó

Tôi cần bằng cách nào đó tìm ra vị trí của dấu phẩy thứ hai và sau đó trích xuất mọi thứ ở bên trái của dấu phẩy thứ hai

Để làm điều này, tôi đã sử dụng chức năng SUBSTITUTE để thay đổi dấu phẩy thứ hai thành dấu chấm than. Bây giờ điều này mang lại cho tôi một ký tự duy nhất trong ô. Bây giờ tôi có thể sử dụng vị trí của dấu chấm than để trích xuất mọi thứ ở bên trái dấu phẩy thứ hai

Vị trí của dấu chấm than này được sử dụng trong hàm LEFT để trích xuất mọi thứ trước dấu phẩy thứ hai

Càng xa càng tốt

Nhưng điều gì sẽ xảy ra nếu có số lượng dấu phẩy không nhất quán trong tập dữ liệu

Ví dụ: trong tập dữ liệu bên dưới, một số ô có hai dấu phẩy và một số ô có ba dấu phẩy và tôi cần trích xuất tất cả văn bản trước dấu phẩy cuối cùng

Dataset with multiple commas

Trong trường hợp này, tôi cần bằng cách nào đó tìm ra vị trí xuất hiện dấu phẩy cuối cùng và sau đó trích xuất mọi thứ ở bên trái của nó

Dưới đây là công thức sẽ làm điều đó

=LEFT(A2,FIND("!",SUBSTITUTE(A2,",","!",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)

Formula to remove text after the last occurrence of the comma

Công thức trên sử dụng hàm LEN để tìm độ dài tổng thể của văn bản trong ô cũng như độ dài của văn bản không có dấu phẩy

Khi tôi trừ hai giá trị này, nó sẽ cho tôi tổng số dấu phẩy trong ô

Vì vậy, nó sẽ cho tôi 3 cho ô A2 và 2 cho ô A4

Giá trị này sau đó được sử dụng trong công thức SUBSTITUTE để thay thế dấu phẩy cuối cùng bằng dấu chấm than. Và sau đó, bạn có thể sử dụng hàm bên trái để trích xuất mọi thứ ở bên trái của dấu chấm than (đây là vị trí của dấu phẩy cuối cùng)

Như bạn có thể thấy trong các ví dụ, sử dụng kết hợp các công thức văn bản cho phép bạn xử lý nhiều tình huống khác nhau

Ngoài ra, do kết quả được liên kết với dữ liệu gốc nên khi bạn thay đổi dữ liệu gốc, kết quả sẽ tự động cập nhật

Xóa văn bản bằng Flash Fill

Flash Fill là một công cụ được giới thiệu trong Excel 2013 và có sẵn trong tất cả các phiên bản sau đó

Nó hoạt động bằng cách xác định các mẫu khi bạn nhập dữ liệu theo cách thủ công và sau đó ngoại suy để cung cấp cho bạn dữ liệu cho toàn bộ cột

Vì vậy, nếu bạn muốn xóa văn bản trước hoặc sau một ký tự cụ thể, bạn chỉ cần cho flash fairy xem kết quả sẽ như thế nào (bằng cách nhập thủ công một vài lần), và flash fill sẽ tự động hiểu mẫu và cung cấp cho bạn

Hãy để tôi chỉ cho bạn điều này với một ví dụ

Dưới đây tôi có tập dữ liệu mà tôi muốn xóa tất cả văn bản sau dấu phẩy

Dataset from which need to remve text after a specific character

Dưới đây là các bước để thực hiện việc này bằng cách sử dụng Flash Fill

  1. Trong ô B2, là cột liền kề của dữ liệu của chúng tôi, hãy nhập thủ công 'Jeffery Haggins' (là kết quả mong đợi)Enter expected result in the first cell
  2. Trong ô B3, nhập 'Tim Scott' (là kết quả dự kiến ​​cho ô thứ hai)Enter expected result in the second cell
  3. Chọn phạm vi B2. B10Select the entire range
  4. Nhấp vào tab Trang chủ
  5. Trong nhóm Chỉnh sửa, nhấp vào tùy chọn thả xuống Điền
  6. Nhấp vào Flash ĐiềnClick on Flash Fill

Các bước trên sẽ cho bạn kết quả như hình bên dưới

Flash Fill result

Bạn cũng có thể sử dụng phím tắt Flash Fill Control + E sau khi chọn các ô trong cột kết quả (Cột B trong ví dụ của chúng tôi)

Flash Fill là một công cụ tuyệt vời và trong hầu hết các trường hợp, nó có thể nhận dạng mẫu và cung cấp cho bạn kết quả phù hợp. nhưng trong một số trường hợp, nó có thể không nhận dạng được mẫu chính xác và có thể cho bạn kết quả sai

Vì vậy, hãy đảm bảo bạn kiểm tra kỹ kết quả Flash Fill của mình

Và giống như chúng ta đã xóa tất cả văn bản sau một ký tự cụ thể bằng flash fill, bạn có thể sử dụng các bước tương tự để xóa văn bản trước một ký tự cụ thể. chỉ hiển thị flash fill kết quả sẽ trông giống như Internet của tôi theo cách thủ công trong cột bên cạnh và nó sẽ thực hiện phần còn lại

Xóa văn bản bằng VBA (Chức năng tùy chỉnh)

Toàn bộ khái niệm xóa văn bản trước hoặc sau một ký tự cụ thể Phụ thuộc vào việc tìm vị trí của ký tự đó

Như đã thấy ở trên, việc tìm ra lần xuất hiện cuối cùng của ký tự đó tốt có nghĩa là sử dụng một tập hợp các công thức

Nếu đây là việc bạn cần làm khá thường xuyên, bạn có thể đơn giản hóa quy trình này bằng cách tạo một hàm tùy chỉnh bằng VBA (được gọi là Hàm do người dùng xác định)

Sau khi tạo, bạn có thể sử dụng lại chức năng này nhiều lần. Nó cũng đơn giản và dễ sử dụng hơn rất nhiều (vì hầu hết các công việc nặng nhọc được thực hiện bởi mã VBA ở phía sau)

Dưới đây là mã VBA mà bạn có thể sử dụng để tạo hàm tùy chỉnh trong Excel

________số 8_______

Bạn cần đặt mã VBA trong một mô-đun thông thường trong Trình soạn thảo VB hoặc trong Sổ làm việc Macro cá nhân. Khi bạn có nó ở đó, bạn có thể sử dụng nó như bất kỳ hàm trang tính thông thường nào khác trong sổ làm việc

Hàm này nhận 2 đối số

  1. Tham chiếu ô mà bạn muốn tìm lần xuất hiện cuối cùng của một ký tự hoặc chuỗi văn bản cụ thể
  2. Ký tự hoặc chuỗi văn bản có vị trí cần tìm

Giả sử bây giờ bạn có tập dữ liệu bên dưới và bạn muốn xóa tất cả văn bản sau dấu phẩy cuối cùng và chỉ có văn bản trước dấu phẩy cuối cùng

Dưới đây là công thức sẽ làm điều đó

=LEFT(A2,LastPosition(A2,",")-1)

VBA Custom function to remove text after a specific character

Trong công thức trên mình đã chỉ định tìm vị trí của dấu phẩy cuối cùng. Trong trường hợp bạn muốn tìm vị trí của một số ký tự hoặc chuỗi văn bản khác, bạn nên sử dụng vị trí đó làm đối số thứ hai trong hàm

Như bạn có thể thấy, công thức này ngắn hơn và dễ sử dụng hơn rất nhiều so với công thức văn bản dài mà chúng ta đã sử dụng ở phần trước

Nếu bạn đặt mã VBA vào một mô-đun trong sổ làm việc, bạn sẽ chỉ có thể sử dụng chức năng tùy chỉnh này trong sổ làm việc cụ thể đó. Nếu bạn muốn sử dụng mã này trong tất cả các sổ làm việc trên hệ thống của mình, bạn cần sao chép và dán mã này vào Sổ làm việc Macro cá nhân

Vì vậy, đây là một số thư bạn có thể sử dụng để nhanh chóng loại bỏ văn bản trước hoặc sau một ký tự cụ thể trong Excel

Nếu đó là việc đơn giản chỉ thực hiện một lần, thì bạn có thể thực hiện việc đó bằng cách sử dụng tìm và thay thế. nếu nó phức tạp hơn một chút thì bạn cần sử dụng kết hợp các công thức Excel có sẵn hoặc thậm chí tạo công thức tùy chỉnh của riêng bạn bằng VBA