Tìm đếm số ký tự trong 1 dòng của ô

Liên hệ QC

akotu12

Thành viên mới
Tham gia
22/5/18
Bài viết
15
Được thích
1
Hi anh chị ,
Em muốn đếm số ký tự trong 1 dòng của ô thì giải pháp là dùng gì trong Excel ạ ?

Ví dụ : 1 ô dữ liệu có chứa đoạn

ABCDE
1234

Thì đếm mỗi 1 dòng trong ô đó , đưa ra 2 kết quả đếm là :
5
4

Em cảm ơn anh chị đã xem bài ạ .
 
Hi anh chị ,
Em muốn đếm số ký tự trong 1 dòng của ô thì giải pháp là dùng gì trong Excel ạ ?

Ví dụ : 1 ô dữ liệu có chứa đoạn

ABCDE
1234

Thì đếm mỗi 1 dòng trong ô đó , đưa ra 2 kết quả đếm là :
5
4

Em cảm ơn anh chị đã xem bài ạ .

Trong cùng 1 ô chắc không thể làm được.
 
Hi anh chị ,
Em muốn đếm số ký tự trong 1 dòng của ô thì giải pháp là dùng gì trong Excel ạ ?

Ví dụ : 1 ô dữ liệu có chứa đoạn

ABCDE
1234

Thì đếm mỗi 1 dòng trong ô đó , đưa ra 2 kết quả đếm là :
5
4

Em cảm ơn anh chị đã xem bài ạ .
Nếu dữ liệu chỉ đơn giản 2 dòng như của anh/chị thì em viết thử nó như vầy
=CONCATENATE(FIND(CHAR(10),A1)-1,CHAR(10),LEN(A1)-FIND(CHAR(10),A1))
Nhớ Wrap Text ạ
 
Lần chỉnh sửa cuối:
Trong cùng 1 ô chắc không thể làm được.
Nếu sử dụng hàm tự tạo thì ok, không có vấn đề gì cả. Đại khái là như thế này code này chưa có bẫy lỗi gì hết nha, nghĩ sao làm vậy
Mã:
Function tach(Chuoi As String)
Dim Noiso  As String
Dim Dem As Long
Chuoi = Range("A1")
Dem = 0

For i = 1 To Len(Chuoi)

    If Mid(Chuoi, i, 1) <> Chr(10) Then
          Dem = Dem + 1
    Else
        Noiso = Noiso & Dem & " " & Chr(10)
        Dem = 0
    End If
 
Next
If Dem > 0 Then
     Noiso = Noiso & Dem & " " & Chr(10)
End If
tach = Noiso
End Function
 
Hi anh chị ,
Em muốn đếm số ký tự trong 1 dòng của ô thì giải pháp là dùng gì trong Excel ạ ?

Ví dụ : 1 ô dữ liệu có chứa đoạn

ABCDE
1234

Thì đếm mỗi 1 dòng trong ô đó , đưa ra 2 kết quả đếm là :
5
4

Em cảm ơn anh chị đã xem bài ạ .
Dùng thử hàm tự tạo này xem sao bạn
Mã:
Public Function Tach(Chuoi)
Dim i
For Each i In Split(Chuoi, Chr(10))
    Tach = Tach & " " & Len(i)
Next i
Tach = Replace(Trim(Tach), " ", " " & Chr(10))
End Function
 
Hi anh chị ,
Em muốn đếm số ký tự trong 1 dòng của ô thì giải pháp là dùng gì trong Excel ạ ?

Ví dụ : 1 ô dữ liệu có chứa đoạn

ABCDE
1234

Thì đếm mỗi 1 dòng trong ô đó , đưa ra 2 kết quả đếm là :
5
4

Em cảm ơn anh chị đã xem bài ạ .
Giả sử:
A1=ABCDE
1234​
56789​
Chọn từ B1: K1, dán công thức:
Mã:
B1=INDEX(LEN(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",100)),(COLUMN($A:$J)-1)*100+1,100))),)
Kết thúc bằng Ctrl+Shift+Enter.
Giải pháp trên dành cho 10 dòng trong 1 ô, muốn nhiều hơn bạn chỉ thay đổi COLUMN($A:$J)-1)*100+1, ví dụ có khoảng 50 dòng thì điều chỉnh: COLUMN($A:$AX)-1)*100+1

Hoặc kết hợp với hàm JoinText() của thầy @ndu96081631, như sau:
Mã:
B1=JoinText(CHAR(10),INDEX(1/(1/LEN(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",100)),(COLUMN($A:$J)-1)*100+1,100)))),))
Enter, rồi fill xuống. Format cột B: "Wrap Text"

Thân
 

File đính kèm

  • ChieuDai.xlsb
    16.2 KB · Đọc: 9
Lần chỉnh sửa cuối:
Giả sử:
A1=ABCDE
1234​
56789​
Chọn từ B1: K1, dán công thức:
Mã:
B1=INDEX(LEN(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",100)),(COLUMN($A:$J)-1)*100+1,100))),)
Kết thúc bằng Ctrl+Shift+Enter.
Giải pháp trên dành cho 10 dòng trong 1 ô, muốn nhiều hơn bạn chỉ thay đổi COLUMN($A:$J)-1)*100+1, ví dụ có khoảng 50 dòng thì điều chỉnh: COLUMN($A:$AX)-1)*100+1

Hoặc kết hợp với hàm JoinText() của thầy @ndu96081631, như sau:
Mã:
B1=JoinText(CHAR(10),INDEX(1/(1/LEN(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",100)),(COLUMN($A:$J)-1)*100+1,100)))),))
Enter, rồi fill xuống. Format cột B: "Wrap Text"

Thân

Trước giờ cứ nghĩ cái gì không biết thì cứ lên GPE nhờ mọi người giúp đỡ. Giờ mới thấy nếu có thời gian thì cứ lên GPE sẽ có rất nhiều cài hay mà chưa từng biết để học. Cám ơn BQT GPE!
 
Giải thuật là tách ra, đếm rồi nối lại. Hết.

Function Dem(byVal s as string) As String
' Hàm đếm độ dài từng đoạn chuỗi con
Dim chuoi As Variant, e As Variant, cach As String
cach = Chr(10) ' xác định dấu cách chuỗi
chuoi = Split( s, cach) ' tách ra từng đoạn
For each e in chuoi
e = Cstr(Len(e)) ' thay thế đoạn chuỗi bằng độ dài của nó
Next e
Dem = Join(chuoi, cach) ' nối lại
End Fucntion

Nếu muốn triển khai rộng hơn thì thay biến cach thành tham
Function Dem(byVal s As String, Optional cach As String = " ") As String
 
Em cảm ơn tất cả mọi người ạ !!!!! quá hay
 
Web KT
Back
Top Bottom