Đếm ký tự có dấu

Liên hệ QC

anh033

Thành viên mới
Tham gia
27/5/09
Bài viết
9
Được thích
13
Trong một ô exel có họ và tên ví dụ : trần đức vũ nam, tôi muốn đếm xem có bao nhiêu từ có chữ có dấu, ví dụ tên trên thì trả kết quả là 3 : có ba từ có chữ có dấu, liệu không dùng macro, chỉ dùng công thức có đếm được không ?
(Hoặc đếm các ký tự có dấu cũng được)
Xin cám ơn.
 
Trong một ô exel có họ và tên ví dụ : trần đức vũ nam, tôi muốn đếm xem có bao nhiêu từ có chữ có dấu, ví dụ tên trên thì trả kết quả là 3 : có ba từ có chữ có dấu, liệu không dùng macro, chỉ dùng công thức có đếm được không ?
(Hoặc đếm các ký tự có dấu cũng được)
Xin cám ơn.
Đếm các ký tự có dấu thì đếm được, còn đếm chữ thì mình chưa nghĩ ra. Bạn thử công thức này xem sao.
Lưu ý, chuỗi ký tự phải là unicode, và viết thường toàn bộ thì công thức mới đúng.
Gõ công thức xong phải ấn tổ hợp phím Ctrl+Shift+Enter

{=SUM(((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<97)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>122))*((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))=63)))}
 

File đính kèm

  • test.xls
    22.5 KB · Đọc: 20
Đếm các ký tự có dấu thì đếm được, còn đếm chữ thì mình chưa nghĩ ra. Bạn thử công thức này xem sao.
Lưu ý, chuỗi ký tự phải là unicode, và viết thường toàn bộ thì công thức mới đúng.
Gõ công thức xong phải ấn tổ hợp phím Ctrl+Shift+Enter
Công thức này e rằng... không ăn thua rồi Kiệt ơi! Nhất là chữ có dấu nào đó mà cố thể gõ được trong của sổ VBE (ví dụ á, â, ô, ê...)
Ví dụ: Chuổi Ông Văn Thông thì công thức trên cho kết quả = 1
???
Tôi nghĩ cách dễ nhất là tạo 1 list bao gồm các ký tự có dấu, sau đó so sánh các ký tự với list này
 
Công thức này e rằng... không ăn thua rồi Kiệt ơi! Nhất là chữ có dấu nào đó mà cố thể gõ được trong của sổ VBE (ví dụ á, â, ô, ê...)
Ví dụ: Chuổi Ông Văn Thông thì công thức trên cho kết quả = 1
???
Tôi nghĩ cách dễ nhất là tạo 1 list bao gồm các ký tự có dấu, sau đó so sánh các ký tự với list này
Sorry anh, Công thức này có vẻ ổn hơn, nhưng chưa chắc
{=SUM(((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<97)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>122))*((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>32)))}
 
Trong một ô exel có họ và tên ví dụ : trần đức vũ nam, tôi muốn đếm xem có bao nhiêu từ có chữ có dấu, ví dụ tên trên thì trả kết quả là 3 : có ba từ có chữ có dấu, liệu không dùng macro, chỉ dùng công thức có đếm được không ?
(Hoặc đếm các ký tự có dấu cũng được)
Xin cám ơn.
Bạn xem trong file nhé.
Lưu ý: Công thức trong file chỉ sử dụng được đối với những bảng mã Unicode.
 

File đính kèm

  • Dem ky tu.xls
    23.5 KB · Đọc: 46
@huuthang_bd:
Chưa được bạn ạ, nếu nhập tên: lê trần tú thì kết quả là 3, trong khi đúng phải là 2, có dấu tức là các dấu sắc, huyền, ngã, hỏi, nặng trong ngũ thanh chứ không phải dấu ô, ê, ơ, ư.
 
@huuthang_bd:
Chưa được bạn ạ, nếu nhập tên: lê trần tú thì kết quả là 3, trong khi đúng phải là 2, có dấu tức là các dấu sắc, huyền, ngã, hỏi, nặng trong ngũ thanh chứ không phải dấu ô, ê, ơ, ư.
Tại bạn không giải thích rõ ràng ngay từ đầu. Bạn sửa lại name là được thôi mà.
 

File đính kèm

  • Dem ky tu.xls
    23.5 KB · Đọc: 44
Tôi kiểm tra thấy đúng rồi, cái row(1:134) là gì vậy, tôi phải fix nó lại thì khi kéo roẹt cho cả danh sách nó mới đúng.
 
Bạn cho tôi hỏi ngoài lề chút: Hổng biết bạn cần công thức đếm ký tự có dấu để làm cái gì? Ý tôi muốn hỏi nó phục vụ gì cho công việc của bạn?
 
Tôi kiểm tra thấy đúng rồi, cái row(1:134) là gì vậy, tôi phải fix nó lại thì khi kéo roẹt cho cả danh sách nó mới đúng.
134 là số ký tự của name KyTu. Lúc nãy sửa name tôi quên sửa công thức. Bạn sửa ROW(1:134) lại thành ROW(1:120) là được.
 
@ndu: Tôi đang viết trình excel để lấy quẻ dịch theo họ tên tự động để xem mệnh. Công thức này sẽ giúp cho bảng lấy quẻ ngắn gọn, hy vọng nó sẽ không bị lỗi với bất cứ cái tên nào.
 
cho em hỏi có cách nào đếm ký tự hoặc phân biệt giữa tên có dấu và không dấu ạ. Hiện tại em có ds nhiều học sinh trong đó có một số tên học sinh nhập thiếu dấu, em muốn lọc những dòng tên học sinh thiếu dấu để cập nhật lại cho đúng tên có dấu, vì dò thủ công thì rất lâu ạ. Cảm ơn các Anh Chị
 

File đính kèm

  • Ds hoc sinh.xlsx
    9.1 KB · Đọc: 15
Lần chỉnh sửa cuối:
cho em hỏi có cách nào đếm ký tự hoặc phân biệt giữa tên có dấu và không dấu ạ. Hiện tại em có ds nhiều khách hàng trong đó có một số tên khách hàng nhập thiếu dấu, em muốn lọc những dòng tên KH thiếu dấu để cập nhật lại cho đúng tên có dấu, vì dò thủ công thì rất lâu ạ. Cảm ơn các Anh Chị
Bạn hãy gửi File Demo lên đây để mọi người có cơ sở để thực hành.
 
cho em hỏi có cách nào đếm ký tự hoặc phân biệt giữa tên có dấu và không dấu ạ. Hiện tại em có ds nhiều học sinh trong đó có một số tên học sinh nhập thiếu dấu, em muốn lọc những dòng tên học sinh thiếu dấu để cập nhật lại cho đúng tên có dấu, vì dò thủ công thì rất lâu ạ. Cảm ơn các Anh Chị
Bạn tham khảo:
Lọc chuỗi có dấu và không dấu Tiếng Việt bằng Excel VBa
 
cho em hỏi có cách nào đếm ký tự hoặc phân biệt giữa tên có dấu và không dấu ạ. Hiện tại em có ds nhiều học sinh trong đó có một số tên học sinh nhập thiếu dấu, em muốn lọc những dòng tên học sinh thiếu dấu để cập nhật lại cho đúng tên có dấu, vì dò thủ công thì rất lâu ạ. Cảm ơn các Anh Chị
Nếu bạn muốn dùng VBA thì:
=NonSign(A1)

Hoặc: Bạn dùng ứng dụng nhỏ dưới xem sao
File bên dưới yêu cầu Internet Explore 9 trở lên.
Trong Code có đoạn "If Timer - t >= 1.5 Then" Bạn muốn nhanh thì sửa 1.5 nhỏ lại


PHP:
Function NonSign(ByVal Text$, _
        Optional ByVal sPattern$ = "^[A-z][\-\_\+A-z\s]*[A-z]$") As Boolean
  With CreateObject("vbscript.regexp")
    .Pattern = sPattern$
    .Global = True
    NonSign = .test(Text)
  End With
End Function
 

File đính kèm

  • NameSign.xlsb
    48.3 KB · Đọc: 20
Lần chỉnh sửa cuối:
Thế chữ d và đ thì sao nhỉ ? Còn ký tự gì nữa nhỉ ?
 
Cách này chỉ lọc được khoảng 90% trường hợp sai thôi. Không có cách nào biết được 100%
Họ thì VN chỉ có hạn, miễn cưỡng có thể biết được đúng sai. Nhưng tên thì khác, làm cách nào biết được là tên nên có dấu hay không?
Điển hình, chính trong danh sách có 2 tên:
Phan Thanh Son thì cho là sai; VN có tên Son mà!
Phan Thanh Long thì cho là đúng; tại sao không nghĩ là Thành Long?
Những tên khác như Dũng/Dung, Trí/Tri, Trình/Trinh, cả đống...
(họ cũng có Lâm/Lam, Lã/La...)
 
cho em hỏi có cách nào đếm ký tự hoặc phân biệt giữa tên có dấu và không dấu ạ. Hiện tại em có ds nhiều học sinh trong đó có một số tên học sinh nhập thiếu dấu, em muốn lọc những dòng tên học sinh thiếu dấu để cập nhật lại cho đúng tên có dấu, vì dò thủ công thì rất lâu ạ. Cảm ơn các Anh Chị
134 là số ký tự của name KyTu. Lúc nãy sửa name tôi quên sửa công thức. Bạn sửa ROW(1:134) lại thành ROW(1:120) là được.
Bạn giải thích giúp mình hàm Mid text là kytu và row(1:120) có ý nghĩa như thế nào được không ? thanks bạn nhiều
 
Web KT
Back
Top Bottom