Sử dụng hàm nào trong excel để lấy 1 số ký tự trong chuỗi (2 người xem)

  • Thread starter Thread starter TYPNU20
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

TYPNU20

Thành viên mới
Tham gia
23/6/09
Bài viết
1
Được thích
0
Em muốn lấy một chuỗi kí tự trong nhiều ô, mà bỏ di 2 kí tư cuối cùng của các ô thì làm thế nào? Em nhờ các anh cao tay chỉ giúp!!! Ví dụ: ô1:nghia,ô2: Thuong,ô3:minhman........... Nhưng em chỉ muốn ô1: Chử nghia lấy 3 kí tự đầu ô2: Chử thương lấy 4 kí tự đầu ô3: Chử minhman lấy 5kí tự đầu tiên.
 
Dùng hàm LEFT mà làm
=LEFT(A1,3) ==> Lấy 3 ký tự đầu của ô A1
 
Bạn dùng hàm left nhé:
Mã:
=LEFT(A1;LEN(A1)-2)
 
Bạn Nhập
=LEFT(Ô1,LEN(Ô1)-2)&LEFT(Ô2,LEN(Ô2)-2)&LEFT(Ô3,LEN(Ô3)-2)
 
Bài này có rất nhiều chiêu thức để thực hiện, ví dụ:
1. Dùng Substitute:
=Concatenate(SUBSTITUTE(A1,RIGHT(A1,2),""),SUBSTITUTE(A2,RIGHT(A2,2),""),SUBSTITUTE(A3,RIGHT(A3,2),""))

2. Dùng REPLACE:
=REPLACE(A1,LEN(A1)-1,2,"")&REPLACE(A2,LEN(A2)-1,2,"")&REPLACE(A3,LEN(A3)-1,2,"")

3. Dùng LEFT:
=LEFT(A1,LEN(A1)-2)&LEFT(A2,LEN(A2)-2)&LEFT(A3,LEN(A3)-2)
 
Em muốn lấy một chuỗi kí tự trong nhiều ô, mà bỏ di 2 kí tư cuối cùng của các ô thì làm thế nào? Em nhờ các anh cao tay chỉ giúp!!! Ví dụ: ô1:nghia,ô2: Thuong,ô3:minhman........... Nhưng em chỉ muốn ô1: Chử nghia lấy 3 kí tự đầu ô2: Chử thương lấy 4 kí tự đầu ô3: Chử minhman lấy 5kí tự đầu tiên.
Bạn dùng hàm:
MID(text,start_num,num_chars)
text: chuỗi cần tách ký tự
start_num:vị trí ký tự đầu tiên cần tách
num_chars: số ký tự cần tách

Ví dụ ô A1 chứa chuỗi Giải pháp Excel
MID(A1,1,4) > Giải
MID(A1,6,4) > pháp
MID(A1,8,1) > á
MID(A1,11,5) > Excel
 
Em muốn hỏi các bạn một vấn đề. Em muốn lấy những ký tự cuối trong 1 chuỗi trong những dòng khác nhau trong cùng 1 cột. VD: dòng lấy muốn lấy "Sông tiền", dòng khác muốn lấy "Hòa Thọ" thì phải làm như thế nào.các bác chỉ dùm em với nha. Chân thành cảm ơn các bác!
 
Bạn đưa file ví dụ lên xem sao?
 
Bạn nên up file lên diễn đàn hoặc diễn giải cụ thể hơn cột chứa dữ liệu đó gồm những gì thì mọi người mới hướng dẫn cho bạn được.
 
cho mình hỏi mình muốn lấy kí tự đầu và 2 kí tự cuối của 1 chuỗi thì làm thế nào ví dụ:
chuỗi LFE452OU muốn lấy chuỗi LFOU thì làm thế nào?
 
Anh chị cho em hỏi

Em cần sửa data base trong đó em muốn bỏ bớt đi 1 ký tự cuối của nhiều hàng, hay dòng em phải dùng hàm gì ah?!!

Ví dụ: Data có dạng
khanhtrang,
myphung,
thuylinh,

Em muốn bỏ đi ký tự cuối cùng của tất cả các hàng như vậy. Thì phải làm sao?


Chân thành cảm ơn anh chị.
 
Em cần sửa data base trong đó em muốn bỏ bớt đi 1 ký tự cuối của nhiều hàng, hay dòng em phải dùng hàm gì ah?!!

Ví dụ: Data có dạng
khanhtrang,
myphung,
thuylinh,

Em muốn bỏ đi ký tự cuối cùng của tất cả các hàng như vậy. Thì phải làm sao?


Chân thành cảm ơn anh chị.
Bạn dùng hàm replace nhé.
 
Em cần sửa data base trong đó em muốn bỏ bớt đi 1 ký tự cuối của nhiều hàng, hay dòng em phải dùng hàm gì ah?!!

Ví dụ: Data có dạng
khanhtrang,
myphung,
thuylinh,

Em muốn bỏ đi ký tự cuối cùng của tất cả các hàng như vậy. Thì phải làm sao?


Chân thành cảm ơn anh chị.
Làm công thức vào cột phụ: =Left(A1,Len(A1)-1)
Copy cột phụ - Paste Value lại cột gốc, xóa cột phụ.
 
Các bạn giúp em bài này với.
Em đang trong thời gian làm việc nên chưa nghiên cứu được
 

File đính kèm

Hic! thầy toàn chơi hàng độc!
Thầy có thể giải thích giúp em và những bạn kô biết hiểu hàm này đc kô ạ?
 
Hic! thầy toàn chơi hàng độc!
Thầy có thể giải thích giúp em và những bạn kô biết hiểu hàm này đc kô ạ?
- Đầu tiên, biến dấu "-" thành 255 khoảng trắng
- Dùng Mid với start num = 255 sẽ nhảy đến đâu đó ở khoảng trắng đầu tiên
- Mid lấy 255 ký tự sẽ bảo đảm lấy được đoạn chuổi ở giữa 2 khoảng trắng đầu tiên
- Lấy xong, dùng TRIM để loại hết khoảng trắng thừa, ta được kết quả cần tìm
---------------
Được 1 cái là dùng SUBSTITUE sẽ không bị bất cứ lỗi nào khi không tìm thấy (trong khi dùng FIND hoặc SEARCH phải tốn công bẫy lỗi)
 
Em cần sửa data base trong đó em muốn bỏ bớt đi 1 ký tự cuối của nhiều hàng, hay dòng em phải dùng hàm gì ah?!!

Ví dụ: Data có dạng
khanhtrang,
myphung,
thuylinh,

Em muốn bỏ đi ký tự cuối cùng của tất cả các hàng như vậy. Thì phải làm sao?


Chân thành cảm ơn anh chị.
Hì.... nếu chỉ phải bỏ cái dấu phẩy ở cuối như thế... Mấy bài trả lời ở trên đây dùng dao to búa lớn quá.
Chọn mấy cái ô đó, hay hết mấy cái hàng đó, nhấn Ctrl-H (Find and Reaplace), thay thế hết mấy dấy phẩy bằng.. "không có gì hết"...
Có phải nhanh hơn hông?
 
Các bạn giúp em bài này với.
Em đang trong thời gian làm việc nên chưa nghiên cứu được

Nếu theo đề của bạn:
Dùng các hàm ji` để lấy 3ký tự màu đỏ tính từ trái sang phải bắt đầu từ ký tự số 7 (hoặc sau dấu gạch ngang đầu tiên) trong ô màu vàng

Thì làm như vậy là thỏa yêu cầu bạn đã cho.
 
em có một chuỗi các ký tự đất trong Exel như sau: VD: CL01-02 bây giờ em muốn chuyển thành NL01-02 bác nào chỉ em cách chuyển chữ C thành N với. thanh
 
Bạn nên up file lên diễn đàn hoặc diễn giải cụ thể hơn cột chứa dữ liệu đó gồm những gì thì mọi người mới hướng dẫn cho bạn được.
anh Leo xem dùm file, mình lấy chuổi ký tự và số theo ý mình, dù cho số đó hay chữ đảo qua lại.
 

File đính kèm

chữ số thay đổi vị trí nhưng mình chỉ lấy chử số theo ý muốn
 

File đính kèm

Lần chỉnh sửa cuối:
bạn làm như sau:
=MID(C3;7;3) Ta được KFV. chúc bạn thành công
 
Chào các member, mình có 1 vấn đề xin thỉnh giáo mọi người. Mình nghĩ hoài mà không ra, mong mọi người chỉ giúp.

Mình muốn lấy từng ký tự trong 1 chuỗi ví du: Võ Văn Tiến và Nguyễn Thị Ngọc Dung.

Mình muốn lấy các chữ cái trong tên của từng người để vào từng ô trong excel mà không để lại khoảng trắng.
vd: Võ Văn Tiến --> V Õ V Ă N T I Ế N
tương tự cho Nguyễn Thị Ngọc Dung cũng vậy.
Mình đã làm theo cách này:
Bước 1: dùng hàm =SUBSTITUTE(W8," ","") để loại bỏ khoảng trắng trong chuỗi
Bước 2: Dùng hàm =RIGHT(LEFT(V9,1),1) để lấy từng ký tự trong chuỗi.

Kết quả cho ra đúng như ý muốn nhưng có 1 sự cố mà mình không khắc phục được đó là:

Chữ "Võ Văn Tiến" quá ngắn và chữ "Nguyễn Thị Ngọc Dung" quá dài (tất nhiên ô chữ của mình có thể chứa hết những ký tự này) Nhưng đối với chữ quá ngắn thì khi dùng hàm RIGHT(LEFT(V9,1),1)bị lỗi với ký tự cuối lặp đi lặp lại nhiều lần. Mình muốn khắc phục điều này.

Xin cao nhân chỉ giáo. Thanks
 
Mình đã làm theo cách này:
Bước 1: dùng hàm =SUBSTITUTE(W8," ","") để loại bỏ khoảng trắng trong chuỗi
Bước 2: Dùng hàm =RIGHT(LEFT(V9,1),1) để lấy từng ký tự trong chuỗi.

Kết quả cho ra đúng như ý muốn nhưng có 1 sự cố mà mình không khắc phục được đó là:
Chữ "Võ Văn Tiến" quá ngắn và chữ "Nguyễn Thị Ngọc Dung" quá dài (tất nhiên ô chữ của mình có thể chứa hết những ký tự này) Nhưng đối với chữ quá ngắn thì khi dùng hàm RIGHT(LEFT(V9,1),1)bị lỗi với ký tự cuối lặp đi lặp lại nhiều lần. Mình muốn khắc phục điều này.
Xin cao nhân chỉ giáo. Thanks
Bạn thay chỗ =RIGHT(LEFT(V9,1),1) bởi =MID(V9,COLUMN(A:A),1) rồi fill sang phải thì sẽ khắc phục được lỗi này.
 
Bạn thay chỗ =RIGHT(LEFT(V9,1),1) bởi =MID(V9,COLUMN(A:A),1) rồi fill sang phải thì sẽ khắc phục được lỗi này.

Kết quả thật tuyệt, nhưng do mình dùng công thức này để dùng cho nhiều người trên cùng 1 văn bản. 1 sheet dữ liệu và 1 sheet là file văn bản mình cần. Kiểu như trộn văn bản ý bạn ah. Cũng những ô đó mà mình thay cho nhiều người.
Ý bạn đưa ra chỉ để ngắt cái đuôi không lặp lai thôi, còn khi mình thay tên khác thì chỗ đuôi đó bị trống. Mình có thể gửi file mình làm cho bạn xem không? Nhưng mình không biết đính kèm fille.
 
Ý bạn đưa ra chỉ để ngắt cái đuôi không lặp lai thôi, còn khi mình thay tên khác thì chỗ đuôi đó bị trống.

vậy ý bạn là khi đuôi ngắn thì mấy ô đó là gì, chư ko phải là ô trống
còn nếu bạn muốn ô nào có chử thì mới đóng khung (border) thì bạn có thể làm như sau:
xóa hết border củ
chọn ô B9 rồi chọn Format--> conditional formating--> condition 1 chọn formula is
chép cái này vào =COUNTA($B$9:B9)<=LEN($V$9).
nhấp vào Format, chọn đóng khung, xong ok.
sau đó ra ngoài, nhấp vào cái chổi rồi quét từ C9-->cột nào bạn thích.
như vậy khi nào có nội dung trong cell, nó sẻ border cho bạn
 
Lần chỉnh sửa cuối:
vậy ý bạn là khi đuôi ngắn thì mấy ô đó là gì, chư ko phải là ô trống
còn nếu bạn muốn ô nào có chử thì mới đóng khung (border) thì bạn có thể làm như sau:
xóa hết border củ
chọn ô B9 rồi chọn Format--> conditional formating--> condition 1 chọn formula is
chép cái này vào =COUNTA($B$9:B9)<=LEN($V$9).
nhấp vào Format, chọn đóng khung, xong ok.
sau đó ra ngoài, nhấp vào cái chổi rồi quét từ C9-->cột nào bạn thích.
như vậy khi nào có nội dung trong cell, nó sẻ border cho bạn

Không được bạn ơi, vì đây là mẫu tờ khai mà. Nếu không có dữ liệu thì nó vẫn là ô trống.

hiii mình đã nhờ cao thủ bên cạnh rồi, chị ấy vừa mới giải ra đáp án, định comment cho cả nhà nè.
Bước 1: =LEN(V9)
Bước 2: =IF(LEN($V$9)<=$X$9,RIGHT(LEFT($V$9,B10),1),"")
Bước 3: =IF(AND(B10+1<=$X$9,B10+1>1),B10+1,0)

Kéo công thức cho các ô còn lại.

Thanks các bạn nha.
 
Em mới vào diễn đàn mong anh chị làm giúp em bài này nhé:
Ô1 : 12-A-345 , Ô2: 9-ABCD-78, Ô3: 567-FHG-12

để ghép số đầu và số cuối em của từng ô em phải dùng hàm gì ạ mong anh chị giúp đỡ.
 
Lần chỉnh sửa cuối:
Em mới vào diễn đàn mong anh chị làm giúp em bài này nhé:
Ô1 : 12-A-345 , Ô2: 9-ABCD-78, Ô3: 567-FHG-12

để ghép số đầu và số cuối em của từng ô em phải dùng hàm gì ạ mong anh chị giúp đỡ.

có phải ý bạn là
12-A-345 trả về 12345
9-ABCD-78 trả về 978
567-FHG-12 trả về 56712
nếu đúng vậy thì có thể sử dụng công thức
=REPLACE(A1;FIND("-";A1);FIND("-";RIGHT(A1;LEN(A1)-FIND("-";A1)))+1;"")
 

File đính kèm


vba của anh QuangHai là số dzách rùi,
nhưng thử một công thức thì có hại gì đâu chứ,
cái này ko phụ thuộc vào số hay chữ, nó phụ thuộc vào có bao nhiêu "-" trong chuổi thôi, cứ lấy chuỗi trước "-" thứ nhất ghép với chuổi đứng sau "-" thứ 2. nó ko bao quát hết tất cả các trường hợp, nó chỉ áp dụng cho bài này

tks
 
vba của anh QuangHai là số dzách rùi,
nhưng thử một công thức thì có hại gì đâu chứ,
cái này ko phụ thuộc vào số hay chữ, nó phụ thuộc vào có bao nhiêu "-" trong chuổi thôi, cứ lấy chuỗi trước "-" thứ nhất ghép với chuổi đứng sau "-" thứ 2. nó ko bao quát hết tất cả các trường hợp, nó chỉ áp dụng cho bài này

tks
abc-183-abcd-1668 hàm đó xem như xong, đôi dòng gốp ý thôi, ko ý gì khác
 
abc-183-abcd-1668 hàm đó xem như xong, đôi dòng gốp ý thôi, ko ý gì khác

cám ơn bạn đã góp ý. chỉ có điều là khi ta giải vấn đề gì đó thì phải căn cứ vào số liệu thực tế chứ đừng nếu.....nếu thì nó rất nhiều cái nếu.

gởi bạn một hàm (mình thường sử dụng, ko phải do mình viết)

Public Function RemoveNonNumeric(sNumberToClean As String) As String
Const NUMERIC_CHARS = "0123456789.,&/"
Dim lThisChar As Long
Dim sResult As String
For lThisChar = 1 To Len(sNumberToClean)
If InStr(1, NUMERIC_CHARS, Mid$(sNumberToClean, lThisChar, 1)) > 0 Then
'Found a numeric character
sResult = sResult + Mid$(sNumberToClean, lThisChar, 1)
End If
Next
'Return the result
RemoveNonNumeric = sResult
End Function


bạn khai báo cái gì trong cái màu đỏ đó thì sau khi chạy code, nó sẻ còn lại các ký tự khai báo trong đó.
 
xin chào mọi người,
mình có : R(2013/Sep/11);Q1(2013/Sep/11);
R(2013/Sep/11);Q2(2013/Sep/11);Q2
R(2013/Sep/12);Q2(2013/Sep/12
trong cùng một cột, mình chỉ muốn lấy ngày/tháng/năm sau chữ Q1 thôi, có ngĩa là nếu ô đó có Q1 thì xuất ra ngày/tháng/năm sau chữ Q1
Mọi người vui lòng giúp đỡ! thanks
 
Lần chỉnh sửa cuối:
xin chào mọi người,
mình có : R(2013/Sep/11);Q1(2013/Sep/11);
R(2013/Sep/11);Q2(2013/Sep/11);Q2
R(2013/Sep/12);Q2(2013/Sep/12
trong cùng một cột, mình chỉ muốn lấy ngày/tháng/năm sau chữ Q1 thôi, có ngĩa là nếu ô đó có Q1 thì xuất ra ngày/tháng/năm sau chữ Q1
Mọi người vui lòng giúp đỡ! thanks
Trước khi có người trả lời cho bạn, tôi muốn hỏi lại cho chắc: Có phải mỗi ô là một chuỗi không? Chẳng hạn:

A1: R(2013/Sep/11)

A2: Q1(2013/Sep/11)

v.v...


 
Cac bạn ơi mình muốn lập hàm: VD nếu >2600,=<3000 thì nhân(*) 30 đồng +nếu >3000,=<3500 * 20đ.....thì lập như thế nào các ban giúp với thư xin gửi vanban920@yahoo.com
 
các bạn ơi mình muốn chuyển đổii từ hàm sang mặc định số trong Ô chữ thì làm thế nào: VD mình hàm
= sum(C4+D4+4) = 120.000 vậy mình muốn mặc định hoặc chuyển đổi từ hàm sang số khi kcíh chuột chỉ là số : 120000 mà không còn công thức hàm
 
Anh chị nào biết, giúp em với, em muốn lấy 1 kí tự đầu và 1 kí tự khác kí tự cuối, chẳng hạn như có chuỗi là "XR95V" em muốn lấy kí tự đầu là "X" và kí tự cuối không phải là "V" mà là kí tự khác :P
 
Anh chị nào biết, giúp em với, em muốn lấy 1 kí tự đầu và 1 kí tự khác kí tự cuối, chẳng hạn như có chuỗi là "XR95V" em muốn lấy kí tự đầu là "X" và kí tự cuối không phải là "V" mà là kí tự khác :P
Bạn nghiên cứu 3 hàm LEFT, MID, RIGHT là giải quyết được vấn đề.
 
Nhân tiện anh/chị giúp giùm hàm biến chuỗi 0-169-60-270-0 thành chuỗi 0169602700. Xin cảm ơn!
 
tách lấy số điện thoại di động trong chuỗi

Chào các anh chị và các bạn,

em có một chuỗi như bài sau, ở cột điện thoại em muốn tách chỉ lấy số điện thoại di động của khách hàng vậy thì làm thế nào hả anh chị?

Trong chuỗi này gồm có cả điện thoại lỗi và số cố định, em chỉ muốn lọc lấy số di động.


Mong anh chị và các bạn giúp em gấp với.

Cảm ơn mọi người.
 

File đính kèm

Trước khi có người trả lời cho bạn, tôi muốn hỏi lại cho chắc: Có phải mỗi ô là một chuỗi không? Chẳng hạn:

A1: R(2013/Sep/11)

A2: Q1(2013/Sep/11)

v.v...



Hi Hoàng Trọng Nghĩa
ô A1: R(2013/Oct/4);Q1(2013/Oct/7);Q1
ô A2: R(2013/Oct/14);Q1(2013/Oct/14);A(2013/Oct/14);A
file nay duoc chay macro minh can lay ngay thang nam sau chu Q1, 1ô có thể có hoặc k có chữ q1, nó cũng k có nguyen tac nhat dinh nen minh k dung ham right,mid... duoc
Mong moi nguoi giup minh voi hoi gà exel
Thanks
 
- Đầu tiên, biến dấu "-" thành 255 khoảng trắng
- Dùng Mid với start num = 255 sẽ nhảy đến đâu đó ở khoảng trắng đầu tiên
- Mid lấy 255 ký tự sẽ bảo đảm lấy được đoạn chuổi ở giữa 2 khoảng trắng đầu tiên
- Lấy xong, dùng TRIM để loại hết khoảng trắng thừa, ta được kết quả cần tìm
---------------
Được 1 cái là dùng SUBSTITUE sẽ không bị bất cứ lỗi nào khi không tìm thấy (trong khi dùng FIND hoặc SEARCH phải tốn công bẫy lỗi)

Chào thầy,

Có thể áp dụng phương trên vào ví dụ dưới đây của em được không thầy ?




Em dùng hàm trong bảng 2 là

=B9&"."&LEFT(A9,1)&MID(A9,FIND(" ",A9)+1,1)&MID(A9,FIND(" ",A9,FIND(" ",A9)+1)+1,1)&MID(A9,FIND(" ",A9,FIND(" ",A9)+1+FIND(" ",A9))+1,1)

Hàm hơi dài và phải bẫy lỗi rất mệt, vì số ký tự trong chuỗi không cố định
Bài ví dụ trên báo lỗi giá trị vì hàm FIND không biết được khoảng trắng cuối cùng để dừng lại

Thanks !
 
Lần chỉnh sửa cuối:
Hi Hoàng Trọng Nghĩa
ô A1: R(2013/Oct/4);Q1(2013/Oct/7);Q1
ô A2: R(2013/Oct/14);Q1(2013/Oct/14);A(2013/Oct/14);A
file nay duoc chay macro minh can lay ngay thang nam sau chu Q1, 1ô có thể có hoặc k có chữ q1, nó cũng k có nguyen tac nhat dinh nen minh k dung ham right,mid... duoc
Mong moi nguoi giup minh voi hoi gà exel
Thanks
Sorry, tôi không biết rằng sau 2 tháng bạn mới nói về vấn đề của bạn.

Với một dạng dữ liệu như màu tôi tô đỏ thì quả nhiên là khó thực hiện, tuy nhiên tôi thử làm đại như trong file, có nghĩa rằng tôi làm các cột phụ để tính được kết quả cuối cùng, nếu muốn trình bày đẹp thì bạn nên giấu các cột này đi. Bạn xem file và cho biết được hay chưa nha.
 

File đính kèm

Chào các anh chị diễn đàn, em có một text dạng thế này "[1234] [teexiii] test", em muốn lấy ký tự bên trong [ ] thì phải làm sao

Cụ thể em muốn xuất ra là: "1234, teexiii"

Chiều dài của dãy số là 4 số không đổi, nhưng chiều dài chữ thì nó thay đổi
 
Lần chỉnh sửa cuối:
Chào các anh chị diễn đàn, em có một text dạng thế này "[1234] [teexiii] test", em muốn lấy ký tự bên trong [ ] thì phải làm sao

Cụ thể em muốn xuất ra là: "1234, teexiii"

Chiều dài của dãy số là 4 số không đổi, nhưng chiều dài chữ thì nó thay đổi
Giả sử ô A1 có chuổi đó ("[1234] [teexiii] test"), thì công thức sẽ là:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"] test",""),"] [",", "),"[","")
 
chữ test em ghi là là chữ mình nhập vào, nó sẽ thay đổi thì sao anh
 
Vẫn không được anh ạ, em ko bỏ được dòng test phía sau T__T
 
Hình như nếu số ký tự nằm trong [] ở đầu mà nhiều hơn 5 ký tự thì công thức này "tèo"
Thí dụ:"[123456] [teexiii] hu hu hu"
Thân
Lý do là ở phần in đậm bác cò ơi
Chào các anh chị diễn đàn, em có một text dạng thế này "[1234] [teexiii] test", em muốn lấy ký tự bên trong [ ] thì phải làm sao

Cụ thể em muốn xuất ra là: "1234, teexiii"

Chiều dài của dãy số là 4 số không đổi, nhưng chiều dài chữ thì nó thay đổi
 
Lần chỉnh sửa cuối:
Huhu, mình không đọc kỹ
"Xó zì" dhn46 nhé
Thân
Thêm một công thức

Kết quả xuất ra có cái dấu phẩy ở giữa cho giống với kết quả của bạn ra câu hỏi
Híc

:) đúng là dhn46 cũng không đọc kỹ yêu cầu, may có bác "nhắc bài". Để phòng trường hợp có nhiều hơn 4 số thì bạn có thể dùng công thức sau
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND("]",A1,8)),"[",""),"]","")," ",", ")

Hoặc

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(A1," ",REPT(" ",255)),500)),"[",""),"]","")," ",", ")
 
Chào thầy,

Có thể áp dụng phương trên vào ví dụ dưới đây của em được không thầy ?

Em dùng hàm trong bảng 2 là

=B9&"."&LEFT(A9,1)&MID(A9,FIND(" ",A9)+1,1)&MID(A9,FIND(" ",A9,FIND(" ",A9)+1)+1,1)&MID(A9,FIND(" ",A9,FIND(" ",A9)+1+FIND(" ",A9))+1,1)

Hàm hơi dài và phải bẫy lỗi rất mệt, vì số ký tự trong chuỗi không cố định
Bài ví dụ trên báo lỗi giá trị vì hàm FIND không biết được khoảng trắng cuối cùng để dừng lại

Thanks !
Dùng công thức này đơn giản dễ hiểu nè nó dài mà nó nhẹ, công thức chỉ đúng với Họ và chữ lót 4 chữ thôi nếu nhiều hơn tự động thêm vào (chắc chữ Họ lót tối đa tới 4 thôi nhiều quá cũng uể --=0). Ví dụ dữ liệu nằm ở A1, và B1
Mã:
=IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))=0,B1&"."&LEFT(A1,1),IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))=1,B1&"."&LEFT(A1,1)&MID(A1,FIND(" ",A1,1)+1,1),IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))=2,B1&"."&LEFT(A1,1)&MID(A1,FIND(" ",A1,1)+1,1)&MID(SUBSTITUTE(A1," ","",1),FIND(" ",SUBSTITUTE(A1," ","",1))+1,1),IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))=3,B1&"."&LEFT(A1,1)&MID(A1,FIND(" ",A1,1)+1,1)&MID(SUBSTITUTE(A1," ","",1),FIND(" ",SUBSTITUTE(A1," ","",1))+1,1)&MID(SUBSTITUTE(A1," ","",2),FIND(" ",SUBSTITUTE(A1," ","",2))+1,1),""))))
 
Cảm ơn các anh nhiều, em đã làm được :D
 
[TABLE="width: 126"]
[TR]
[TD="align: left"]
Em có 4 số này​
AB/13P|01444[/TD]
[/TR]
[TR]
[TD="align: left"]AC/13P|01444A[/TD]
[/TR]
[TR]
[TD="align: left"]AD/13P|01444BC
AD/13P|01444ABC
Bác nào giúp tách lấy thành các số từ số 0 trở về bên phải (Ví dụ: [TABLE="width: 126"]
[TR]
[TD="align: left"]01444[/TD]
[/TR]
[TR]
[TD="align: left"]01444A[/TD]
[/TR]
[TR]
[TD="align: left"]01444ABC[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]

Tức là bỏ từ dấu gạch dọc về bên trái đi. Em cảm ơn
 
[TABLE="width: 126"]
[TR]
[TD="align: left"]
Em có 4 số này​
AB/13P|01444[/TD]
[/TR]
[TR]
[TD="align: left"]AC/13P|01444A
[/TD]
[/TR]
[TR]
[TD="align: left"]AD/13P|01444BC
AD/13P|01444ABC
Bác nào giúp tách lấy thành các số từ số 0 trở về bên phải (Ví dụ:

[TABLE="width: 126"]
[TR]
[TD="align: left"]01444
[/TD]
[/TR]
[TR]
[TD="align: left"]01444A
[/TD]
[/TR]
[TR]
[TD="align: left"]01444ABC
[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]

Tức là bỏ từ dấu gạch dọc về bên trái đi. Em cảm ơn
Mã:
=replace(chuoi,1,find("|",chuoi),"")
 
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"]Ai giup em với!!
VD: Cột mã gồm:
  1. B100GI
  2. A200VB
  3. C1320GA
  4. B50BI
Xác định số lượng, là các ký số bên trong côt Mã????
Em phải dùng hàm nào đây ạ!! Em cần gắp lắm mọi người ơi
**~**
[/TD]
[/TR]
[/TABLE]
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"][/TD]
[/TR]
[/TABLE]
 
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"]
Ai giup em với!!
VD: Cột mã gồm:
  1. B100GI
  2. A200VB
  3. C1320GA
  4. B50BI
Xác định số lượng, là các ký số bên trong côt Mã????
Em phải dùng hàm nào đây ạ!! Em cần gắp lắm mọi người ơi
**~**[/TD]
[/TR]
[/TABLE]
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"][/TD]
[/TR]
[/TABLE]
Mã:
=LOOKUP(10^10,MID(chuoi,2,ROW($1:$255))*1)
 
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"]Ai giup em với!!
VD: Cột mã gồm:
  1. B100GI
  2. A200VB
  3. C1320GA
  4. B50BI
Xác định số lượng, là các ký số bên trong côt Mã????
Em phải dùng hàm nào đây ạ!! Em cần gắp lắm mọi người ơi
**~**[/TD]
[/TR]
[/TABLE]
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"][/TD]
[/TR]
[/TABLE]

Với dữ liệu như trên, tôi đoán là dùng công thức này sẽ phù hợp:
Mã:
=MID(A1,2,LEN(A1)-3)
Với cell A1 là dữ liệu gốc
 
Các thầy ơi em có bài này mong các thầy giúp em
Em muốn lọc các số ra khỏi dãy chữ nhưng phân chia theo từng cột.
Mong các thầy giúp em
 

File đính kèm

Các thầy ơi em có bài này mong các thầy giúp em
Em muốn lọc các số ra khỏi dãy chữ nhưng phân chia theo từng cột.
Mong các thầy giúp em
Thử hàm này xem nhé bạn vukody :
PHP:
Function getNum(Rng As String, i As Long)
Dim objMatches As Object
    With CreateObject("VBScript.RegExp")
        .Pattern = "\d+"
        .Global = 1
        .IgnoreCase = 1
        Set objMatches = .Execute(Rng)
            getNum = Val(objMatches(i))
    End With
End Function
 

File đính kèm

Lần chỉnh sửa cuối:
Thử hàm này xem nhé bạn vukody :
PHP:
Function getNum(Rng As String, i As Long)
Dim objMatches As Object
    With CreateObject("VBScript.RegExp")
        .Pattern = "\d+"
        .Global = 1
        .IgnoreCase = 1
        Set objMatches = .Execute(Rng)
            getNum = Val(objMatches(i))
    End With
End Function

Cảm ơn Hoa Mặt Trời nhiều lắm hehe :D
 
ad cho mình hỏi mình có chuỗi ký tự "cho mình hỏi làm như thế nào" cần lấy những chữ cái đầu tiên của từng từ "cmhlntn"

cho mình hỏi làm như thế nào = cmhlntn
Thank!
 
ad cho mình hỏi mình có chuỗi ký tự "cho mình hỏi làm như thế nào" cần lấy những chữ cái đầu tiên của từng từ "cmhlntn"

cho mình hỏi làm như thế nào = cmhlntn
Thank!
Dùng thử hàm này xem sao
Mã:
Public Function KTD(Str)
Dim cl As Long
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\s\S"
For cl = 0 To .Execute(" " & Str).Count - 1
KTD = KTD & Trim(.Execute(" " & Str)(cl))
Next cl
End With
End Function
Cú pháp =KTD( 1 Ô nào đó )
 
Dùng thử hàm này xem sao
Mã:
Public Function KTD(Str)
Dim cl As Long
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\s\S"
For cl = 0 To .Execute(" " & Str).Count - 1
KTD = KTD & Trim(.Execute(" " & Str)(cl))
Next cl
End With
End Function
Cú pháp =KTD( 1 Ô nào đó )
Thường khi người ta dùng RegExp để tránh đụng đến vòng lập. Đàng này vừa RegExp vừa vòng lập thì hóa ra.. thừa
Bởi nếu tôi mà dùng vòng lập thì tôi chỉ hàm LEFT thôi cũng xong!
 
=LEFT(I13,1)&MID(I13,FIND(" ",I13)+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1)+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13))+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13)+FIND(" ",I13))+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13)+FIND(" ",I13)+FIND(" ",I13))+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13)+FIND(" ",I13)+FIND(" ",I13)+FIND(" ",I13))+1,1)
Do số từ trong mỗi cell không cố định mà Em các bác giúp Em cái câu lệnh điều kiện để có thể lấy đc từ 1 đến 10 chữ cái đầu tiên của 10 từ
 
=LEFT(I13,1)&MID(I13,FIND(" ",I13)+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1)+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13))+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13)+FIND(" ",I13))+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13)+FIND(" ",I13)+FIND(" ",I13))+1,1)&MID(I13,FIND(" ",I13,FIND(" ",I13)+1+FIND(" ",I13)+FIND(" ",I13)+FIND(" ",I13)+FIND(" ",I13))+1,1)
Do số từ trong mỗi cell không cố định mà Em các bác giúp Em cái câu lệnh điều kiện để có thể lấy đc từ 1 đến 10 chữ cái đầu tiên của 10 từ

Bạn dùng hàm tự tạo này xem sao
(Đã sửa lại cho gọn hơn )
Mã:
Public Function KTD(Str)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\s(\S)\S*"
KTD = .Replace(" " & Str, "$1")
End With
End Function
Cú pháp =KTD( 1 Ô nào đó )
------
To NDU
Thank đã nhắc bài!
 
Lần chỉnh sửa cuối:
Các bác cho em hỏi? em muốn lấy các ký tự sau "-" bên phải :
[TABLE="width: 151"]
[TR]
[TD="class: xl68, width: 151, align: left"]12-A-123
(Ví dụ em muốn lấy số 123). Em dùng hàm nào ạ?[/TD]
[/TR]
[/TABLE]
 
Các bác cho em hỏi? em muốn lấy các ký tự sau "-" bên phải :
[TABLE="width: 151"]
[TR]
[TD="class: xl68, width: 151, align: left"]12-A-123
(Ví dụ em muốn lấy số 123). Em dùng hàm nào ạ?[/TD]
[/TR]
[/TABLE]
Giả sử chuỗi cần tách nằm trong ô A1 thì công thức là :
=RIGHT(A1,LEN(A1)-FIND("-",A1,FIND("-",A1)+1))
 
Bà con giúp giùm mình vấn đề này. Giả sử mình gõ một công thức vào ô A1 nhưng không có dấu "=" trước công thức. VD: 5*4/3+2-1
Giờ mình muốn đặt công thức để ô A2 tính ra giá trị cái công thức đã nhập ở ô A1.
Cảm ơn.
 
Bà con giúp giùm mình vấn đề này. Giả sử mình gõ một công thức vào ô A1 nhưng không có dấu "=" trước công thức. VD: 5*4/3+2-1
Giờ mình muốn đặt công thức để ô A2 tính ra giá trị cái công thức đã nhập ở ô A1.
Cảm ơn.
Việc này dùng hàm evaluate. Bạn thực hiện các bước sau:
Ctrl+F3 đặt name là tinh
Công thức thì gõ =evaluate(A1). OK
Sau đó tại A2 gõ =tinh
 
Xử dụng công cụ text to column, sau đó nối những cái không muốn tách lại
 

File đính kèm

Bạn dùng công thức này là ổn cho các loại:

1/Cột C chứa duôi Mail dùng công thức:

=MID(A1,FIND("@",A1,1),LEN(A1))

2/Cột B chứa tên dùng công thức:

=SUBSTITUTE(A1,C1,"")
 
Lần chỉnh sửa cuối:
Không phải rồi bạn ạ, mình đang cần tách một cột toàn gmail ra, như file bạn làm thì đã có sẵn cột email rồi. Rất cám ơn bạn :D
Sử dụng text to colum. Bạn bôi đen toàn bộ cột số liệu cần tách. Vào text to colum sau đó chọn other đánh dấu "," vào đó. OK là ra
 
Mình đã tìm được giải pháp chung xử lý mấy dữ liệu kiểu này, công thức tổng quát như sau:
=IFERROR(MID(A1;FIND(", ";A1;1)+2;LEN(A1));B1)
 

File đính kèm

Chào mọi người,

Em có cột dữ liệu như sau

A1 = Tô Hoài Phương (ID: 13696)A2 = Tô Hoài Phương (ID: 13886)
A3 = Bich Thuy (ID: 13022)
A4 = Vân Mitu (ID: 3233)

Và em muốn tách lấy tên và số ID thành 2 cột dữ liệu để làm báo cáo. Em đã nghiên cứu Right, Left, Mid rồi nhưng cái khó ở đây là các ô dữ liệu có cùng công thức nhưng không cùng độ dài kí tự.
Mọi người giúp em với
 
Chào mọi người,

Em có cột dữ liệu như sau

A1 = Tô Hoài Phương (ID: 13696)A2 = Tô Hoài Phương (ID: 13886)
A3 = Bich Thuy (ID: 13022)
A4 = Vân Mitu (ID: 3233)

Và em muốn tách lấy tên và số ID thành 2 cột dữ liệu để làm báo cáo. Em đã nghiên cứu Right, Left, Mid rồi nhưng cái khó ở đây là các ô dữ liệu có cùng công thức nhưng không cùng độ dài kí tự.
Mọi người giúp em với

Với dữ liệu tại ô A1
Lấy tên=TRIM(LEFT(A1,FIND("(",A1,1)-1))
Lấy số ID=TRIM(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND(":",A1,1)),")",""))
 

Bài viết mới nhất

Back
Top Bottom