Cách bỏ dấu ngoặc đơn trong số điện thoại trong Excel

SUBSTITUTE bên trong nhất sẽ xóa dấu ngoặc đơn bên trái và kết quả được chuyển cho SUBSTITUTE tiếp theo, thao tác này sẽ xóa dấu ngoặc đơn bên phải, v.v.

Bất cứ khi nào bạn sử dụng hàm SUBSTITUTE, kết quả sẽ là văn bản. Vì không áp dụng được định dạng số cho văn bản nên chúng ta cần chuyển văn bản sang số. Một cách để làm điều đó là thêm số không (+0), tự động chuyển đổi số ở định dạng văn bản thành số ở định dạng số

Cuối cùng, định dạng số điện thoại "Đặc biệt" được áp dụng (cột D)

Trang này giải thích các định dạng số tùy chỉnh và với nhiều ví dụ

Thủ thuật khoảng trắng để dễ đọc hơn

Khi lồng nhiều hàm, có thể khó đọc công thức và giữ cân bằng tất cả các dấu ngoặc đơn. Excel không quan tâm đến khoảng trắng thừa trong công thức, vì vậy bạn có thể thêm dấu ngắt dòng trong công thức để làm cho công thức dễ đọc hơn. Ví dụ, công thức trên có thể được viết như sau

=
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
A1,
"(",""),
")",""),
"-",""),
" ",""),
".","")

Lưu ý rằng ô xuất hiện ở giữa, với tên hàm ở trên và thay thế bên dưới. Điều này không chỉ làm cho công thức dễ đọc hơn mà còn giúp việc thêm và xóa thay thế dễ dàng hơn

A

hổ mang19

Thành viên mới

Tham gia ngày 9 tháng 5 năm 2003Messages40

  • Ngày 18 tháng 7 năm 2003
  • #1

Tôi có một cột nơi các số điện thoại được nhập bằng dấu ngoặc và dấu gạch ngang
tức là (902) 555-1234
Cột ở định dạng Văn bản
Tôi cần một macro sẽ loại bỏ dấu ngoặc và dấu gạch ngang và chỉ để lại số cho toàn bộ cột (hơn 3500 hàng)

tức là (902) 555-1234 đến 9025551234

Bất kỳ trợ giúp nào cũng được đánh giá rất cao

Thanks
hổ mang19

 

LừaOte

MrExcel MVP

Tham gia ngày 6 tháng 9 năm 2002Tin nhắn9,124

  • Ngày 18 tháng 7 năm 2003
  • #2

giả sử số trong A1, công thức này trong A2 sẽ trả về số bị tước

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"(",""),")","")," ",""),"-","")

Nếu bạn muốn VBA cho chúng tôi biết

 

C

thanh tẩy50

Thành viên mới

JoinedNov 1, 2011Messages46

  • Ngày 3 tháng 11 năm 2011
  • #4

Tôi thường xuyên xử lý cùng một việc để tải lên danh sách và rất thích một macro để xóa các danh sách này

Thanks

 

C

thanh tẩy50

Thành viên mới

JoinedNov 1, 2011Messages46

  • Ngày 3 tháng 11 năm 2011
  • #5

Tôi thường xuyên xử lý cùng một việc để tải lên danh sách và rất thích một macro để xóa các danh sách này

Tôi làm cách nào để cập nhật điều này để loại bỏ bất kỳ khách hàng tiềm năng nào "1","1","1-"

Thanks

 

Scott Huish

MrExcel MVP

Tham gia ngày 17 tháng 3 năm 2004Tin nhắn19,961Phiên bản Office

  1. 365
Nền tảng
  1. các cửa sổ

  • Ngày 3 tháng 11 năm 2011
  • #7

Bạn không cần SUBSTITUTE sau đó, chỉ cần lấy đúng 10 ký tự

=RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"-",""),")",""),"(","")," ",""),10)

 

X

Xx7

hội đồng quản trị thường xuyên

JoinedJ2 29, 2011Messages126

  • Ngày 3 tháng 11 năm 2011
  • #số 8

Đẹp. câu trả lời rất logic.

Cách xóa ký hiệu dấu ngoặc đơn trong Excel

Có nhiều cách để bạn có thể xóa một ký hiệu cụ thể khỏi dữ liệu trong Excel

Trong hướng dẫn này, chúng tôi sẽ chỉ xem xét ba trong số các phương pháp được sử dụng phổ biến nhất

  • Sử dụng tính năng Tìm và Thay thế
  • Sử dụng hàm SUBSTITUTE
  • Sử dụng VBA

Sử dụng tính năng Tìm và Thay thế để Xóa dấu ngoặc đơn trong Excel

Phương pháp này là phương pháp dễ nhất và được sử dụng phổ biến nhất để loại bỏ dấu ngoặc đơn trong Excel

Sử dụng phương pháp này nếu bạn muốn làm việc trên các ô ban đầu

Để xóa dấu ngoặc đơn khỏi tập dữ liệu đã cho của chúng tôi, hãy làm theo các bước được nêu bên dưới

  1. Điều hướng đến Trang chủ-> Tìm & Chọn-> Thay thế. Ngoài ra, bạn có thể nhấn phím tắt CTRL + H trên bàn phím của mình

  1. Thao tác này sẽ mở hộp thoại Tìm & Thay thế
  2. Nhập ký hiệu '(' vào hộp nhập bên cạnh 'Tìm gì' và để trống hộp nhập bên cạnh 'Thay thế bằng'. Điều này đảm bảo rằng Excel sẽ xóa biểu tượng '(' khỏi nội dung ô đã chọn của bạn

  1. Nhấn nút Replace All nếu bạn muốn thay thế tất cả các phiên bản của ký hiệu ‘(‘. Nếu bạn chỉ muốn xóa '(' khỏi ô đã chọn, hãy nhấn nút 'Thay thế'

  1. Lặp lại bước 3 và 4 để xóa ký hiệu đóng ngoặc đơn ')' theo cách tương tự

Trong ví dụ của chúng tôi, bây giờ bạn sẽ xóa tất cả các dấu ngoặc đơn khỏi trang tính

Sử dụng hàm SUBSTITUTE để xóa dấu ngoặc đơn trong Excel

Phương pháp trên thực hiện các thay đổi đối với các ô ban đầu

Tuy nhiên, nếu bạn muốn giữ nguyên dữ liệu gốc, thì cách tốt hơn để xóa dấu ngoặc đơn là sử dụng công thức

Trong excel, hàm SUBSTITUTE dùng để thay thế một bộ ký tự này bằng một bộ ký tự khác. Cú pháp của hàm như sau

SUBSTITUTE(text, old_text, new_text,[nth_appearance])

Nơi đây,

  • văn bản là chuỗi hoặc tham chiếu đến ô chứa chuỗi mà bạn muốn làm việc với
  • old_text là ký tự hoặc tập hợp ký tự mà bạn muốn thay thế
  • new_text là ký tự hoặc tập hợp ký tự mà bạn muốn thay thế old_text bằng
  • nth_appearance là số trường hợp của old_text mà bạn muốn thay thế. Tham số này là tùy chọn. Nếu nó bị bỏ qua thì mọi lần xuất hiện của old_text sẽ được thay thế bằng new_text

Hàm SUBSTITUTE chỉ cần lấy văn bản, thay thế một hoặc tất cả các lần xuất hiện của old_text bằng new_text và trả về chuỗi kết quả thu được

Hãy để chúng tôi sử dụng chức năng này để xóa dấu ngoặc đơn khỏi tất cả các ô trong tập dữ liệu đã cho của chúng tôi

  1. Trong ô B2, nhập công thức sau. =SUBSTITUTE(A2, “(“,””)
  2. Nhấn phím quay lại và sao chép công thức này xuống các ô còn lại trong cột B (sử dụng núm điều khiển điền). Bây giờ bạn sẽ tìm thấy tất cả các ký hiệu mở ngoặc đơn đã bị xóa khỏi các ô trong phạm vi A2. A9

  1. Tiếp theo, trong ô C2, nhập công thức sau. =SUBSTITUTE(B2, “)“,””)
  2. Lặp lại bước 2. Bây giờ bạn sẽ tìm thấy tất cả các ký hiệu dấu ngoặc đơn đã bị xóa khỏi các ô trong phạm vi A2. A9

  1. Sao chép các ô của cột C và dán theo Giá trị (CTRL+Alt+V) vào cột B nếu bạn muốn giữ lại các chuỗi ban đầu của cột A. Nếu bạn muốn ghi đè lên chuỗi gốc thì dán theo giá trị vào cột A
  2. Bây giờ bạn có thể tiếp tục và xóa tất cả các cột bổ sung đã tạo.  

Also read: Show Negative Numbers in Parentheses/Brackets in Excel

Sử dụng VBA để xóa dấu ngoặc đơn trong Excel

Trong cả hai phương pháp trên, bạn sẽ nhận thấy rằng chúng tôi phải loại bỏ từng biểu tượng của dấu ngoặc đơn cùng một lúc

Nếu bạn thường xuyên phải thực hiện tác vụ này, bạn có thể tiết kiệm thời gian bằng cách sử dụng một macro đơn giản giúp loại bỏ cả hai dấu ngoặc đơn chỉ bằng một cú nhấp chuột

Đây là mã mà bạn có thể sử dụng để triển khai Macro

Sub RemoveParentheses()
Dim ws As Worksheet
Dim rng As Range
Dim result As Range
Set ws = Application.ActiveSheet
Set rng = Application.Selection
For Each cell In rng
cell.Value = Replace(cell.Value, "(", "")
cell.Value = Replace(cell.Value, ")", "")
Next
End Sub

Mã này lấy một dải ô đã chọn và thay thế cả tín hiệu dấu ngoặc đơn mở và đóng từ văn bản trong các ô này

Để áp dụng tập lệnh này, hãy làm theo các bước được hiển thị bên dưới

  1. Từ tab Dữ liệu, chọn Visual Basic

  1. Khi cửa sổ VBA mở ra, nhấp vào Chèn-> Mô-đun

  1. Sao chép mã được cung cấp ở trên và dán mã vào cửa sổ mô-đun

  1. Đóng cửa sổ
  2. Bây giờ, hãy quay lại trang tính của bạn và chọn các ô mà bạn muốn làm việc (các ô  A2. A9 trong trường hợp của chúng tôi)
  3. Từ menu Nhà phát triển, chọn, Nhà phát triển-> Macro

  1. Thao tác này sẽ hiển thị hộp thoại Macro. Chọn macro có tên RemoveParentheses

  1. Nhấp vào Chạy

Bây giờ, mã của bạn sẽ chạy và xóa tất cả các dấu ngoặc đơn khỏi các ô đã chọn của bạn

Ghi chú. Bạn cũng có thể thêm lối tắt vào VBA vào Thanh công cụ truy cập nhanh (QAT). Điều này sẽ cho phép bạn chạy tập lệnh bất cứ khi nào bạn cần, chỉ bằng cách nhấp vào một nút duy nhất

Cách xóa dấu ngoặc đơn và nội dung bên trong của chúng trong Excel

Trong một số trường hợp, bạn có thể cần xóa dấu ngoặc đơn cùng với nội dung bên trong chúng

Điều này cũng có thể đạt được khá dễ dàng. Đây là hai cách để loại bỏ dấu ngoặc đơn cùng với nội dung của chúng

  • Sử dụng Tìm và Thay thế (với ký tự đại diện *)
  • Sử dụng các hàm LEFT và FIND

Sử dụng Tìm và Thay thế để Xóa Dấu ngoặc đơn và Nội dung Bên trong của chúng trong Excel

Phương pháp Tìm và Thay thế lại có thể được sử dụng để xóa dấu ngoặc đơn, cùng với nội dung của chúng

Đối với điều này, chúng ta cần sử dụng ký tự đại diện đại diện cho văn bản bên trong các ký hiệu dấu ngoặc đơn

Ký tự đại diện là một ký tự đặc biệt cho phép bạn hoàn thành khớp văn bản 'mờ'. Ví dụ: ký tự đại diện dấu hoa thị (*) có thể được sử dụng để biểu thị không hoặc nhiều ký tự trong một chuỗi

Vì vậy, chuỗi 's**r' có thể khớp với các chuỗi 'star', 'stir', 'scar', 'soar' cũng như 'sir'.  

Do đó, ký tự đại diện này có thể được sử dụng trong hộp thoại Tìm và Thay thế của bạn để dễ dàng khớp với tất cả các trường hợp chuỗi có định dạng '(*)'

Nói cách khác, tất cả các trường hợp dấu ngoặc đơn và nội dung bên trong chúng

Để xóa dấu ngoặc đơn và nội dung bên trong dấu ngoặc đơn bằng tính năng Tìm và Thay thế, hãy làm theo các bước tương tự được đề cập trong phần đầu tiên của hướng dẫn này, ngoại trừ chuỗi được nhập bên trong hộp nhập bên cạnh 'Tìm gì'

  1. Nhấn CTRL+H từ bàn phím của bạn
  2. Nhập chuỗi “(*)” vào ô nhập liệu bên cạnh ‘Find what’

  1. Nhấn nút Thay thế tất cả

Bây giờ bạn sẽ xóa tất cả các dấu ngoặc đơn (cùng với văn bản bên trong chúng) khỏi trang tính

Sử dụng hàm LEFT và FIND để xóa dấu ngoặc đơn và nội dung bên trong của chúng trong Excel

Nếu bạn thích sử dụng công thức thay vì làm việc trực tiếp trên dữ liệu gốc, thì sự kết hợp của hàm LEFT và FIND có thể giúp bạn loại bỏ dấu ngoặc đơn khỏi dữ liệu của mình cùng với văn bản bên trong dấu ngoặc đơn

Trước tiên, hãy cho chúng tôi hiểu từng chức năng này làm gì riêng lẻ

Hàm LEFT

Hàm LEFT được sử dụng để trích xuất (các) ký tự đầu tiên trong chuỗi văn bản bắt đầu từ bên trái. Cú pháp của hàm LEFT như sau

LEFT(text, [num_chars])

Nơi đây,

  • văn bản là chuỗi hoặc tham chiếu đến ô chứa chuỗi bạn muốn làm việc
  • num_chars là số ký tự mà bạn muốn trích xuất từ ​​bên trái của văn bản

Hàm LEFT lấy văn bản, trích xuất num_chars số ký tự từ bên trái của chuỗi và trả về các ký tự được trích xuất

Hàm TÌM

Hàm FIND dùng để tìm vị trí của một chuỗi con đã cho trong một chuỗi. Cú pháp của hàm FIND như sau

=FIND (find_text, within_text, [start_num])

Nơi đây,

  • find_text là chuỗi bạn muốn khớp
  • within_text là văn bản mà bạn muốn tìm kiếm trong
  • start_num là vị trí trong within_text mà bạn muốn bắt đầu tìm kiếm từ đó. Tham số này là tùy chọn

Về cơ bản, hàm FIND tìm kiếm trong within_text chuỗi tìm kiếm find_text và trả về một số biểu thị vị trí của chuỗi tìm kiếm này trong within_text

Để xóa dấu ngoặc đơn và nội dung bên trong dấu ngoặc đơn bằng công thức, tất cả những gì bạn cần làm là nhập công thức sau vào ô B2 rồi kéo thanh điều khiển điền xuống

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

Hàm trên chỉ đơn giản là trích xuất tất cả các ký tự xuất hiện trước dấu ngoặc đơn mở trong mỗi ô. Kết quả của việc này có thể được nhìn thấy trong ảnh chụp màn hình bên dưới

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

Hãy để chúng tôi hiểu cách thức hoạt động của công thức này bằng cách chia nhỏ nó, bắt đầu từ hàm bên trong

=FIND("(",A2)

Công thức trên chỉ đơn giản là tìm vị trí của dấu ngoặc đơn mở đầu, bắt đầu từ vị trí đầu tiên của văn bản. Đối với văn bản đầu tiên (ô A2), giá trị này trả về giá trị 7

Chúng tôi muốn trích xuất tất cả các ký tự trong văn bản trong A2 xuất hiện ngay trước dấu ngoặc đơn mở (hoặc tất cả các ký tự ở bên trái của biểu tượng dấu ngoặc đơn mở). Đối với điều này, chúng tôi sử dụng công thức sau

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

Vị trí thứ 7 trong văn bản là vị trí đặt dấu ngoặc đơn. Chúng tôi muốn trích xuất mọi thứ trước biểu tượng này

Nói cách khác, chúng tôi chỉ muốn 6 chữ cái đầu tiên bắt đầu từ bên trái của chuỗi trong ô A2. Đó là lý do tại sao chúng ta trừ 1 từ đầu ra của hàm FIND

Kết quả cuối cùng là 6 ký tự đầu tiên từ A2 hoặc chuỗi “Smith”

Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách xóa dấu ngoặc đơn khỏi văn bản trong hai trường hợp – khi bạn chỉ muốn xóa ký hiệu dấu ngoặc đơn và khi bạn muốn xóa dấu ngoặc đơn cùng với văn bản mà chúng bao quanh