kimloan96.414
Thành viên hoạt động



- Tham gia
- 28/11/12
- Bài viết
- 103
- Được thích
- 62
- Nghề nghiệp
- Bussines




Dạ em kính nhờ Quý thầy cô anh chị giúp em xử lý chuỗi trong file em đính kèm. Em xin cảm ơn



Dạ: Các số trong các ô từ B3->M3 là số thứ tự của khoảng trắng trong chuỗi! Mục đích của những khoảng trắng này mình dựa vào nó để tách các chử trong chuỗi A4,A5 đó ạ!Các ô khoảng trắng từ B3 -> M3 là thông tin của ô A4 mà, đâu có dùng được để áp dụng cho ô A5 đâu, bạn sai ở ô tô đỏ là đúng rồi còn gì.

Dạ: Các số trong các ô từ B3->M3 là số thứ tự của khoảng trắng trong chuỗi! Mục đích của những khoảng trắng này mình dựa vào nó để tách các chử trong chuỗi A4,A5 đó ạ!



Dạ: Em biết Text to column nhưng em muốn tìm ra một công thức chuẩn để lấy những khoảng trắng trong chuỗi.Anh chị để ý kỷ sẽ thấy khi áp dụng hàm FIND() cho khoảng trắng sau thì trong start_num sẽ bằng khoảng trắng trước nó cộng thêm 1 .Em cảm ơn anh chị nha!Công việc có nhất thiết áp dụng công thức không? vì dùng Text to colums cũng đáp ứng yêu cầu mà.
Text to colums/ Delimited/ Next/ trong mục Delimiters, chọn Space/ Next/ kết thúc...




Khi nào chán cái công thức kia thì dùng cái code này nhé. Hỏng ép nha.Dạ: Em biết Text to column nhưng em muốn tìm ra một công thức chuẩn để lấy những khoảng trắng trong chuỗi.Anh chị để ý kỷ sẽ thấy khi áp dụng hàm FIND() cho khoảng trắng sau thì trong start_num sẽ bằng khoảng trắng trước nó cộng thêm 1 .Em cảm ơn anh chị nha!
Sub tach_chu()
Dim tam, Kq(), dl(), i As Long, n As Byte, j As Byte
dl = Range([A4], [A65536].End(3)).Value
For i = 1 To UBound(dl)
tam = Split(Application.Trim(dl(i, 1)), " ")
If UBound(tam) > n Then n = UBound(tam) + 1
ReDim Preserve Kq(1 To UBound(dl), 1 To n)
For j = 0 To UBound(tam)
Kq(i, j + 1) = tam(j)
Next
Next
[B4].Resize(i - 1, n) = Kq
End Sub



Khi nào chán cái công thức kia thì dùng cái code này nhé. Hỏng ép nha.
Sao mỗi lần gặp anh Hải là cứ VeBenAnh vậy anh Hải ?Em đùa anh tí thôi nghe!
Cảm ơn anh Hải nhiều!
=IF(MID($A4,ROW(INDIRECT("1:"&LEN($A4))),1)=" ",ROW(INDIRECT("1:"&LEN($A4))),"")
=TRIM(MID(SUBSTITUTE(TRIM($A4)," ",REPT(" ",LEN($A4))),COLUMN(A:A)*LEN($A4),LEN($A4)))




Nói thiệt là anh cũng biết xài công thức nhưng gặp cái nào hơi khó tí là nghĩ đến VềBênAnhKhi nào chán cái công thức kia thì dùng cái code này nhé. Hỏng ép nha.
Sao mỗi lần gặp anh Hải là cứ VeBenAnh vậy anh Hải ?

vậy thì xài thử cái này xemDạ: Em biết Text to column nhưng em muốn tìm ra một công thức chuẩn để lấy những khoảng trắng trong chuỗi.Anh chị để ý kỷ sẽ thấy khi áp dụng hàm FIND() cho khoảng trắng sau thì trong start_num sẽ bằng khoảng trắng trước nó cộng thêm 1 .Em cảm ơn anh chị nha!



Dạ em cảm ơn anh nhiều! Có cách nào lấy số thứ tự của ký tự trống trong công thức này không anh?Bạn muốn tìm khoảng trắng thì dùng công thức này:
(kết quả trả về kiểu mảng nhé: muốn xem kết quả thì bôi đen công thức tại thanh công thức và nhấn F9)Mã:=IF(MID($A4,ROW(INDIRECT("1:"&LEN($A4))),1)=" ",ROW(INDIRECT("1:"&LEN($A4))),"")
còn nếu bạn muốn tách từng từ trong chuỗi thì đây:tại ô B4
Mã:=TRIM(MID(SUBSTITUTE(TRIM($A4)," ",REPT(" ",LEN($A4))),COLUMN(A:A)*LEN($A4),LEN($A4)))

tại Anh ấy đang cô đơn mà < thấy TungNguyen> chuận bị... nên Anh ấy khao khác....Khi nào chán cái công thức kia thì dùng cái code này nhé. Hỏng ép nha.
Sao mỗi lần gặp anh Hải là cứ VeBenAnh vậy anh Hải ?
Công thức này ở [B4] ra kết quả sao ta ??? hình như "tờ eo teo huyền" HícBạn muốn tìm khoảng trắng thì dùng công thức này:
Mã:còn nếu bạn muốn tách từng từ trong chuỗi thì đây:tại ô B4 [CODE]=TRIM(MID(SUBSTITUTE(TRIM($A4)," ",REPT(" ",LEN($A4))),COLUMN(A:A)*LEN($A4),LEN($A4)))



Dạ em cảm ơn anh Good-Luck nhiều! Như em đã thưa ở trên làm sao mình tìm được số thứ tự của kí tự trống trong chuỗi.Để khi tách chử ra thì mình chỉ việc đưa khoảng trống đó vào công thức mà thôi.Ví dụ:chử XUÂN=MID(A4,B3+1,(C3+1)-(B3+1))vậy thì xài thử cái này xem


Công thức này ở [B4] ra kết quả sao ta ??? hình như "tờ eo teo huyền" Híc
Thân




Sao tự nhiên làm khổ bản thân vậy? Công cụ có sẵn không chịu xài. Cứ đòi cái gì đâu hoài.Dạ em cảm ơn anh Good-Luck nhiều! Như em đã thưa ở trên làm sao mình tìm được số thứ tự của kí tự trống trong chuỗi.Để khi tách chử ra thì mình chỉ việc đưa khoảng trống đó vào công thức mà thôi.Ví dụ:chử XUÂN=MID(A4,B3+1,(C3+1)-(B3+1))
theo công thức trên thì ta chỉ cần lấy start_num =B3+1 và
num_chars =(C3+1)-(B3+1)) và chử AI==MID(A4,C3+1,(D3+1)-(C3+1))......



Nó chỉ ra khoảng trống mà thôi. Hình như tác giả lấy kí tự trống thì phải ? Nên em mới nhờ tác giả lấy số thứ tự trống đó trong chuỗi đó mà!Hình như công thức không đúng phải không bác, em test nó không ra kết quả.


Sao tự nhiên làm khổ bản thân vậy? Công cụ có sẵn không chịu xài. Cứ đòi cái gì đâu hoài.
Mà thật sự giờ mình phải nói là bái phục những bạn giỏi công thức. Tư duy đáng nể thật. Mình chịu thua.



Dạ em biết là vậy! Nhưng đôi khi mình muốn sài cái mình tự nghĩ ra nó sẽ phù hợp cho những anh chị mới học Excel như tụi em.Thanks anh Hải nhiều!Sao tự nhiên làm khổ bản thân vậy? Công cụ có sẵn không chịu xài. Cứ đòi cái gì đâu hoài.
Mà thật sự giờ mình phải nói là bái phục những bạn giỏi công thức. Tư duy đáng nể thật. Mình chịu thua.
hihi, em nhầm, vậy em chữa cháy như thế này:ở ô B4Công thức này ở [B4] ra kết quả sao ta ??? hình như "tờ eo teo huyền" Híc
Thân
=TRIM(MID(SUBSTITUTE(" "&TRIM($A4)," ",REPT(" ",LEN($A4))),COLUMN(A:A)*LEN($A4),LEN($A4)))
Thì giả sử đặt Name cho công thức trên là MA Bạn sử dụng công thức sau để lấy số thứ tự ký tự trốngkimloan đã viết:Dạ em cảm ơn anh nhiều! Có cách nào lấy số thứ tự của ký tự trống trong công thức này không anh? IF(MID($A4,ROW(INDIRECT("1:"&LEN($A4))),1)=" ",ROW(INDIRECT("1:"&LEN($A4))),"")
=IF(COLUMN(A:A)>COUNT(MA),"",SMALL(MA,COLUMN(A:A)))

vì kiến thức eo hẹp quá nên đành chịu vất vả thôi anh,Sao tự nhiên làm khổ bản thân vậy? Công cụ có sẵn không chịu xài. Cứ đòi cái gì đâu hoài.
Mà thật sự giờ mình phải nói là bái phục những bạn giỏi công thức. Tư duy đáng nể thật. Mình chịu thua.
Tưng tưng rồi, xin phép Smod, Mod xi- pam một cáivì kiến thức eo hẹp quá nên đành chịu vất vả thôi anh,
nhưng nói gì thì nói chứ mình biết thân phận mình mà : Về Bên Anh vừa già vừa xấu trai vậy Cô nào chịu chứ![]()

em tự nói bản thân thôi mà, anh cò mạnh cảm quá, chẳng lẽ anh cò cũng... <đùa vui thôi >Tưng tưng rồi, xin phép Smod, Mod xi- pam một cái...
Dạ em cảm ơn anh Good-Luck nhiều! Như em đã thưa ở trên làm sao mình tìm được số thứ tự của kí tự trống trong chuỗi.Để khi tách chử ra thì mình chỉ việc đưa khoảng trống đó vào công thức mà thôi.Ví dụ:chử XUÂN=MID(A4,B3+1,(C3+1)-(B3+1))
theo công thức trên thì ta chỉ cần lấy start_num =B3+1 và
num_chars =(C3+1)-(B3+1)) và chử AI==MID(A4,C3+1,(D3+1)-(C3+1))......
Công thức chưa chuẩn rồi kìa. Mất 1 chữ cuối nếu không có bị thừa khoảng trắng vô tình




Công thức chưa chuẩn rồi kìa. Mất 1 chữ cuối nếu không có bị thừa khoảng trắng vô tìnhthich dùng find thì chiều luôn lỡ lún vào rồi đành đi cho nót
dòng trên mình đã thực hiện cách tìn thứ tự ô trống <trong 1 chuỗi> của dòng đầu tiên, nhưng stt ô trống trên chỉ để gắm thôi



Dạ: em cảm ơn anh Good-Luck nhiều! Anh Good-Luck ạ! Công thức anh làm rất hay nhưng trừ chử đầu tiên còn lại các chử sau có thêm 1 kí tự trắng nữa đó anh.Chắc là phải trừ cho 1 thôi anh!thich dùng find thì chiều luôn lỡ lún vào rồi đành đi cho nót
dòng trên mình đã thực hiện cách tìn thứ tự ô trống <trong 1 chuỗi> của dòng đầu tiên, nhưng stt ô trống trên chỉ để gắm thôi
Dạ: em cảm ơn anh Good-Luck nhiều! Anh Good-Luck ạ! Công thức anh làm rất hay nhưng trừ chử đầu tiên còn lại các chử sau có thêm 1 kí tự trắng nữa đó anh.Chắc là phải trừ cho 1 thôi anh!



Em đã sửa lại công thức của em rồi! Anh Good-Luck vẫn để nguyên công thức của anh đi vẫn hữu dụng đấy.Công thức tách chử cũ:XUÂN=MID($A$4,B3+1,(C3+1)-(B3+1))thich dùng find thì chiều luôn lỡ lún vào rồi đành đi cho nót
dòng trên mình đã thực hiện cách tìn thứ tự ô trống <trong 1 chuỗi> của dòng đầu tiên, nhưng stt ô trống trên chỉ để gắm thôi