Thay thế nhiều lần trong một công thức ?

Liên hệ QC

Chuotdong

Thành viên thường trực
Tham gia
28/11/06
Bài viết
255
Được thích
60
Ví dụ tôi có chuỗi sau: "Cộng hòa xã hội, chủ - nghĩa Việt nam. Độc lập;..."

Tôi muốn tìm và thay thế, thay thế ";" thành "," và thay "," thành "." thay thế "-" thành " ", thay thế các ký tự đặc biệt thành "" .v.v... Bình thường tôi dùng lệnh SUBSTITUTE() nhiều lần, có cách nào viết các lệnh trên gộp vào không, thêm điều kiện kiểm tra trước nếu có ký tự đó thì sẽ thực hiện thay thế như trên để tránh báo lỗi
 
Yêu cầu của bạn chắc phải dùng VBA thôi, tôi chưa nghĩ ra hàm nào có thể giải quyết được cả.
 
Ví dụ tôi có chuỗi sau: "Cộng hòa xã hội, chủ - nghĩa Việt nam. Độc lập;..."

Tôi muốn tìm và thay thế, thay thế ";" thành "," và thay "," thành "." thay thế "-" thành " ", thay thế các ký tự đặc biệt thành "" .v.v... Bình thường tôi dùng lệnh SUBSTITUTE() nhiều lần, có cách nào viết các lệnh trên gộp vào không, thêm điều kiện kiểm tra trước nếu có ký tự đó thì sẽ thực hiện thay thế như trên để tránh báo lỗi
Bạn dùng nhiều SUBSTITUTE() lồng nhau là được.
 
Bạn dùng nhiều SUBSTITUTE() lồng nhau là được.
Nhưng kiểm tra điều kiện công thức sẽ hơi lằng nhằng nếu chuỗi đó chẳng may không có ký tự cần tìm sẽ ko biết là ký tự nào để bỏ qua. Nhưng có lẽ đúng là ko còn giải pháp công thức nào thông minh hơn
 
Nhưng kiểm tra điều kiện công thức sẽ hơi lằng nhằng nếu chuỗi đó chẳng may không có ký tự cần tìm sẽ ko biết là ký tự nào để bỏ qua. Nhưng có lẽ đúng là ko còn giải pháp công thức nào thông minh hơn

Bạn có thể lồng hàm IF vào công thức của bạn. Đại khái như:
=If(IsErr([Công thức của bạn]),[Cái gì đó bạn muốn],[Công thức của bạn])
 
Bạn có thể lồng hàm IF vào công thức của bạn. Đại khái như:=If(IsErr([Công thức của bạn]),[Cái gì đó bạn muốn],[Công thức của bạn])
Tóm lại theo bạn bao nhiêu lệnh SUBSTITUTE() thì phải có bấy nhiêu lệnh IF() chứ gì, vì mình cần là bỏ qua nếu ko thấy để tìm thay thế ký tự tiếp theo, chứ không phải trả về 1 thông báo lỗi. Thanks anyway
 
Tóm lại theo bạn bao nhiêu lệnh SUBSTITUTE() thì phải có bấy nhiêu lệnh IF() chứ gì, vì mình cần là bỏ qua nếu ko thấy để tìm thay thế ký tự tiếp theo, chứ không phải trả về 1 thông báo lỗi. Thanks anyway
Vâng, nếu bạn muốn dùng công thức thì chỉ có cách đó.

Nếu không muốn dùng công thức thì rất đơn giản, ấn Ctrl+H và bạn cứ thế mà Find and Replace.

Tương tự như vậy với VBA. Tuy nhiên, viết VBA thì bạn cũng phải hỏi người dùng là muốn thay thế ký tự nào? Nghĩa là giống Find and Replace của excel. Vậy Excel có sẵn rồi, cần gì viết thêm nữa!
 
Thế sao không dùng chức nang Find and Replace nhỉ?
 
Web KT

Bài viết mới nhất

Back
Top Bottom