Cách lấy 1 phần trong chuỗi, xử lý trong excel làm thế nào?

Liên hệ QC
Kính gởi Thầy ndu96081631,
Nhân topic này, con có file này kính nhờ Thầy giúp con với – trong File đính kèm đây ạ, cột A, B, D cố định, cột C lộn xộn – con muốn lọc từ cột C để đưa giá trị vào cột D (acc) và giá trị cột D này sẽ trả về giá trị tương ứng với cột B bằng chính account của người này đã được lọc từ cột C (nếu có) – trường hợp không có trả về rỗng

Thầy giúp con với Thầy nhé
Con cảm ơn Thầy nhiều ơi là nhiều
Con mong tin Thầy lắm ạ
Con chuotpt3
Công thức tại D4:
Mã:
=IF(COUNTIF($C$4:$C$20,"*"&B4&"*"),B4,"")
Kéo fill xuống
(đoán đại, hên thì trúng)
 
Con cảm ơn Thầy ndu96081631 lắm ạ – Đúng như con mô tả .........

Nhưng Sếp con đang cần thông tin như File đây Thầy: từ 1 cột lộn xộn "Trần Quang Vinhvinhtq12@gmail.com" – tách thành 2 cột: 1 cột account = "vinhtq12@gmail.com" và 1 cột Full name = "Trần Quang Vinh"

Con đính kèm File đây Thầy ơi.

Thầy giúp con với ạ – con cảm ơn Thầy nhiều lắm
Con chuotpt3
 

File đính kèm

  • chuotpt3.xlsx
    10.9 KB · Đọc: 14


Nhưng Sếp con đang cần thông tin như File đây Thầy: từ 1 cột lộn xộn "Trần Quang Vinhvinhtq12@gmail.com" – tách thành 2 cột: 1 cột account = "vinhtq12@gmail.com" và 1 cột Full name = "Trần Quang Vinh"

Đã xem qua file! Lộn xộn kiểu đó, đừng nói là công thức, cho dù dùng VBA cũng không biết có làm được không nữa
 

......
Nhưng Sếp con đang cần thông tin như File đây Thầy: từ 1 cột lộn xộn "Trần Quang Vinhvinhtq12@gmail.com" – tách thành 2 cột: 1 cột account = "vinhtq12@gmail.com" và 1 cột Full name = "Trần Quang Vinh"
......
Thử cái mớ lộn xộn ( nhưng cũng có tí tẹo quy luật) này bằng VBA xem sao, chưa lường được hết các trường hợp ( vì mới....thử & các ký tự hổng biết lấy đủ chưa nữa), dữ liệu in ít như trong bài thì .....hình như được+-+-+-++-+-+-++-+-+-+
Thân
 

File đính kèm

  • chuotpt3.rar
    22.9 KB · Đọc: 34
Dạ ... con cảm ơn Thầy concogia và Thầy ndu96081631 ........
Đúng ý sếp con rồi ạ ........
:<> :<> :<> :<> :<> :<> :<> :<> :<> :<> :<>
 
Phân tích chuỗi Trần Quang Vinhvinhtq12@gmail.com
- Nếu loại phần domain ra thì còn lại tên và tên mail. (Trần Quang Vinhvinhtq12)
- Nếu tách theo " " thì được chuỗi cuối cùng là tên cộng vài ký tự (Vinhvinhtq12)
- Nếu loại chữ số ra thì còn lại chỉ ký tự tên và họ viết tắt (Vinhvinhtq)
- Nếu trừ số ký tự viết tắt thì còn lại 2 lần tên (Vinhvinh)
- Chia 2 thì còn lại tên
- Join trở lại thì được họ tên

Mã:
Function LayTen(ByVal s As String) As String
[COLOR=#008000]' lấy tên ra từ chuỗi dạng Trần Quang Vinhvinhtq12@gmail.com[/COLOR]
Dim hoTen, ten
Dim i As Integer
hoTen = Split(Split(s, "@")(0), " ") [COLOR=#008000]' loại bỏ phần sau dấu @ và tách ra từng từ[/COLOR]
ten = hoTen(UBound(hoTen))
For i = 0 To 9[COLOR=#008000] ' loại các ký tự dạng chữ số[/COLOR]
  ten = Replace(ten, i, "")
Next i
[COLOR=#008000]' lưu ý: ubound(hoTen) cũng là số từ của họ và đệm[/COLOR]
ten = Left(ten, (Len(ten) - UBound(hoTen)) / 2)
hoTen(UBound(hoTen)) = ten
LayTen = Join(hoTen, " ")
End Function
 
Lần chỉnh sửa cuối:
Giup em file này với các thầy ơi. Nội dung là em muốn lọc tên xã ở file này. Có 18 xã tất cả. Khi lọc xong cho sang 1 cột
 

File đính kèm

  • LocTrung.xls
    599.5 KB · Đọc: 17
kính gởi các anh chị,

Em có 1 file như file đính kèm, xin hỏi anh chị làm sao để tách chỉ lấy địa chỉ E-mail thôi. đừng bắt em copy từng cái nhé! xin cảm ơn!
 

File đính kèm

  • Book1.xlsx
    10.3 KB · Đọc: 4
kính gởi các anh chị,

Em có 1 file như file đính kèm, xin hỏi anh chị làm sao để tách chỉ lấy địa chỉ E-mail thôi. đừng bắt em copy từng cái nhé! xin cảm ơn!
Dữ liệu của bạn khá lung tung, ko biết file thật có còn tình huống nào ko, Nếu còn thì gửi thêm dữ liệu lên rồi mới tính đến chuyện lọc ra được chính xác
 

File đính kèm

  • Book1.xlsm
    17.9 KB · Đọc: 12
Bạn thử CT này ở ô B1 nhe!!!!!
Mã:
B1=IF(ISERR(--MID(A1,FIND(",,,,",A1)+4,5)>10^4),"",LEFT(A1,FIND(",,,,",A1)-1))
Rồi fill xuống!!!
 
Các anh chị cao thủ excel, đọc các bài toán excel trong topic, các anh chị làm hay quá. Em đọc và làm theo rất thích ạ.
Hôm nay, em có bài toán excel mọi người giúp em tìm ra lời giải với, em cảm ơn nhiều ạ.

Gía trị ô
A1: http://www.youtube.com/watch?v=xILx6kr3ObY,,,,114219,1 year ago
A2: http://www.youtube.com/watch?v=3OPzs9CTPNA,,,,134659,3 years ago
A3: http://www.youtube.com/watch?v=pEQAB459ZS8,,,,233,1 year ago

YÊU CẦU:
1. LẤY PHẦN SỐ: giữa 4 dấu phẩy(,,,,) và 1 dấu phẩy(,) ; đó là 114219(A1); 134659(A2); 233(A3)..., để sau đó em lấy số này so với 10000, rồi dãy kí tự nào nào có giá trị số hơn thì em lại làm bước 2
2. Dãy nào thỏa mãn thì TÁCH LẤY PHẦN LINK youtube(phần trước 4 dấu phẩy) ra khỏi dãy kí tự.

EM CẢM ƠN RẤT NHIỀU KHI NHẬN ĐƯỢC SỰ GIÚP ĐỠ CỦA MỌI NGƯỜI :D
Em có phần tệp đính kèm bên dưới ạ! ^^
Dữ liệu của bạn một số địa chỉ từ dòng 1 đến dòng 51 không đúng như trong vd của bạn, nên mình sẽ làm từ dòng 52 trở xuống, còn phần ở trên nếu bạn muốn không báo lỗi thì cài thêm hàm IFERROR nửa nghe. Tại ô I52 bạn gõ công thức như sau:
Mã:
=IF(--MID(A52,FIND(",,,,",A52,1)+4,FIND(",",A52, FIND(",,,,",A52,1)+4)-FIND(",,,,",A52,1)-4)>10000,LEFT(A52,FIND(",,,,",A52,1)-1),"")
Fill CT xuống dưới.
 
Web KT
Back
Top Bottom