Cách thay thế dấu phẩy trong hoặc ngoài dấu ngoặc đơn trong Google Sheets – Regex

Ai cũng biết Google Sheets là một công cụ mạnh mẽ để quản lý dữ liệu và tính toán trong các bảng tính. Tuy nhiên, đôi khi chúng ta gặp phải một số vấn đề trong việc xử lý dữ liệu của mình. Một trong những vấn đề đó là việc thay thế dấu phẩy trong hoặc ngoài dấu ngoặc đơn trong Google Sheets. Trong bài viết này, tôi sẽ chia sẻ với bạn cách sử dụng các công thức Regex lồng nhau để giải quyết vấn đề này.

Tại sao chúng ta cần thay thế dấu phẩy?

Trước khi đi vào chi tiết, hãy cùng nhau nhìn vào một ví dụ cụ thể. Giả sử bạn có một chuỗi dài trong ô A1 của một bảng tính Google Sheets như sau: “Task 1, Task 2 (Sub Task 1, Sub Task 2), Task 3, Task 4.”

Trong ví dụ này, bạn muốn tách riêng từng nhiệm vụ chính trong chuỗi đó, trong khi vẫn giữ được các nhiệm vụ phụ liên quan tới nó. Bạn mong đợi kết quả như dưới đây:

Kết quả

Để đạt được điều đó, bạn cần thay thế dấu phẩy trong hoặc ngoài dấu ngoặc đơn trước.

Công thức và giải thích

Dưới đây là các công thức mà bạn có thể sử dụng để thay thế các dấu phẩy trong và ngoài dấu ngoặc đơn.

Công thức để thay thế dấu phẩy trong dấu ngoặc đơn (B1):

=regexreplace(A1,regexextract(A1,"((.+))"),regexextract(REGEXREPLACE(A1,",","|"),"((.+))"))

Công thức để thay thế dấu phẩy ngoài dấu ngoặc đơn (B2):

=regexreplace(regexreplace(regexreplace(A1,regexextract(A1,"((.+))"),regexextract(REGEXREPLACE(A1,",","|"),"((.+))")),",","|"),"🐠",",")

Để hiểu rõ hơn về cách hoạt động của các công thức trên, hãy cùng nhau đi vào chi tiết.

Giải thích công thức B1

Công thức này chia thành hai phần =regexreplace(A1,part_1,part_2,"((.+))"))

Phần 1: regexextract(A1,"((.+))")

Phần này trích xuất các chuỗi trong dấu ngoặc đơn.

Phần 2: =regexextract(REGEXREPLACE(A1,",","|"),"((.+))")

Phần này thay thế dấu phẩy trong dấu ngoặc đơn và sau đó trích xuất chúng.

Công thức B1 tìm kiếm phần 1 và thay thế nó bằng phần 2. Điều đó có nghĩa là công thức tìm kiếm “Sub Task 1, Sub Task 2” và thay thế nó bằng “Sub Task 1|Sub Task 2”.

Giải thích công thức B2

Công thức này sử dụng một biến thể của công thức B1 để tìm kiếm và thay thế dấu phẩy ngoài dấu ngoặc đơn.

Ở đây, chúng ta đã bọc công thức B1 bằng hai công thức REGEXREPLACE khác nhau.

Công thức đầu tiên thay thế các dấu phẩy bằng các ký hiệu “|”.

Công thức thứ hai thay thế ký hiệu “🐠” bằng dấu phẩy.

Cả hai công thức REGEXREPLACE ngoài cùng này đã thay thế các dấu phẩy ngoài dấu ngoặc đơn bằng ký hiệu “|” và sau đó thay thế ký hiệu “|” bằng dấu phẩy.

Các công thức trên sẽ không hoạt động nếu bạn có các giá trị trong nhiều dấu ngoặc đơn trong ô A1.

Thay thế dấu phẩy trong hoặc ngoài nhiều dấu ngoặc đơn

Trong các ví dụ trên, chúng ta chỉ có các nhiệm vụ phụ cho Nhiệm vụ 2. Hãy giả sử rằng chúng ta cũng có các nhiệm vụ phụ cho Nhiệm vụ 5.

Chuỗi dài trong ô A1 sẽ như sau:

“Task 1, Task 2 (Sub Task 1, Sub Task 2), Task 3, Task 4, Task 5 (Sub Task 1, Sub Task 2, Sub Task 3), Task 6, Task 7.”

Dưới đây là kết quả mong đợi:

Kết quả

Để tìm kiếm và thay thế dấu phẩy trong nhiều dấu ngoặc đơn, bạn có thể làm theo các bước sau:

Bước 1:

Trong ô D1, hãy chia tách chuỗi A1.

=ArrayFormula(TRIM(flatten(split(regexreplace(A1,".z","(🐟)"),")")))&")")

Công thức trên có các bước sau:

  1. Thêm (🐟) vào cuối chuỗi ở ô A1.
  2. Chia tách chuỗi dựa trên dấu ngoặc đóng, tức là “)” làm dấu phân cách.
  3. Thêm lại dấu ngoặc đóng đã bị loại bỏ trong quá trình chia tách.
  4. Làm phẳng để xuất kết quả dạng cột thay vì dạng hàng.

Bước 2:

Trong ô E1, sử dụng công thức B1 đã nêu ở trên.

=ArrayFormula(regexreplace(D1:D3,regexextract(D1:D3,"((.+))"),regexextract(REGEXREPLACE(D1:D3,",","|"),"((.+))")))

Ở đây, bạn sẽ thấy rằng chúng ta đã thay thế dấu phẩy trong nhiều dấu ngoặc đơn bằng các ký hiệu “|”.

Bước 3:

Trong ô B1, sử dụng công thức sau:

=textjoin("",true,ArrayFormula(regexreplace(E1:E3,"(🐟)","")))

Công thức này sẽ thay thế ký hiệu dư thừa “🐟” trong kết quả của bước 2 và sau đó kết hợp các chuỗi đã tách.

Bạn có thể kết hợp các bước từ 1 đến 3 và sử dụng chúng trong ô B1.

Thay thế dấu phẩy ngoài các dấu ngoặc đơn

Để thay thế dấu phẩy ngoài các dấu ngoặc đơn trong chuỗi dài trong Google Sheets, bạn có thể sử dụng bước 1 và bước 3.

Trong bước 2 ở trên, chúng ta đã sử dụng công thức B1 sau khi đã sửa đổi ô A1 bằng D1:D3.

Ở đây, thay vào đó, chúng ta nên sử dụng công thức B2 sau khi đã sửa đổi ô A1 bằng D1:D3.

Đó là tất cả.

Trong bảng tính mẫu dưới đây, bạn sẽ tìm thấy tất cả các công thức đã nêu ở trên.

“Example Sheet 191021”

Thông qua các công thức và hướng dẫn trên, bạn có thể dễ dàng thay thế dấu phẩy trong hoặc ngoài dấu ngoặc đơn trong Google Sheets. Hãy sử dụng công thức này để làm cho việc xử lý dữ liệu của bạn trở nên dễ dàng và thuận tiện hơn.

Crawlan.com là một công ty chuyên về SEO và tiếp thị trực tuyến. Chúng tôi cung cấp các giải pháp tiên tiến và chuyên nghiệp để giúp website của bạn đạt được thứ hạng tốt trên các công cụ tìm kiếm. Để biết thêm thông tin, hãy ghé thăm trang web của chúng tôi tại đây.

Related posts