ô A1 của em có nội dung là Cộng hòa xã hội chủ nghĩa Việt nam, bây giờ em phải dùng hàm gì để đếm số ký tự c có trong câu đó ah? (tất nhiên kết quả là 2). Em xin cảm ơn
=SUM(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="c",1,0))
Vì SUBSTITUTE có phân biệt HOA thường nên anh dùng LOWER để biến đổi. Tuy nhiên, hàm này lại lỗi với font Unicode nên cũng khó mà chính xác trong những trường hợp đặc biệt (chẳng hạn với ký tự ấ)Mình thấy dùng như sau cũng được và dễ hiểu:
=LEN(A1)-LEN(SUBSTITUTE(LOWER(A1),"c",""))
Thử công thức này tại cell B2 xem thế nào:Em định dùng bài toán đơn giản trên để áp dụng vào bài tập của em như ở dưới nhưng phức tạp như vậy chắc là em không nghĩ ra, rất mong mọi người giúp em. bài toán cần giúp đỡ của em như hình đính kèm (có sẵn cột A), lời giải điền ở cột B như sau ah:
![]()
=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(A2,"giữa","của"),"của",REPT(" ",255)),255))
Góp vui theo anh ndu thêm công thức nữa cho vui nhà vui cửaThử công thức này tại cell B2 xem thế nào:
PHP:=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(A2,"giữa","của"),"của",REPT(" ",255)),255))
=RIGHT(A1,LEN(TRIM(A1))-IFERROR(SEARCH("Của",TRIM(A1),1)+3,SEARCH("Giữa",TRIM(A1),1)+4))
Cái này có sợ lỗi khi chuyển các loại font qua lại với nhau không hả thày?Thử công thức này tại cell B2 xem thế nào:
PHP:=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(A2,"giữa","của"),"của",REPT(" ",255)),255))
Bạn dùng font gì thì cứ gõ vào cho đúng thôi. Ví dụ chữ "giữa", nếu là font VNI thì bạn phải ghi thành "giöõa" vào công thức (sao tui biết được)Cái này có sợ lỗi khi chuyển các loại font qua lại với nhau không hả thày?
REPT(" ",255)),255) ý nghĩa của nó là gì ah?
Giả sử nội dung là : " Hợp đồng giữa Cty A và nhà thầu của Cty B" thì kết quả sẽ bị sai sư phụ ơi.Thử công thức này tại cell B2 xem thế nào:
PHP:=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(A2,"giữa","của"),"của",REPT(" ",255)),255))
=RIGHT(SUBSTITUTE(A1,"giửa","của"),LEN(A1)-FIND(" ",A1,FIND("của",A1)))
=RIGHT(A1,LEN(A1)-SMALL(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)=" ",ROW(INDIRECT("1:"&LEN(A1))),""),3))
Dĩ nhiên là đầu vào làm sao mình phải có sự thống nhất, tình huống nhập dữ liệu chắc không có như anh giả sử đâu. Bởi suy cho cùng như thế thì nhà thầu sẽ là XN mà XN không có tư cách pháp nhân nên vẫn là Công ty B thôi.Giả sử nội dung là : " Hợp đồng giữa Cty A và nhà thầu của Cty B" thì kết quả sẽ bị sai sư phụ ơi.
Người ta đưa lên dữ liệu có nhiêu đó thì mình làm nhiêu đó. Người ta cũng nói rõ ràng rằng:Giả sử nội dung là : " Hợp đồng giữa Cty A và nhà thầu của Cty B" thì kết quả sẽ bị sai sư phụ ơi.
Vậy nếu có gì đó sai nguyên tắc là lỗi của tác giảVấn đề mấu chốt là cột A sẽ được tách nội dung phần chữ sau chữ của hoặc chữ giữa
Theo file ví dụ của em thì công thức này của bác cò bị thiếu chuỗi.ThânMã:=RIGHT(A1,LEN(A1)-SMALL(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)=" ",ROW(INDIRECT("1:"&LEN(A1))),""),3))
=IF(ISNUMBER(FIND("giữa",A2,1)),RIGHT(A2,LEN(A2)-MATCH("*"&"giữa",MID(A2,1,ROW(INDIRECT("1:"&LEN(A2)))),0)-1),RIGHT(A2,LEN(A2)-MATCH("*"&"của",MID(A2,1,ROW(INDIRECT("1:"&LEN(A2)))),0)-1))-CTRL-SHIFT-ENTER]
Bác có thể tham khảo bài này http://www.giaiphapexcel.com/forum/showthread.php?426-C%C3%A1c-ph%C6%B0%C6%A1ng-ph%C3%A1p-t%C3%A1ch-h%E1%BB%8D-v%C3%A0-t%C3%AAn-%C4%91%C3%AA%CC%80-nghi%CC%A3-post-%C6%A1%CC%89-%C4%91%C3%A2y/page4Giả sử nội dung là : " Hợp đồng giữa Cty A và nhà thầu của Cty B" thì kết quả sẽ bị sai sư phụ ơi.
Bó Bi với anh Bí Bo này luôn:Theo file ví dụ của em thì công thức này của bác cò bị thiếu chuỗi.
Công thức của em;
Mã:=IF(ISNUMBER(FIND("giữa",A2,1)),RIGHT(A2,LEN(A2)-MATCH("*"&"giữa",MID(A2,1,ROW(INDIRECT("1:"&LEN(A2)))),0)-1),RIGHT(A2,LEN(A2)-MATCH("*"&"của",MID(A2,1,ROW(INDIRECT("1:"&LEN(A2)))),0)-1))-CTRL-SHIFT-ENTER]
Hình như thằng Trim trong trường hợp này không có tác dụng hay sao thày ah. Khoảng trắng đằng trước nó không xóa được.Thử công thức này tại cell B2 xem thế nào:
PHP:=TRIM(RIGHT(SUBSTITUTE(SUBSTITUTE(A2,"giữa","của"),"của",REPT(" ",255)),255))
Hic, không chịu bó bi đâu bác Cò.Bó Bi với anh Bí Bo này luôn:
Lúc thì : "Hợp đồng giữa Cty A và nhà thầu của Cty B" . Lúc lại: "HĐ giữa Cty A va nhà thầu của Cty B"
Dữ liệu như thế thì Thầy Pm phối hợp với Thầy ndu cũng phải "Bó Bi"
Thật ra đây là bài toán tách chuỗi, tùy theo dữ liệu mà giải quyết, nếu chủ topic không đưa được tất cả các kiểu dữ liệu thì không giải quyết triệt để được vấn đề
Mình nói nếu cấu trúc dữ liệu đúng như trong ví dụ thì công thức mình sẽ lấy Right từ "thằng" khoảng trắng thứ 3 tới hết mà không quan tâm các cái khác
Híc, "bó bi"
Thân
[TABLE="width: 216"]
Sao nó có cái bảng, ngộ zị
[TR]
[TD][/TD]
[/TR]
[/TABLE]
Trong khi chưa tìm ra nguyên nhân hàm Trim trong công thức của thày ndu em dùng cái này:Hình như thằng Trim trong trường hợp này không có tác dụng hay sao thày ah. Khoảng trắng đằng trước nó không xóa được.
Em thắc mắc là nếu số ký tự của họ sau từ giữa lớn hơn 255 thì sao ah?
RIGHT(A2,LEN(A2)-3-FIND("@",SUBSTITUTE(SUBSTITUTE(A2,"giữa","của"),"của","@")))