PDA

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



liemnv1402
15-05-10, 03:41 AM
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!

MinhCong
15-05-10, 07:51 AM
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:

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é!

dat_butmuc
15-05-10, 08:43 AM
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:

=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)

concogia
15-05-10, 08:47 AM
Công thức của bạn MinhCong tốt rồi,
Thêm một cách nữa:

=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
Vui quá, cũng tham gia một cách
=MID(A1,FIND("(",A1)+1,LEN(A1)-FIND("(",A1)-1)

ktstqt
15-05-10, 07:52 PM
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;

khoavu87
15-05-10, 08:17 PM
Đú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

nonut
15-06-10, 02:14 PM
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.

dat_butmuc
15-06-10, 02:19 PM
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é !

nonut
15-06-10, 02:25 PM
Đâ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.

ndu96081631
15-06-10, 02:25 PM
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

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:

=INDEX(Arr,2)
=INDEX(Arr,3)
=INDEX(Arr,4)

ndu96081631
15-06-10, 02:34 PM
Đâ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...

nonut
15-06-10, 02:38 PM
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.

ndu96081631
15-06-10, 02:52 PM
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ột E bạn có sẳn công thức rồi cơ mà... Bạn còn muốn thế nào nữa?

nonut
15-06-10, 02:53 PM
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.

ndu96081631
15-06-10, 02:59 PM
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é)

Xung_Doanh
26-06-10, 11:21 AM
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ố.

ndu96081631
26-06-10, 12:13 PM
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


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)

Xung_Doanh
26-06-10, 01:13 PM
- Để 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

ndu96081631
26-06-10, 01:20 PM
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:


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

Xung_Doanh
26-06-10, 01:32 PM
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.

ndu96081631
26-06-10, 02:13 PM
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:
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.
Tôi đang thắc mắc, tại sao hàm của bạn không là như vầy nhỉ:


Public Function kichthuoc(a As String, b As String, c As String) As String
Dim Tmp As String
a = Replace(a, " ", vbBack)
b = Replace(b, " ", vbBack)
c = Replace(c, " ", vbBack)
Tmp = a + " " + b + " " + c
Tmp = WorksheetFunction.Trim(Tmp)
Tmp = Replace(Tmp, " ", "x")
kichthuoc = Replace(Tmp, vbBack, " ")
End Function

anhkietvn
19-07-10, 01:16 PM
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:
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.

xin cung cấp cho bạn 1 hàm cực kỳ đơn giản nhé
code:


Public Function kichthuoc(a, b, c)
kichthuoc = Trim(a) & IIf(Trim(b) <> "", "x" & Trim(b), "") & IIf(Trim(c) <> "", "x" & Trim(c), "")
End Function

ndu96081631
19-07-10, 07:52 PM
xin cung cấp cho bạn 1 hàm cực kỳ đơn giản nhé
code:


Public Function kichthuoc(a, b, c)
kichthuoc = Trim(a) & IIf(Trim(b) <> "", "x" & Trim(b), "") & IIf(Trim(c) <> "", "x" & Trim(c), "")
End Function


Đâu có được chứ
Nếu a = "" thì hàm của bạn cho kết quả = xbxc à? (mà lý ra nó phải là bxc)

anhkietvn
20-07-10, 08:36 AM
Đâu có được chứ
Nếu a = "" thì hàm của bạn cho kết quả = xbxc à? (mà lý ra nó phải là bxc)
Đó là mình làm theo câu hỏi của Xung_Doanh, do bạn ấy không đề cập tới a được phép có giá trị rỗng.
Còn nếu bạn muốn phân tích các thuật giải thì mình sẵn sàng, còn nếu nói như bạn thì hàm của mình còn tốt hơn nhiều so với hàm của bạn viết đấy. Bạn thử lấy hàm của bạn truyền vào các giá trị a,b,c đều là các giá trị rỗng thử xem sao nhé.

ndu96081631
20-07-10, 09:01 AM
Đó là mình làm theo câu hỏi của Xung_Doanh, do bạn ấy không đề cập tới a được phép có giá trị rỗng.
Còn nếu bạn muốn phân tích các thuật giải thì mình sẵn sàng, còn nếu nói như bạn thì hàm của mình còn tốt hơn nhiều so với hàm của bạn viết đấy. Bạn thử lấy hàm của bạn truyền vào các giá trị a,b,c đều là các giá trị rỗng thử xem sao nhé.
Xin chỉ giáo giùm: Nó tốt chổ nào?
Nếu a, b, c đều = rổng thì hàm của tôi sẽ trả về giá trị rổng và hàm của bạn cũng thế!
--------
Giờ bạn thử sửa lại hàm của bạn sao cho giá trị nào rổng cũng tính được xem thế nào?
Tôi rất muốn học hỏi những giải thuật mới

thanhbaby3005
05-08-10, 08:54 AM
mình vẫn chưa hiểu lắm. Mong mọi người giúp đỡ tách cái chuỗi này với.Tách cái chữ phần đỏ.

HTN - LÀM SAO TÁCH CÁI NÀY RA - FJTL
TIYHPW - LAM SAO DE TACH - ALJFOIULAK2354

dat_butmuc
05-08-10, 09:15 AM
mình vẫn chưa hiểu lắm. Mong mọi người giúp đỡ tách cái chuỗi này với.Tách cái chữ phần đỏ.

HTN - LÀM SAO TÁCH CÁI NÀY RA - FJTL
TIYHPW - LAM SAO DE TACH - ALJFOIULAK2354

Cho chuỗi trên tại A1, dùng tạm:
=TRIM(LEFT(RIGHT(A1,LEN(A1)-FIND("-",A1)),FIND("-",RIGHT(A1,LEN(A1)-FIND("-",A1)-1))))

diepphiphi
09-11-10, 01:36 AM
Thế tách abc123 từ abc123dfdsfgsdfg như thế nào vậy? Thanks!!!

MinhCong
09-11-10, 07:51 AM
Thế tách abc123 từ abc123dfdsfgsdfg như thế nào vậy? Thanks!!!
Theo câu hỏi của Bạn thì chỉ cần như vầy:
VD: A1=abc123dfdsfgsdfg

=LEFT(A1,6)

friendsvn
05-09-13, 04:42 PM
Mình có vấn đề này, nhờ các bạn giúp mình với.
Vd mình có 3 ô:
03/2013/TT-BXD
19/2013/QĐ-TTg
28/2013/NĐ-CP
Giờ muốn kiểm tra xem nội dung chuỗi của ô đó là TT thì ghi "Thông Tư", QĐ thì ghi "Quyết Định", NĐ thì ghi là "Nghị Định"
thì làm sao nhỉ?

ndu96081631
05-09-13, 07:30 PM
Mình có vấn đề này, nhờ các bạn giúp mình với.
Vd mình có 3 ô:
03/2013/TT-BXD
19/2013/QĐ-TTg
28/2013/NĐ-CP
Giờ muốn kiểm tra xem nội dung chuỗi của ô đó là TT thì ghi "Thông Tư", QĐ thì ghi "Quyết Định", NĐ thì ghi là "Nghị Định"
thì làm sao nhỉ?

Chuổi màu đỏ ở trên là QUYẾT ĐỊNH hay THÔNG TƯ (vì nó vừa có QĐ lại vừa có TT)

CTLCT
05-09-13, 07:44 PM
Chuổi màu đỏ ở trên là QUYẾT ĐỊNH hay THÔNG TƯ (vì nó vừa có QĐ lại vừa có TT)
Em trả lời thay bạn đó.
Chữ TTg là Thủ tướng đó bác.
Đó là quy định viết tắt đánh số hiệu văn bản của Nhà nước mà em học mót được hii

Ba Tê
05-09-13, 07:58 PM
Mình có vấn đề này, nhờ các bạn giúp mình với.
Vd mình có 3 ô:
03/2013/TT-BXD
19/2013/QĐ-TTg
28/2013/NĐ-CP
Giờ muốn kiểm tra xem nội dung chuỗi của ô đó là TT thì ghi "Thông Tư", QĐ thì ghi "Quyết Định", NĐ thì ghi là "Nghị Định"
thì làm sao nhỉ?
Nếu quy luất của số văn bản như vậy thì thử làm cách này xem sao, tuy dài nhưng cũng tạm ổn.

ndu96081631
05-09-13, 09:08 PM
Em trả lời thay bạn đó.
Chữ TTg là Thủ tướng đó bác.
Đó là quy định viết tắt đánh số hiệu văn bản của Nhà nước mà em học mót được hii

Nếu vậy thì nhập công thức này vào B1:

=LOOKUP(2,1/COUNTIF(A1,{"*","*NĐ-*","*QĐ-*","*TT-*"}),{"Đếch biết","Nghị định","Quyết định","Thông tư"})
----------------------------------

Nếu quy luất của số văn bản như vậy thì thử làm cách này xem sao, tuy dài nhưng cũng tạm ổn.
Cái chổ mà anh Ba Tê ghi là: "Má ơi! Cái gì dzậy?" em đoán là Công - Tai - Nơ (01/2013/L-CTN)
Ẹc... Ẹc...

CTLCT
05-09-13, 09:25 PM
Nếu vậy thì nhập công thức này vào B1:

=LOOKUP(2,1/COUNTIF(A1,{"*","*NĐ-*","*QĐ-*","*TT-*"}),{"Đếch biết","Nghị định","Quyết định","Thông tư"})
----------------------------------

Cái chổ mà anh Ba Tê ghi là: "Má ơi! Cái gì dzậy?" em đoán là Công - Tai - Nơ (01/2013/L-CTN)
Ẹc... Ẹc...
Công thức của bác và bác bate hay thật.
Em lại xin dịch có thể chữ L là Luật hoặc là bạn đó ghi thiếu chữ.
Còn CTN chắc là Cấp thoát nước
Sau dấu - là cơ quan ban hành Thông tư, Nghị định đó.

friendsvn
13-09-13, 02:21 PM
Công thức của bác và bác bate hay thật.
Em lại xin dịch có thể chữ L là Luật hoặc là bạn đó ghi thiếu chữ.
Còn CTN chắc là Cấp thoát nước
Sau dấu - là cơ quan ban hành Thông tư, Nghị định đó.
Cám ơn các anh chị và các bạn đã giúp đỡ, mình làm được rồi,
văn bản số 01/2013/L-CTN là Lệnh, CTN viết tắt của Chủ tịch nước đó.

ducneo
12-10-13, 05:06 PM
Tiện đây mình xin hỏi 1 câu hỏi:
Giả sử ở ô A1, mình có chuỗi text: SAT, 28 Sep
Mình muốn ô A2 hiện ra kết quả:
- Nếu ô A1 có ghi SAT hoặc SUN thì A2 sẽ trả về giá trị Weekend.
- Nếu ô A1 có các giá trị ngày còn lại trong tuần (MON, TUE,...) thì A2 sẽ trả về giá trị Weekday,
Thanks.

dhn46
12-10-13, 05:17 PM
Tiện đây mình xin hỏi 1 câu hỏi:
Giả sử ở ô A1, mình có chuỗi text: SAT, 28 Sep
Mình muốn ô A2 hiện ra kết quả:
- Nếu ô A1 có ghi SAT hoặc SUN thì A2 sẽ trả về giá trị Weekend.
- Nếu ô A1 có các giá trị ngày còn lại trong tuần (MON, TUE,...) thì A2 sẽ trả về giá trị Weekday,
Thanks.
Nếu dữ liệu tại Á của bạn là dạng Date thì dùng công thức sau


=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),"Weekend","Weekday")

Nếu là Text thì xài tạm cái này


=IF(OR(IFERROR(SEARCH("Sat",A1,1),0),IFERROR(SEARCH("Sun",A1,1),0)),"Weekend","Weekday")

ndu96081631
12-10-13, 06:20 PM
Nếu dữ liệu tại Á của bạn là dạng Date thì dùng công thức sau


=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),"Weekend","Weekday")

Nếu là Text thì xài tạm cái này


=IF(OR(IFERROR(SEARCH("Sat",A1,1),0),IFERROR(SEARCH("Sun",A1,1),0)),"Weekend","Weekday")


Nếu A1 là Date thì =IF(WEEKDAY(A1, 2) > 5, ....
Nếu A1 là Text thì =IF(COUNTIF(A1,"S*"), ...

chuotpt3
25-08-14, 11:40 AM
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

ndu96081631
25-08-14, 12:21 PM
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:

=IF(COUNTIF($C$4:$C$20,"*"&B4&"*"),B4,"")
Kéo fill xuống
(đoán đại, hên thì trúng)

chuotpt3
25-08-14, 03:25 PM
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

ndu96081631
25-08-14, 07:43 PM
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

concogia
25-08-14, 11:21 PM
......
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

chuotpt3
26-08-14, 08:09 AM
Dạ ... con cảm ơn Thầy concogia và Thầy ndu96081631 ........
Đúng ý sếp con rồi ạ ........
:<> :<> :<> :<> :<> :<> :<> :<> :<> :<> :<>

VetMini
26-08-14, 11:06 PM
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



Function LayTen(ByVal s As String) As String
' lấy tên ra từ chuỗi dạng Trần Quang Vinhvinhtq12@gmail.com
Dim hoTen, ten
Dim i As Integer
hoTen = Split(Split(s, "@")(0), " ") ' loại bỏ phần sau dấu @ và tách ra từng từ
ten = hoTen(UBound(hoTen))
For i = 0 To 9 ' loại các ký tự dạng chữ số
ten = Replace(ten, i, "")
Next i
' lưu ý: ubound(hoTen) cũng là số từ của họ và đệm
ten = Left(ten, (Len(ten) - UBound(hoTen)) / 2)
hoTen(UBound(hoTen)) = ten
LayTen = Join(hoTen, " ")
End Function

xuantruongg82
13-11-14, 09:21 PM
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