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

Liên hệ QC

liemnv1402

Thành viên mới
Tham gia
10/5/10
Bài viết
2
Được thích
0
Cách lấy 1 phần trong chuỗi, xử lý trong excel làm thế nào?
Các anh chị giúp tôi nhé.

VD: Có chuỗi là: Nguyễn Viết Liêm (a0904689958z@gmail.com)

Tôi muốn lấy ra: a0904689958z@gmail.com từ chuỗi trên làm thế nào các anh chị ?

gửi cho tôi qua y meo: a0904689958z@gmail.com nhé.
Thaks!
 
Lần chỉnh sửa cuối:
Cách lấy 1 phần trong chuỗi, xử lý trong excel làm thế nào?
Các anh chị giúp tôi nhé.

VD: Có chuỗi là: Nguyễn Viết Liêm (a0904689958z@gmail.com)

Tôi muốn lấy ra: a0904689958z@gmail.com từ chuỗi trên làm thế nào các anh chị ?

gửi cho tôi qua y meo: a0904689958z@gmail.com nhé.
Thaks!
VD tại ô A1=Nguyễn Viết Liêm (a0904689958z@gmail.com)
Tại ô B1 Bạn nhập công thức sau:
Mã:
B1 =SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("(",A1)),")","")
Tùy theo định dạng của máy Bạn thay dấu phẩy "," thành dấu chấm phẩy ";" nhé!
 
Cách lấy 1 phần trong chuỗi, xử lý trong excel làm thế nào?
Các anh chị giúp tôi nhé.

VD: Có chuỗi là: Nguyễn Viết Liêm (a0904689958z@gmail.com)

Tôi muốn lấy ra: a0904689958z@gmail.com từ chuỗi trên làm thế nào các anh chị ?

gửi cho tôi qua y meo: a0904689958z@gmail.com nhé.
Thaks!

Công thức của bạn MinhCong tốt rồi,
Thêm một cách nữa:
PHP:
=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
 
Cách lấy 1 phần trong chuỗi, xử lý trong excel làm thế nào?
Các anh chị giúp tôi nhé.

VD: Có chuỗi là: Nguyễn Viết Liêm (a0904689958z@gmail.com)

Tôi muốn lấy ra: a0904689958z@gmail.com từ chuỗi trên làm thế nào các anh chị ?

gửi cho tôi qua y meo: a0904689958z@gmail.com nhé.
Thaks!
Đúng vấn đề mình đang quan tâm, các bro giúp mình với nhé :)
MÌnh đang cần lọc danh sách mail trong chuỗi mà bi' chưa giải quyết dc.
VD dẫy email sau làm thế nào lọc ra danh sách tùng mail đc ??? Thanks các bro nhiều :)
,<> ";>, "Nguyen Xuan Son" <xuan-son.nguyen@polytechnique.org>;nhapx@vnu.edu.vn; taita@vnu.edu.vn; nnthanh@vnu.edu.vn; nhson@vnu.edu.vn; anhnv@vnu.edu.vn;;> binhnt@vnu.edu.vn; dongtvp@vnu.edu.vn; ducvm@vnu.edu.vn; hand@vnu.edu.vn; hoandd@vnu.edu.vn;;> huyennt@vnu.edu.vn; locnv@vnu.edu.vn; namlt@vnu.edu.vn; ngocpb@vnu.edu.vn; nont@vnu.edu.vn;;> ntmphuong@vnu.edu.vn; ntntrang@vnu.edu.vn; trongtv@vnu.edu.vn; thinhht@vnu.edu.vn;;> tuent@vnu.edu.vn; thientc@vnu.edu.vn; dungcc@vnu.edu.vn; haudb@vnu.edu.vn; huett_htqt@vnu.edu.vn;;> huytn@vnu.edu.vn; phuongbh@vnu.edu.vn; anhtk@vnu.edu.vn; nguyentuananh@vnu.edu.vn;;> bachp@vnu.edu.vn; chiltk@vnu.edu.vn; chauvtn@vnu.edu.vn;
 
Đúng vấn đề mình đang quan tâm, các bro giúp mình với nhé :)
MÌnh đang cần lọc danh sách mail trong chuỗi mà bi' chưa giải quyết dc.
VD dẫy email sau làm thế nào lọc ra danh sách tùng mail đc ??? Thanks các bro nhiều :)
,<> ";>, "Nguyen Xuan Son" <xuan-son.nguyen@polytechnique.org>;nhapx@vnu.edu.vn; taita@vnu.edu.vn; nnthanh@vnu.edu.vn; nhson@vnu.edu.vn; anhnv@vnu.edu.vn;;> binhnt@vnu.edu.vn; dongtvp@vnu.edu.vn; ducvm@vnu.edu.vn; hand@vnu.edu.vn; hoandd@vnu.edu.vn;;> huyennt@vnu.edu.vn; locnv@vnu.edu.vn; namlt@vnu.edu.vn; ngocpb@vnu.edu.vn; nont@vnu.edu.vn;;> ntmphuong@vnu.edu.vn; ntntrang@vnu.edu.vn; trongtv@vnu.edu.vn; thinhht@vnu.edu.vn;;> tuent@vnu.edu.vn; thientc@vnu.edu.vn; dungcc@vnu.edu.vn; haudb@vnu.edu.vn; huett_htqt@vnu.edu.vn;;> huytn@vnu.edu.vn; phuongbh@vnu.edu.vn; anhtk@vnu.edu.vn; nguyentuananh@vnu.edu.vn;;> bachp@vnu.edu.vn; chiltk@vnu.edu.vn; chauvtn@vnu.edu.vn;
B1:
Cái này bạn thử dùng chức năng Text to columns... sau đó chọn Delimited---->Chọn Next---> hộp thoại xuất hiện

--->Tích chọn Other và điền (;) sau đó chọn Next --->0k.
B2: bạn copy vùng vừa thực hiện bước 1 sau đó---->Paste Special.... tích vào TRANSPOSE để chuyển về cột xem sao.
b3: vì khi dùng Text to... sau khi tách có một số mail có chứa >chiltk@.... bạn có thể dùng SUBSTITUTE (...,">"," ") để làm mất dấu ">"
Pm : cách này thủ công thui, còn dùng hàm thì đợi tiếp mọi ng trả lời
 
nhân tiện cho mình hỏi luôn cách lấy ký tự thứ trong 1 chuỗi

Ví dụ: text: "Giấy Ivory400 720x680 12000 tờ"
Dùng công thức nào tách 3 dữ liệu: Ivory400, 720x680 và 12000 (không dùng Text to colum nhé)

Cám ơn các bác đã quan tâm.
 
nhân tiện cho mình hỏi luôn cách lấy ký tự thứ trong 1 chuỗi

Ví dụ: text: "Giấy Ivory400 720x680 12000 tờ"
Dùng công thức nào tách 3 dữ liệu: Ivory400, 720x680 và 12000 (không dùng Text to colum nhé)

Cám ơn các bác đã quan tâm.

Bạn gửi nhiều dữ liệu lên đi xem hết các kiểu như thế nào để làm cho tổng quát , một cái thì dùng công thức làm gì? Nhé !
 
Đây bác ạ, dữ liệu nhiều lắm nhưng đa số là thế này
Cần phải tách từ chỗ kích thước ra làm 2 nữa để có thể tính ra trọng lượng của đống giấy.
 

File đính kèm

  • NhoGPE.xls
    21.5 KB · Đọc: 204
nhân tiện cho mình hỏi luôn cách lấy ký tự thứ trong 1 chuỗi

Ví dụ: text: "Giấy Ivory400 720x680 12000 tờ"
Dùng công thức nào tách 3 dữ liệu: Ivory400, 720x680 và 12000 (không dùng Text to colum nhé)

Cám ơn các bác đã quan tâm.
Giả sử dữ liệu của bạn nằm tại A1 trở xuống... Vậy ta làm như sau:
1> Đặt name
- Đặt con trỏ tại dòng 1 rồi vào menu Insert\Name\Define và đặt 1 name
PHP:
Arr =EVALUATE("{""" & SUBSTITUTE(Sheet1!$A1," ",""";""") & """}")
2> Công thức
3 giá trị mà bạn cần được trả về từ 3 công thức sau:
PHP:
=INDEX(Arr,2)
=INDEX(Arr,3)
=INDEX(Arr,4)
 

File đính kèm

  • Test1.xls
    13.5 KB · Đọc: 301
Đây bác ạ, dữ liệu nhiều lắm nhưng đa số là thế này
Cần phải tách từ chỗ kích thước ra làm 2 nữa để có thể tính ra trọng lượng của đống giấy.
Lúc đầu bạn hỏi khác... giờ đưa dữ liệu lên lại khác xa với những gì đã hỏi ---> Chết người ta còn gì
Hic...
 

File đính kèm

  • NhoGPE.xls
    34.5 KB · Đọc: 55
hic, bác nhìn kỹ lại cột E rồi giúp nốt em cái phần kích thước để tính ra cân nặng!
Em vẫn chưa xử lý được.
 
Có nhưng chưa đủ bác ạ, em vẫn phải ghi lại một cách thủ công kích thước khổ giấy vì giữa chiều dài và chiều rộng có chữ "x" ở giữa (ví dụ 60x80) thì em ko biết cách để nó tự lấy 60*80 được.
 
Có nhưng chưa đủ bác ạ, em vẫn phải ghi lại một cách thủ công kích thước khổ giấy vì giữa chiều dài và chiều rộng có chữ "x" ở giữa (ví dụ 60x80) thì em ko biết cách để nó tự lấy 60*80 được.
Ah... tôi hiểu rồi (nói 1 lần làm luôn có phải khỏe hơn không?)
Xem file mới này (chú ý các name trong Define name nhé)
 

File đính kèm

  • TachChuoi_Tinhtoan.xls
    32.5 KB · Đọc: 186
Mình có một câu hỏi về tách chuỗi như thế này:
chuỗi: abc2456xyz9874568ppkh4587985.....
Tách riêng các phần 2456 ra. (nhiều phần số: 2456 ; 9874568 ...)
tách riêng các phần abc ra. (nhiều phần chữ)
Trong đó abc có thể gồm nhiều ký tự.
2456 có thể gồm nhiều số.
 
Mình có một câu hỏi về tách chuỗi như thế này:
chuỗi: abc2456xyz9874568ppkh4587985.....
Tách riêng các phần 2456 ra. (nhiều phần số: 2456 ; 9874568 ...)
tách riêng các phần abc ra. (nhiều phần chữ)
Trong đó abc có thể gồm nhiều ký tự.
2456 có thể gồm nhiều số.
Yêu cầu này quá dễ nếu dùng VBA
PHP:
Function ExtractStr(Text As String, Sep As String, iChoose As Boolean) As String
  With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = IIf(iChoose, "\D", "\d")
    ExtractStr = .Replace(Text, " ")
  End With
  ExtractStr = Replace(WorksheetFunction.Trim(ExtractStr), " ", Sep)
End Function
- Giả sử dữ liệu của bạn nằm tại cell A1
- Để tách lấy phần số, gõ vào B1 công thức : =ExtractStr($A1,"; ",TRUE)
- Để tách lấy phần chữ, gõ vào C1 công thức : =ExtractStr($A1,"; ",FALSE)
 

File đính kèm

  • ExtractStr.xls
    18.5 KB · Đọc: 84
- Để tách lấy phần số, gõ vào B1 công thức : =ExtractStr($A1,"; ",TRUE)
- Để tách lấy phần chữ, gõ vào C1 công thức : =ExtractStr($A1,"; ",FALSE)
Cám ơn bác nhé! Em có chút ý kiến là thay true = số <>0 và False = 0 kết quả vẫn không đổi.
Cho em hỏi thêm nữa là: với cái đơn giản hơn:
abc12345
Trong VBA, em muốn tách riêng phần 12345 thành 1 biến mới để sử dụng.
Bác làm cái kết cấu dễ hiểu được không ạ! Em đang tập viết hàm :D
 
Cám ơn bác nhé! Em có chút ý kiến là thay true = số <>0 và False = 0 kết quả vẫn không đổi.
Cho em hỏi thêm nữa là: với cái đơn giản hơn:
abc12345
Trong VBA, em muốn tách riêng phần 12345 thành 1 biến mới để sử dụng.
Bác làm cái kết cấu dễ hiểu được không ạ! Em đang tập viết hàm :D
Nếu chỉ tách số thôi thì sửa hàm trên lại thành:
PHP:
Function ExtractStr(Text As String) As Double
  On Error Resume Next
  With CreateObject("VBScript.RegExp")
    .Global = True
    .Pattern = "\D"
    ExtractStr = .Replace(Text, "")
  End With
End Function
Càng đơn giản
 
Cám ơn bác nhé!
Để em hỏi rõ hơn bằng chính hàm em đang làm bác nhé:
Hàm đây:
Public Function kichthuoc(a As String, b As String, c As String) As String
'Ten ba kich thuoc co the xuat hien trong cong thuc tinh KL va DT
Dim e, f As Boolean
Dim k As Double
If b = "" Then
e = False
ElseIf k = Str(Right(b, 2))= 0 Then
e = False
Else
e = True
End If
If c = "" Then
f = False
ElseIf c = 0 Then
f = False
Else
f = True
End If
If e = True And f = True Then
kichthuoc = a + "x" + b + "x" + c
ElseIf e = True And f = False Then
kichthuoc = a + "x" + b
ElseIf e = False And f = True Then
kichthuoc = a + "x" + c
Else
kichthuoc = a
End If
End Function
Kết quả trả về của hàm này là ghép nối 3 giá trị trong 3 ô a, b, c thành một ô duy nhất với dấu x ở giữa các giá trị trong ô a, b, c.
VD:
a: V
b:60
c: 12
sẽ trả về kết quả là: Vx60x12
Tuy nhiên, em gặp trường hợp nếu cho b và c cũng đều có chữ thì kết quả lại sai :(.
Em khắc phục bằng cách dùng biến k tách riêng phần số của b ra.
Biến k mình sẽ ghi như thế nào để nó tách riêng phần số của b ra vậy ạ!
Em đang tập viết hàm, bác có thể dựa vào hàm em đang viết được không ạ?
Cám ơn bác một lần nữa.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom