Các phương pháp tách số từ chuỗi và ngược lại, đề nghị post tại đây (1 người xem)

Liên hệ QC

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

hê hê rất cảm ơn bác EM cứ nghĩ là phải dùng hàm mới giải quyết dc chứ. hic hic
 
hê hê rất cảm ơn bác EM cứ nghĩ là phải dùng hàm mới giải quyết dc chứ. hic hic

Muốn hàm thì cũng làm được
Mã:
=TRIM(MID(SUBSTITUTE($A$1,"+",REPT(" ",255)),(ROWS($1:1)-1)*255+1,255))
Mấy bài tương tự như vậy trên GPE có cả đống
 
Xin các bác giúp em lệnh tách Họ và Tên thành Tên và Họ của file đính kèm ạ

Xin các bác giúp em lệnh tách Họ và Tên thành Tên và Họ của file đính kèm ạ
 

File đính kèm

Mình có 1 chuỗi thế này:

pchien38@yahoo.com/yeuemmme/konhonoi/184.105.159.125

Mình muốn bỏ phần giữa dấu / thứ 2 và 3, nghĩa là chuỗi sẽ thành thế này

pchien38@yahoo.com/yeuemmme/184.105.159.125

P/S số lượng kí tự giữa /xx/ là bất kì

Mọng mọi người giúp!
 
Giả sử chuỗi tại A1, công thức sẽ là
Mã:
=SUBSTITUTE(A1,"/","",2)
Người ta muốn bỏ chuỗi nằm giữa dấu /xx/ thứ 2 và thứ 3 mà bạn, công thức của bạn chỉ thay thế "/" bằng "" thôi, hix
Kết quả của bạn là : pchien38@yahoo.com/yeuemmmekonhonoi/184.105.159.125
Tác giả là : pchien38@yahoo.com/yeuemmme/184.105.159.125
Chuỗi tại A1 thì có thể làm thể này :
PHP:
=LEFT(A1,FIND("/",A1,FIND("/",A1)+1))&RIGHT(A1,LEN(A1)-FIND("/",A1,LEN(LEFT(A1,FIND("/",A1,FIND("/",A1)+1)))+1))
 
Lần chỉnh sửa cuối:
Thế này ngắn hơn được 1 xíu nè bạn :
PHP:
=TRIM(LEFT(A1,FIND("/",A1,FIND("/",A1)+1))&RIGHT(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))),LEN(A1)))

Hoặc thế này bấm Ctrl+Shift+Enter
PHP:
=LEFT(A1,SMALL((IF(MID(A1,ROW(1:99),1)="/",ROW(1:99),"")),2)-1)&MID(A1,MAX(IF(MID(A1,ROW(1:99),1)="/",ROW(1:99),"")),99)
 
Lần chỉnh sửa cuối:
Cám ơn bạn rất nhiều, mình làm được rồi
 
Thế này ngắn hơn được 1 xíu nè bạn :
PHP:
=TRIM(LEFT(A1,FIND("/",A1,FIND("/",A1)+1))&RIGHT(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))),LEN(A1)))

Thêm một TRIM nữa cho hết khoảng trắng bên trong luôn:
PHP:
=TRIM(LEFT(A1;FIND("/";A1;FIND("/";A1)+1))) & TRIM(RIGHT(SUBSTITUTE(A1;"/";REPT(" ";LEN(A1)));LEN(A1)))
 
Lần chỉnh sửa cuối:
Chào mọi người, hôm bữa em được mọi người giúp rất nhiệt tình, em cám ơn và xin hỏi một vất đề nữa ạ.

Em có 1 chuỗi thế này
hadriansiphron@yahoo.com | hfrahompHadrianSiphron1841984us11204pvdwirdl122.179.47.77
em muốn lấy thành phần này ra khỏi chuỗi sang ô khác.
hadriansiphron@yahoo.com | hfrahomp

Em có nghĩ đến việc là dò từ trái qua đến khi nào gặp chữ in hoa thì dừng.
Hay nói ngắn gọn là, em muốn lấy thông tin từ bên trái qua cho đến chữ cái in hoa đầu tiên trong chuỗi. (nhưng ko biết làm :D)

Dữ liệu ở ô A1, xin cám ơn ạ.

Và khái quát hơn, giả sử chuỗi mình muốn lấy có nhiều kí tự in hoa thì sao ạ.
hadSipshroN@yahoo.com | hfrahompHadrianSiphron1841984us11204pvdwirdl122.179.47.77
tuy nhiên định dạng phần này | hfrahompHadria giữ nguyên. Nghĩa là từ dấu | trở qua phải chỉ có 1 kí tự in hoa và mình sẽ chỉ lấy tới đó.

Cám ơn nhìu ^^
 
Chào mọi người, hôm bữa em được mọi người giúp rất nhiệt tình, em cám ơn và xin hỏi một vất đề nữa ạ.

Em có 1 chuỗi thế này
hadriansiphron@yahoo.com | hfrahompHadrianSiphron1841984us11204pvdwirdl122.179.47.77
em muốn lấy thành phần này ra khỏi chuỗi sang ô khác.
hadriansiphron@yahoo.com | hfrahomp

Em có nghĩ đến việc là dò từ trái qua đến khi nào gặp chữ in hoa thì dừng.
Hay nói ngắn gọn là, em muốn lấy thông tin từ bên trái qua cho đến chữ cái in hoa đầu tiên trong chuỗi. (nhưng ko biết làm :D)

Dữ liệu ở ô A1, xin cám ơn ạ.

Và khái quát hơn, giả sử chuỗi mình muốn lấy có nhiều kí tự in hoa thì sao ạ.

Chả sao cả.

hadSipshroN@yahoo.com | hfrahompHadrianSiphron1841984us11204pvdwirdl122.179.47.77
tuy nhiên định dạng phần này | hfrahompHadria giữ nguyên. Nghĩa là từ dấu | trở qua phải chỉ có 1 kí tự in hoa và mình sẽ chỉ lấy tới đó

Bạn tự mâu thuẫn đấy. Trong vd. trên thì sau "|" có 2 ký tự chữ hoa là "H" và "S".

Ý của bạn tôi diễn đạt lại cho chính xác.

Chuỗi có thể có nhiều chữ in hoa nhưng ta lấy từ ký tự đầu tới trước ký tự in hoa đầu tiên sau ký tự "|"

Chơi code một tí nhé.

Alt + F11 --> Insert --> Module

code cho module1

Mã:
Function Chat_dau(ByVal text As String) As String
Dim re As Object
    Set re = CreateObject("VBScript.RegExp")
    re.Pattern = ".+\|.+?(?=[A-Z])"
    If re.test(text) Then Chat_dau = re.Execute(text).Item(0).Value
End Function

vd. công thức cho B1

Mã:
=Chat_dau($A1)

kéo xuống dưới nếu cột A có nhiều dòng dữ liệu
 
giúp e file nay với

xin nhờ các a chị sửa giúp e file này với.e có file excel không biết bị virus hay gì mà dung lượng file quá lớn mở lên rất chậm.vì file này lớn nên e không up lên được nên e up lên mediafile mong các a chị giúp e.e đang rất cần file này.thanks mấy a chị nhiều.http://www.mediafire.com/download/qmdafiqcetf1f8f/BAO_CAO_NOI_BO_T06.2013.xls
 
Lần chỉnh sửa cuối:
Nhờ tách chuỗi ký tự tính toán vào từng cột khác nhau

Mình có chuỗi ký tự như thế này: Dm1: 1*0,2*0,3*sqtr(4)*0,01
Nhờ mọi người giúp cách tách giá trị từ chuỗi trên, bắt đầu từ sau dấu " : " thành các giá trị vào từng cột khác nhau: số lượng, dài, rộng, cao, hệ số (tương ứng với từng số)
Mình có xem các ví dụ của các anh chị đưa lên mà vẫn chưa áp dụng được
Mọi người giúp mình với
Cảm ơn nhiều!
 

File đính kèm

Em muốn tách chuỗi này ngăn cách bởi dấu ";" Tại số 0 thứ 7, các số hóa đơn ý ạ
Mã:
0000184000018500001860000192000019500001980000215000021600002220000223
 
Bạn ghi ra kết quả luôn đi
Dạ
Mã:
[COLOR=#000000][I]0000184;0000185;0000186;0000192[/I][/COLOR]
tới các số còn lại
Còn trường hợp này e ko biết dùng, ví dụ A1 =000001; A2=000002 ... A3, A4, em muốn ghép nó vào thì dùng hàm gì, và cách nhau bởi dấu ";" thành 1 ô duy nhất như kết quả ở trên ạ, em dùng concatane thì nó ghép thành chuỗi ko có cách được, ngồi mà gõ từng cái ký tự thì lâu lắm
 
Lần chỉnh sửa cuối:
Dạ
Mã:
[COLOR=#000000][I]0000184;0000185;0000186;0000192[/I][/COLOR]
tới các số còn lại
Còn trường hợp này e ko biết dùng, ví dụ A1 =000001; A2=000002 ... A3, A4, em muốn ghép nó vào thì dùng hàm gì, và cách nhau bởi dấu ";" thành 1 ô duy nhất như kết quả ở trên ạ, em dùng concatane thì nó ghép thành chuỗi ko có cách được, ngồi mà gõ từng cái ký tự thì lâu lắm

Tóm lại bạn cần làm bài nào? Bài 115 hay bài 117?
Mà nói chung, nếu hơi khó hiểu thì tốt nhất cho file lên!
Bài toán nối chuổi đúng ra phải dùng VBA
 
Dạ
Mã:
[COLOR=#000000][I]0000184;0000185;0000186;0000192[/I][/COLOR]
tới các số còn lại
Còn trường hợp này e ko biết dùng, ví dụ A1 =000001; A2=000002 ... A3, A4, em muốn ghép nó vào thì dùng hàm gì, và cách nhau bởi dấu ";" thành 1 ô duy nhất như kết quả ở trên ạ, em dùng concatane thì nó ghép thành chuỗi ko có cách được, ngồi mà gõ từng cái ký tự thì lâu lắm
HuyHoang dùng hàm Jointext của thầy Ndu nhé
=jointext(";";TRUE;A1:A5)
 

File đính kèm

Các thầy giúp em với

em gà excel quá nên nhờ các thầy giúp em giải quyết vấn đề này với,
em có 1 file như file đính kèm, yêu cầu là:
1. Trong cột G thì phải điền số hàng vào, hàng bắt đầu bằng chữ "H" và có tối đa 999 hàng
2. Số cây là số nằm giữa những giấu "." trong ô.
Cái khó là số dấu chấm trước số cây người ta điền tùy ý nên em không biết làm thế nào. Thầy nào giải quyết giúp em với -+*/-+*/-+*/
 

File đính kèm

em gà excel quá nên nhờ các thầy giúp em giải quyết vấn đề này với,
em có 1 file như file đính kèm, yêu cầu là:
1. Trong cột G thì phải điền số hàng vào, hàng bắt đầu bằng chữ "H" và có tối đa 999 hàng
2. Số cây là số nằm giữa những giấu "." trong ô.
Cái khó là số dấu chấm trước số cây người ta điền tùy ý nên em không biết làm thế nào. Thầy nào giải quyết giúp em với -+*/-+*/-+*/

Lý ra nếu bạn chú ý đọc các bài viết trong topic này thì bạn thừa sức làm được, nó y chang như TÁCH TÊN thôi
Nguyên tắc:
- Biên toàn bộ dấu chấm thành khoảng trắng
- Dùng hàm TRIM để cắt bỏ những khoảng trắng thừa
- Xong, dùng hàm SUBSTITUTE, biến khoảng trắng thành 1000 khoảng trắng (chẳng hạn)
- Dùng LEFT với num_chars = 1000, lồng thêm hàm TRIM để lấy phần HÀNG
- Dùng RIGHT với num_chars = 1000, lồng thêm hàm TRIM để lấy phần SỐ CÂY
Đại khái vậy
 
em gà excel quá nên nhờ các thầy giúp em giải quyết vấn đề này với,
em có 1 file như file đính kèm, yêu cầu là:
1. Trong cột G thì phải điền số hàng vào, hàng bắt đầu bằng chữ "H" và có tối đa 999 hàng
2. Số cây là số nằm giữa những giấu "." trong ô.
Cái khó là số dấu chấm trước số cây người ta điền tùy ý nên em không biết làm thế nào. Thầy nào giải quyết giúp em với -+*/-+*/-+*/
thử cái này xem sao. sau này nhập lại dữ liệu nha
 

File đính kèm

Cho em hỏi 1 chút em muon tach dãy số 433444445446447 thành 433,444,445,446,447 làm nhu thế nào ạ, dùng hàm gì để tách ạ.
 
Cho em hỏi 1 chút em muon tach dãy số 433444445446447 thành 433,444,445,446,447 làm nhu thế nào ạ, dùng hàm gì để tách ạ.
Có phải bạn muốn tách các số đó ra các ô khác nhau?
Nếu đúng thì bạn dùng các hàm LEFT, MID, RIGHT để tách.
 
Cho e hỏi 1 chút, em muốn chuyển chuỗi theo dạng a-d,g,i-k về thành dạng abcdgikj thì làm thế nào?VD: 2-9,12-17 thành 234567891213141516171819
 
Lần chỉnh sửa cuối:
Cho mình hỏi tí: VD mình có mã hàng là: 12022014B001_20_65, mình muốn lấy kí tự số 14,15 làm phần nguyên (ở đây là "20"), kí tự 17,18 làm phần thập phân (ở đây là "65") của cột trọng lượng thì phải làm thế nào ? Và trong Excel 2k7 trở lên để chuyển kí tự về dạng số có phải mình dùng hàm N không? -0-/.
 
Cho mình hỏi tí: VD mình có mã hàng là: 12022014B001_20_65, mình muốn lấy kí tự số 14,15 làm phần nguyên (ở đây là "20"), kí tự 17,18 làm phần thập phân (ở đây là "65") của cột trọng lượng thì phải làm thế nào ? Và trong Excel 2k7 trở lên để chuyển kí tự về dạng số có phải mình dùng hàm N không? -0-/.

Bạn gửi cả file lên xem nào??
gợi ý, bạn dùng hàm MID, Right...!
 
Bạn thử dùng công thức chung tính trọng lượng
Mã:
VALUE(SUBSTITUTE(MID(A4[COLOR=#ff0000];[/COLOR]FIND("_"[COLOR=#ff0000];[/COLOR]A4)+1[COLOR=#ff0000];[/COLOR]5)[COLOR=#ff0000];[/COLOR]"_"[COLOR=#ff0000];[/COLOR]"[COLOR=#ff0000],[/COLOR]"))
Tùy định dạng máy thay dấu ; thành , và dấu , thành .
 
Dear GPE,
Em có 2 chuỗi như bên dưới:
[TABLE="width: 308"]
[TR]
[TD]A1= TIDE LAU LIQ 2.7KGX4 BTL FOD NS [/TD]
[/TR]
[TR]
[TD]A2= TIDE LAU LIQ 1KGX12 BTL FOD NS [/TD]
[/TR]
[/TABLE]
Em muốn tách lấy 2.7KGX4 & 1KGx12 từ 2 chuỗi trên.
Rất mong các bậc tiền bối giúp đỡ. Thanks all.
 
Dear GPE,
Em có 2 chuỗi như bên dưới:
[TABLE="width: 308"]
[TR]
[TD]A1= TIDE LAU LIQ 2.7KGX4 BTL FOD NS[/TD]
[/TR]
[TR]
[TD]A2= TIDE LAU LIQ 1KGX12 BTL FOD NS[/TD]
[/TR]
[/TABLE]
Em muốn tách lấy 2.7KGX4 & 1KGx12 từ 2 chuỗi trên.
Rất mong các bậc tiền bối giúp đỡ. Thanks all.
Bạn dùng thử xem đúng không nha
=MID(A1,13,8)
 
dear gpe,
em có 2 chuỗi như bên dưới:
[table="width: 308"]
[tr]
[td]a1= tide lau liq 2.7kgx4 btl fod ns[/td]
[/tr]
[tr]
[td]a2= tide lau liq 1kgx12 btl fod ns[/td]
[/tr]
[/table]
em muốn tách lấy 2.7kgx4 & 1kgx12 từ 2 chuỗi trên.
Rất mong các bậc tiền bối giúp đỡ. Thanks all.

b1 = mid(a1;find("liq";a1)+4;find("btl";a1)-find("liq";a1)-5)
 
Bạn dùng thử xem đúng không nha
=MID(A1,13,8)
Hi anh,
Em bổ sung 1 số chuỗi nữa nhé.
[TABLE="width: 308"]
[TR]
[TD]TIDE LAU LIQ 2.7KGX4 BTL FOD NS [/TD]
[/TR]
[TR]
[TD]TIDE LAU LIQ 1KGX12 BTL FOD NS
[TABLE="width: 308"]
[TR]
[TD="width: 308"]ARIEL LAU LIQ REG 2.7KGX4 BASE BTL
[TABLE="width: 308"]
[TR]
[TD="width: 308"]ARIEL LAU LIQ REG 4.2KGX3 VN DMD
[TABLE="width: 308"]
[TR]
[TD="width: 308"]ARIEL LIQ REG 1.5KGX6 TOD PCH DMD
Hỗ trợ giúp em nhé. Thanks[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
 
Hi anh,
Em bổ sung 1 số chuỗi nữa nhé.
[TABLE="width: 308"]
[TR]
[TD]TIDE LAU LIQ 2.7KGX4 BTL FOD NS[/TD]
[/TR]
[TR]
[TD]TIDE LAU LIQ 1KGX12 BTL FOD NS
[TABLE="width: 308"]
[TR]
[TD="width: 308"]ARIEL LAU LIQ REG 2.7KGX4 BASE BTL
[TABLE="width: 308"]
[TR]
[TD="width: 308"]ARIEL LAU LIQ REG 4.2KGX3 VN DMD
[TABLE="width: 308"]
[TR]
[TD="width: 308"]ARIEL LIQ REG 1.5KGX6 TOD PCH DMD
Hỗ trợ giúp em nhé. Thanks[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
[/TD]
[/TR]
[/TABLE]
B1 = MID(A1;FIND(" ";A1;FIND("KG";A1)-5)+1;FIND(" ";A1;FIND("KG";A1))-FIND(" ";A1;FIND("KG";A1)-5)-1)

Bạn xem trong file đính kèm nhé
 

File đính kèm

B1 = MID(A1;FIND(" ";A1;FIND("KG";A1)-5)+1;FIND(" ";A1;FIND("KG";A1))-FIND(" ";A1;FIND("KG";A1)-5)-1)

Bạn xem trong file đính kèm nhé
Hi anh,
Thanks anh nhiều nhé,
Em chỉ hiểu cơ bản hàm Find thôi, anh có thể giải thích giúp em công thức bên trên với. Thanks a
 
Hi anh,
Thanks anh nhiều nhé,
Em chỉ hiểu cơ bản hàm Find thôi, anh có thể giải thích giúp em công thức bên trên với. Thanks a
Nguyên tắc là tìm vị trí khoảng trắng trước và sau cụm text 2.7KGX4, vị trí khoảng trắng phía trước là vị trí bắt đầu lấy trong hàm MID, vị trí khoảng trắng sau trừ đi vị trí khoảng trắng trước sẽ được số ký tự sẽ lấy trong hàm MID.
Các chuỗi đều có chung 1 cụm text là "KG" nên đi tìm vị trí cụm này, xong rồi trừ bớt đi hoặc cộng thêm để tìm ra vị trí của khoảng trắng trước và sau.
Để xem kết quả từng hàm, bạn tô đoạn hàm đó, nhấn F9, nó sẽ hiện kết quả của đoạn hàm đó, so sánh lại với thứ tự trong chuỗi bạn sẽ hiểu
 
Chào mấy anh chị. Mình có 1 cột dữ liệu như bên dưới. Mình muốn tách những ô có số đầu dòng, những ô đầu dòng không có số thì nhãy số "trống". Mình không thể dùng hàm LEFT. Nhờ anh chị giúp mình công thức hoặc VBA nhé. Cám ơn rất nhiều.[TABLE="width: 335"]
[TR]
[TD="align: left"] C MAI, CHÀ LÀ
[/TD]
[/TR]
[TR]
[TD="align: left"] C THÁI, CHÀ LÀ [/TD]
[/TR]
[TR]
[TD="align: left"] C CHI, CHÀ LÀ [/TD]
[/TR]
[TR]
[TD="align: left"] UT LẪY, CHÀ LÀ [/TD]
[/TR]
[TR]
[TD="align: left"] C ÚT, CHÀ LÀ [/TD]
[/TR]
[TR]
[TD="align: left"] TT TRÚC THUẦN, ẤP NINH HƯNG,XÃ CHÀ LÀ [/TD]
[/TR]
[TR]
[TD="align: left"] 5 A. NAM, 280 ẤP SA NGHE, AN CƠ [/TD]
[/TR]
[TR]
[TD="align: left"] 6 TH THỤY VI, ẤP SA NGHE, AN CƠ [/TD]
[/TR]
[TR]
[TD="align: left"] 7 TH THU HƯỜNG, 282 ẤP AN LỘC, AN CƠ [/TD]
[/TR]
[TR]
[TD="align: left"] 25 TT HUYỀN TRANG, 311 ẤP AN LỘC, AN CƠ
[/TD]
[/TR]
[TR]
[TD="align: left"] 40 TH CÔ KỈNH, 278 ẤP AN LỘC, AN HÒA
[/TD]
[/TR]
[/TABLE]
 

File đính kèm

Lần chỉnh sửa cuối:
Trong VBA có cách nào đến số lần Wraptext trong 1 ô không?
ví dụ trong 1 ô ghi dữ liệu quá dài, nếu chọn định dạng wraptext thì mình có thể đếm bao nhiều dòng xuống dòng không?
ví dụ
A1= chào mọi người trên GPE
nếu tôi chọn định dạng Wraptext kết quả nếu
chào mọi
người trên GPE

thì kết quả ra 2
kết quả nếu
chào mọi
người trên
GPE
thì kết quả ra 3
xin chân thành cảm ơn
 
Trong VBA có cách nào đến số lần Wraptext trong 1 ô không?
ví dụ trong 1 ô ghi dữ liệu quá dài, nếu chọn định dạng wraptext thì mình có thể đếm bao nhiều dòng xuống dòng không?
ví dụ
A1= chào mọi người trên GPE
nếu tôi chọn định dạng Wraptext kết quả nếu
chào mọi
người trên GPE

thì kết quả ra 2
kết quả nếu
chào mọi
người trên
GPE
thì kết quả ra 3
xin chân thành cảm ơn
Tôi đã tìm ra giải pháp là đếm bao nhiêu số dòng rớt xuống trong 1 ô, cái này áp dụng được chỉ cho các ô cùng size chữ.
Đầu tiên tôi cho chúng wrap text tự động, sau đó sử dụng autofit để lấy chiều cao, và chọn chiều cao nhỏ nhất làm đơn vị chia
ví dụ chiều cao của autofit nhỏ nhất là 15 thì ở ô đó có 1 hàng
nếu chiều cao của autofit nào đó bằng 60 thì kết quả trên đó có 4 hàng
tôi có thử mấy ngày nay kết quả ra điều ok, không biết có trường hợp nào khác nữa không? xin chờ tiếp thu ý kiến
 
Bác nào giúp e tách cái điểm đăng nằm trong 1 chuỗi
[TABLE="width: 418"]
[TR]
[TD]Toán: 7.00 Ngữ văn: 6.50 Vật lí: 2.40 Hóa học: 3.6 [/TD]
[/TR]
[/TABLE]

Thành các điểm cụ thể được không?
 

File đính kèm

Bác nào giúp e tách cái điểm đăng nằm trong 1 chuỗi
[TABLE="width: 418"]
[TR]
[TD]Toán: 7.00 Ngữ văn: 6.50 Vật lí: 2.40 Hóa học: 3.6[/TD]
[/TR]
[/TABLE]

Thành các điểm cụ thể được không?
Sửa lại tiêu đề cho các cột tên bộ môn
Xem file đính kèm
 

File đính kèm

Sửa lại tiêu đề cho các cột tên bộ môn
Xem file đính kèm
Cho mình hỏi thêm tí. Sau khi dùng hàm xong chẳng hạn ở cột Toán là 7. Nhưng thực ra đó là đang dùng hàm. VẬy có cách nào mà chuyển dữ liệu sau khi dùng hàm thành dữ liệu như mình nhập thủ công không bạn
 
Cho mình hỏi thêm tí. Sau khi dùng hàm xong chẳng hạn ở cột Toán là 7. Nhưng thực ra đó là đang dùng hàm. VẬy có cách nào mà chuyển dữ liệu sau khi dùng hàm thành dữ liệu như mình nhập thủ công không bạn
Dùng paster special
- Chọn toàn bộ vùng định bỏ công thức
- Ctrl + c
- alt +e +s
- v
- ok
- esc
 
Hiện tại em có 1 chuỗi dạng như sau: A:\X_Y\123456_ABC, em cần tách chuỗi 6 số nằm giữa dấu "\" và "_", tuy nhiên chuỗi sẽ có nhiều đoạn dấu \ (em có đính kèm file mẫu), mong các anh chị chỉ dẫn giúp em cách xử lý ạ, em cám ơn.
 

File đính kèm

Hiện tại em có 1 chuỗi dạng như sau: A:\X_Y\123456_ABC, em cần tách chuỗi 6 số nằm giữa dấu "\" và "_", tuy nhiên chuỗi sẽ có nhiều đoạn dấu \ (em có đính kèm file mẫu), mong các anh chị chỉ dẫn giúp em cách xử lý ạ, em cám ơn.

Bạn có thể sử dụng Function của thầy Ndu sưu tầm được trong file đính kèm.

Hoặc nếu cấu trúc chuỗi luôn luôn theo quy tắc là NNNNNN_ABC với N là là các con số thì bạn có thể sử dụng hàm sau
=+MID(A1,FIND("_ABC",A1)-6,6)
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các bạn,

Mình có thắc mắc về cách tách chuỗi trong excel, mặc dù bây giờ đã có Flash Fill nhưng vì mình muốn hiểu ý nghĩa của cách tách chuỗi nên xin các bạn giúp đỡ giải thích dùm mình, thiệt là mình thấy rối rắm quá :(

Xin các bạn xem file đính kèm.

Ở bước 2 khi thay dấu cách cuối cùng bằng ký tự không có trong tên =Substitute(B4;" ";"@";F14)

Cho mình hỏi làm sao Excel biết là thay thế cho ký tự “ “ cuối cùng trong tên Lê Đức Huy hay Đào Thị Kim Phượng, tại sao không phải là ký tự “ “ thứ 1 hay thứ 2 hay thứ 3 mà là ký tự “ “ cuối cùng vì Lê Đức Huy có tới 2 ký tự “ “ hay tên Đào Thị Kim Phượng có 3 ký tự “ “ lận.

Thường thì excel biết được khoảng trống nào cần thay thế trong hàm substitute nếu chúng ta chỉ định instance_num chẳng hạn tên Nguyễn Đức Huy có 2 khoảng trống, nếu muốn thay thế khoảng trống thứ 2 = ký tự @ thì bạn chỉ việc chỉ định instance_num = 2 (substitute(text,old text,new text,2).

Nhưng trong file đính kèm, mình thắc mắc là làm sao excel hiểu được là mình muốn thay thế ký tự trống thứ 2 = ký tự @ vì instance_num = len(có khoảng trống)– len(không có khoảng trống) {theo mình được hiểu thì len(có khoảng trống) – len(không có khoảng trống)= số ký tự trống (chẳng hạn Nguyễn Đức Huy có 2 ký tự trống, đâu phải là ký tự trống thứ 2 trong tên Nguyễn Đức Huy đâu, 2 khái niệm này khác nhau mà. Một bên là 2 ký tự trống, một bên là ký tự trống thứ 2, làm sao excel hiểu được vậy?)}

Xin các bạn giải đáp dùm mình. Chân thành cảm ơn các bạn rất nhiều.o_O
 

File đính kèm

Chào các bạn,
Nhưng trong file đính kèm, mình thắc mắc là làm sao excel hiểu được là mình muốn thay thế ký tự trống thứ 2 = ký tự @ vì instance_num = len(có khoảng trống)– len(không có khoảng trống) {theo mình được hiểu thì len(có khoảng trống) – len(không có khoảng trống)= số ký tự trống (chẳng hạn Nguyễn Đức Huy có 2 ký tự trống, đâu phải là ký tự trống thứ 2 trong tên Nguyễn Đức Huy đâu, 2 khái niệm này khác nhau mà. Một bên là 2 ký tự trống, một bên là ký tự trống thứ 2, làm sao excel hiểu được vậy?)}

Xin các bạn giải đáp dùm mình. Chân thành cảm ơn các bạn rất nhiều.o_O
"Ký tự trống thứ mấy" là 1 con số, bạn điền trực tiếp 1 con số vào hoặc đưa 1 phép tính vào đều được. Miễn kết quả phép tính đúng bằng con số bạn cần.
Trong trường hợp này thứ tự của " " đúng bằng số lượng ký tự " " nên lấy luôn số lượng lắp vào.
 
Chào các bạn,

Mình có thắc mắc về cách tách chuỗi trong excel, mặc dù bây giờ đã có Flash Fill nhưng vì mình muốn hiểu ý nghĩa của cách tách chuỗi nên xin các bạn giúp đỡ giải thích dùm mình, thiệt là mình thấy rối rắm quá :(

Xin các bạn xem file đính kèm.

Ở bước 2 khi thay dấu cách cuối cùng bằng ký tự không có trong tên =Substitute(B4;" ";"@";F14)

Cho mình hỏi làm sao Excel biết là thay thế cho ký tự “ “ cuối cùng trong tên Lê Đức Huy hay Đào Thị Kim Phượng, tại sao không phải là ký tự “ “ thứ 1 hay thứ 2 hay thứ 3 mà là ký tự “ “ cuối cùng vì Lê Đức Huy có tới 2 ký tự “ “ hay tên Đào Thị Kim Phượng có 3 ký tự “ “ lận.

Thường thì excel biết được khoảng trống nào cần thay thế trong hàm substitute nếu chúng ta chỉ định instance_num chẳng hạn tên Nguyễn Đức Huy có 2 khoảng trống, nếu muốn thay thế khoảng trống thứ 2 = ký tự @ thì bạn chỉ việc chỉ định instance_num = 2 (substitute(text,old text,new text,2).

Nhưng trong file đính kèm, mình thắc mắc là làm sao excel hiểu được là mình muốn thay thế ký tự trống thứ 2 = ký tự @ vì instance_num = len(có khoảng trống)– len(không có khoảng trống) {theo mình được hiểu thì len(có khoảng trống) – len(không có khoảng trống)= số ký tự trống (chẳng hạn Nguyễn Đức Huy có 2 ký tự trống, đâu phải là ký tự trống thứ 2 trong tên Nguyễn Đức Huy đâu, 2 khái niệm này khác nhau mà. Một bên là 2 ký tự trống, một bên là ký tự trống thứ 2, làm sao excel hiểu được vậy?)}

Xin các bạn giải đáp dùm mình. Chân thành cảm ơn các bạn rất nhiều.o_O
Một tháng có thể có: 28-29, 30, 31 ngày (tức là đề cập về: số lượng Ngày trong tháng); Ngày cuối cùng của các tháng là: 28-29, 30, 31 (tức đề cập: ngày thứ, hay "tên" của ngày). Trong tính toán khi ra kết quả bằng con số thì dù là "số lượng" đếm được, hay "Ngày thứ..." cũng cùng 1 số đồng nhất là: 28-29, 30, 31. Hay nói cách khác, ngày cuối cùng của từng tháng cũng biểu thị số lượng ngày có trong tháng.

Tương tự như vậy bạn có thể suy ra cho trường hợp của bạn nêu, tức: Khoảng trắng "cuối cùng" của chuỗi tên cũng biểu thị "số lượng" khoảng trắng có trong chuỗi tên, hay ngược lại (lưu ý: chuỗi tên này đã được loại các khoảng trắng: đầu cuối hay thừa ra giữa hai chữ).

Chúc bạn ngày vui.
 
Một tháng có thể có: 28-29, 30, 31 ngày (tức là đề cập về: số lượng Ngày trong tháng); Ngày cuối cùng của các tháng là: 28-29, 30, 31 (tức đề cập: ngày thứ, hay "tên" của ngày). Trong tính toán khi ra kết quả bằng con số thì dù là "số lượng" đếm được, hay "Ngày thứ..." cũng cùng 1 số đồng nhất là: 28-29, 30, 31. Hay nói cách khác, ngày cuối cùng của từng tháng cũng biểu thị số lượng ngày có trong tháng.

Tương tự như vậy bạn có thể suy ra cho trường hợp của bạn nêu, tức: Khoảng trắng "cuối cùng" của chuỗi tên cũng biểu thị "số lượng" khoảng trắng có trong chuỗi tên, hay ngược lại (lưu ý: chuỗi tên này đã được loại các khoảng trắng: đầu cuối hay thừa ra giữa hai chữ).

Chúc bạn ngày vui.
Ối giời ơi, bạn giải thích quá là cặn kẽ, rõ ràng, dễ hiểu. Cám ơn bạn rất nhiều. Vậy là từ giờ mình hiểu khái niệm khoảng trắng cuối cùng của tên = số lượng khoảng trắng của tên rồi. Cám ơn bạn đã chia sẽ kiến thức của mình. Mình chúc bạn một ngày vui vẻ nghen.
Thanks so much o_O:D;)
 
Để bạn được thiện cảm hơn nên góp ý với bạn: Nên tránh dùng "song ngữ" Tây - Ta, nếu được bạn chịu khó ghi đơn giản bằng tiếng mẹ đẻ là anh em ai cũng vui.

Chúc bạn ngày vui.
Cám ơn thiện chí đóng góp của bạn, mình mới ở Úc về nên còn thói quen dùng tiếng Anh chen tiếng Việt, sẽ cố gắng sửa, bị là nói tiếng Anh quá lâu ngày chắc cũng là hơi khó nhưng sẽ ráng. ;):Do_O
 
Bạn có thể sử dụng Function của thầy Ndu sưu tầm được trong file đính kèm.

Hoặc nếu cấu trúc chuỗi luôn luôn theo quy tắc là NNNNNN_ABC với N là là các con số thì bạn có thể sử dụng hàm sau
=+MID(A1,FIND("_ABC",A1)-6,6)
dạ em cám ơn nhiều ạ
 
cho em hỏi có công thức nào tách họ và tên và ngày tháng năm sinh ra 2 cột riêng biệt chỉ giúp em với ạ
ví dụ: TRẦN BẢO HUY20/3/1999 ra 1 cột TRẦN BẢO HUY VÀ 1 cột 20/3/1999
 
cho em hỏi có công thức nào tách họ và tên và ngày tháng năm sinh ra 2 cột riêng biệt chỉ giúp em với ạ
ví dụ: TRẦN BẢO HUY20/3/1999 ra 1 cột TRẦN BẢO HUY VÀ 1 cột 20/3/1999
Mã:
hoten=LEFT(A1,AGGREGATE(15,6,FIND({0,1,2,3,4,5,6,7,8,9},A1),1)-1)
ngaythang=MID(A1,AGGREGATE(15,6,FIND({0,1,2,3,4,5,6,7,8,9},A1),1),LEN(A1))
 
em gửi file làm dùm em trong file với. Em coppy công thức này về dùng không được, có cách nào tách mỗi ngày tháng năm ra giúp em cũng được. Em cảm ơn
 

File đính kèm

Chào anh , chị
Mong anh chị giúp em trường hợp tách số, đếm số.
Mẫu như file đính kèm
Anh, chị xem giúp em
Em cảm ơn ạ.
 

File đính kèm

Đúng em cái cần rồi. A có cách nào tính được chỉ số trong vùng từ 2 đến 98 không. nếu là số 100 thì không được tính.
Cảm ơn bác nhiều nhé
 
Bạn ơi trong số vẫn có thể chứa chuỗi mà, đâu có ai nói số đó là hệ thập phân đâu bạn. -\\/.-\\/.
Số [tiền] có thể mua được chuỗi [hạt]. Tuỳ theo hạt gì mà dùng hệ thiên phân (hình như viết tắt là K), triệu phân (tức bá vạn phân, viết tắt là T), hay tỷ phân (tức thập ức phân, cái này tôi chưa nắm trong tay bao giờ cho nên chả biết viết tắt, chắc chỉ có đại gia mới viết tắt)

Nhưng chuỗi chứa trong số thì chịu thua. Cho ví dụ đi.
 
Số [tiền] có thể mua được chuỗi [hạt]. Tuỳ theo hạt gì mà dùng hệ thiên phân (hình như viết tắt là K), triệu phân (tức bá vạn phân, viết tắt là T), hay tỷ phân (tức thập ức phân, cái này tôi chưa nắm trong tay bao giờ cho nên chả biết viết tắt, chắc chỉ có đại gia mới viết tắt)

Nhưng chuỗi chứa trong số thì chịu thua. Cho ví dụ đi.

Kiến thức bạn cao siêu quá, hic. Mình chỉ nghĩ được tới cái số đếm trong hệ thập lục phân của môn tin học căn bản thôi à %#^#$
 
Kiến thức bạn cao siêu quá, hic. Mình chỉ nghĩ được tới cái số đếm trong hệ thập lục phân của môn tin học căn bản thôi à %#^#$
Tôi có thích uống trà đâu mà cần cái siêu nấu nước.
Chả là tôi dngf góc nhìn ếch xeo qua căn bản quản lý tài chính. Khác với bạn là dân có tin học căn bản.
 
Mọi người cho mình hỏi, mình dùng công thức vnd() để đọc số tiền bằng chữ. Nhưng mình muốn bỏ chữ "đồng chẵn" thì làm như thế nào ạ? (vd: 15; đọc là" Mười lăm". Vì mình muốn đọc số bằng chữ dành cho ô chỉ khối lượng ạ.
 
chào các bạn
mình có chuỗi số trong cùng 1 cột như sau
9704180105820187
giờ mình muốn tách ra như sau:
9704 1801 0582 0187
thì dùng hàm nào ạ
Thanks!
 
chào các bạn
mình có chuỗi số trong cùng 1 cột như sau
9704180105820187
giờ mình muốn tách ra như sau:
9704 1801 0582 0187
thì dùng hàm nào ạ
Cảm ơn!
Giả sử số nằm tại ô A1 thì công thức thế này.
Mã:
=TEXT(A1,"#### #### #### ####")
 
cái này đơn gian mà, bạn có thể sử dụng công thức sau:

Nếu là: 20-1904 B3 lò gốm mình gọi ô chứa dữ liệu này là A1, bạn có thể đãnh công thức sau: =right(left(A1, 7),4)
Nếu là: 1902 7/3 cmt8 bạn chỉ cần gõ ct: =left(A1,4)
Không được bạn ơi... nếu 1000 dòng như thế thì phải có 1000 công thức sao???? Ở đây các dữ liều không giông nhau mà???
 
Nhờ các bác giúp em. Tính tổng tại ô em tô vàng.
Em cảm ơn.
 

File đính kèm

Nhờ các bác giúp em. Tính tổng tại ô em tô vàng.
Em cảm ơn.
Công thức
Mã:
D2=SUM(TRIM(MID(SUBSTITUTE(C2,"+",REPT(" ",500)),1+(ROW(INDIRECT("1:"&1+LEN(C2)-LEN(SUBSTITUTE(C2,"+",""))))-1)*500,500))+0)
-nhấn Ctrl+Shirt+Enter
-Coppy công thức xuống và sang cột khác
 
cái này đơn gian mà, bạn có thể sử dụng công thức sau:

Nếu là: 20-1904 B3 lò gốm mình gọi ô chứa dữ liệu này là A1, bạn có thể đãnh công thức sau: =right(left(A1, 7),4)
Nếu là: 1902 7/3 cmt8 bạn chỉ cần gõ ct: =left(A1,4)
ÔI... có 1000 dòng thì gõ 1000 công thức... mệt đấy.
 
Tức là tách lấy từ bên trái đến khi gặp dấu phẩy thì ngưng, đúng không?

Vậy thì dùng công thức này tại cell G2:

PHP:
=LEFT(C2,FIND(",",C2)-1)

kéo fill xuống

Để chuyển nó thành số thật sự, dùng công thức này:

PHP:
=SUBSTITUTE(LEFT(C2,FIND(",",C2)-1),".","")*1
Hiii
Bạn thử cái này xem: =VALUE(SUBSTITUTE(LEFT(C3,LEN(C3)-3),".",","))
 
Chào các bác, mình có một danh sách rất dài, muốn tách dãy số phía trước ra thì làm như thế nào. Bác nào biết xin giúp đỡ. Xin cảm ơn!
Muốn Tách:Kết quả muốn:
DAAAQQ.23082020DAAAQQ
ADASS.24082020ADASS
AWASS.25082020AWASS
ASSJSS.26082020ASSJSS
TTDASLL.27082020TTDASLL
ADaaaaaaaASYY.28082020ADaaaaaaaASYY
…....
 

File đính kèm

Chào các bác, mình có một danh sách rất dài, muốn tách dãy số phía trước ra thì làm như thế nào. Bác nào biết xin giúp đỡ. Xin cảm ơn!
Muốn Tách:Kết quả muốn:
DAAAQQ.23082020DAAAQQ
ADASS.24082020ADASS
AWASS.25082020AWASS
ASSJSS.26082020ASSJSS
TTDASLL.27082020TTDASLL
ADaaaaaaaASYY.28082020ADaaaaaaaASYY
…....
Như này cũng được:
1598174777178.png
 
Chào các bác, mình có một danh sách rất dài, muốn tách dãy số phía trước ra thì làm như thế nào. Bác nào biết xin giúp đỡ. Xin cảm ơn!
Muốn Tách:Kết quả muốn:
DAAAQQ.23082020DAAAQQ
ADASS.24082020ADASS
AWASS.25082020AWASS
ASSJSS.26082020ASSJSS
TTDASLL.27082020TTDASLL
ADaaaaaaaASYY.28082020ADaaaaaaaASYY
…....
=LEFT(C3,FIND(".",C3)-1)
 

Bác cho mình hỏi thêm. Nếu như chuỗi đó không có dấu"." thì mình làm sao vậy bác?
Muốn Tách:Kết quả muốn: Lấy phần chữ từ 8 số bên phải qua
DAAAQQ23082020DAAAQQ
ADASS24082020ADASS
AWASS25082020AWASS
ASSJSS26082020ASSJSS
TTDASLL27082020TTDASLL
ADaaaaaaaASYY28082020ADaaaaaaaASYY
…....
 
Bác cho mình hỏi thêm. Nếu như chuỗi đó không có dấu"." thì mình làm sao vậy bác?
Muốn Tách:Kết quả muốn: Lấy phần chữ từ 8 số bên phải qua
DAAAQQ23082020DAAAQQ
ADASS24082020ADASS
AWASS25082020AWASS
ASSJSS26082020ASSJSS
TTDASLL27082020TTDASLL
ADaaaaaaaASYY28082020ADaaaaaaaASYY
…....
PHP:
=LEFT(C3,MIN(INDEX(FIND(ROW($1:$9)-1,C3&"0123456789"),))-1)
 
Bác cho mình hỏi thêm. Nếu như chuỗi đó không có dấu"." thì mình làm sao vậy bác?
Muốn Tách:Kết quả muốn: Lấy phần chữ từ 8 số bên phải qua
DAAAQQ23082020DAAAQQ
ADASS24082020ADASS
AWASS25082020AWASS
ASSJSS26082020ASSJSS
TTDASLL27082020TTDASLL
ADaaaaaaaASYY28082020ADaaaaaaaASYY
…....
=MID(C3,1,AGGREGATE(15,6,FIND(ROW($1:$10)-1,C3),1)-1)
=MID(C3,1,MATCH(1,INDEX(N(CODE(MID(C3,ROW($1:$20),1))<58),),)-1)
=MID(C3,1,MATCH(,INDEX(N(CODE(MID(C3,ROW($1:$20),1))>57),),)-1)
=MID(C3,1,MATCH(,INDEX(1-SIGN(1+MID(C3,ROW($1:$20),1)),),)-1)
 
Kính gửi các Anh, Chị!
lời đầu tiên xin gửi lời chúc sức khỏe tới các anh chị trong diễn đàn. Hiện tại em gặp một vấn đề khó khăn với file dạng chuỗi có khá nhiều dòng và không thể sử dụng hàm textjoin để nối vì quá dài nó báo lỗi Value khi sử dụng hàm textjoin.
- Giờ em muốn nối các chuỗi đó lại thành 1 chuỗi duy nhất và đếm số lần xuất hiện của những kí tự trong chuỗi được ngăn cách bởi dấu "," bằng code Vba. Kính mong các anh chị ai biết thì giúp em với.
Em xin chân thành cám ơn !
 

File đính kèm

Kính gửi các Anh, Chị!
lời đầu tiên xin gửi lời chúc sức khỏe tới các anh chị trong diễn đàn. Hiện tại em gặp một vấn đề khó khăn với file dạng chuỗi có khá nhiều dòng và không thể sử dụng hàm textjoin để nối vì quá dài nó báo lỗi Value khi sử dụng hàm textjoin.
- Giờ em muốn nối các chuỗi đó lại thành 1 chuỗi duy nhất và đếm số lần xuất hiện của những kí tự trong chuỗi được ngăn cách bởi dấu "," bằng code Vba. Kính mong các anh chị ai biết thì giúp em với.
Em xin chân thành cám ơn !
Chào bạn, bạn muốn nối theo từng hàng hay muốn nối tất cả hàng và cột vào trong 1 ô?

.
 
Kính gửi các Anh, Chị!
lời đầu tiên xin gửi lời chúc sức khỏe tới các anh chị trong diễn đàn. Hiện tại em gặp một vấn đề khó khăn với file dạng chuỗi có khá nhiều dòng và không thể sử dụng hàm textjoin để nối vì quá dài nó báo lỗi Value khi sử dụng hàm textjoin.
- Giờ em muốn nối các chuỗi đó lại thành 1 chuỗi duy nhất và đếm số lần xuất hiện của những kí tự trong chuỗi được ngăn cách bởi dấu "," bằng code Vba. Kính mong các anh chị ai biết thì giúp em với.
Em xin chân thành cám ơn !
Sử dụng hàm Textjoin được:
A3 =SUBSTITUTE(TEXTJOIN(",",1,B3:CG3),",,","")
Sau đó text to column rồi đếm
TextJoin:
1627205341777.png

Text to column và đếm (sheet khác)

1627205400603.png
 
Lần chỉnh sửa cuối:
Sử dụng hàm Textjoin được:
A3 =SUBSTITUTE(TEXTJOIN(",",1,B3:CG3),",,","")
Sau đó text to column rồi đếm
TextJoin:
View attachment 263004

Text to column và đếm (sheet khác)

View attachment 263005
Cám ơn Thầy rất nhiều ạ, Nhưng thầy ơi file của em nó dài và nhiều kí tự trong chuỗi, nếu em sử dụng hàm thì file nó đọc công thức rất nặng và chạy gây treo máy ạ. Vậy có cách nào để code không Thầy? em xin gửi file giả laaoj và nội dung mong muốn e viết trong file, mong Thầy giúp giùm.
Một lần nữa cám ơn thầy và kính chúc Thầy nhiều sức khỏe, niềm vui trong cuộc sống!
Bài đã được tự động gộp:

Sử dụng hàm Textjoin được:
A3 =SUBSTITUTE(TEXTJOIN(",",1,B3:CG3),",,","")
Sau đó text to column rồi đếm
TextJoin:
View attachment 263004

Text to column và đếm (sheet khác)

View attachment 263005
Cám ơn Thầy rất nhiều ạ, Nhưng thầy ơi file của em nó dài và nhiều kí tự trong chuỗi, nếu em sử dụng hàm thì file nó đọc công thức rất nặng và chạy gây treo máy ạ. Vậy có cách nào để code không Thầy? em xin gửi file giả laaoj và nội dung mong muốn e viết trong file, mong Thầy giúp giùm.
Một lần nữa cám ơn thầy và kính chúc Thầy nhiều sức khỏe, niềm vui trong cuộc sống!
Bài đã được tự động gộp:

Bản office của em dùng là 2007, hàm nối chuỗi e tải trên GPE về ak, nhưng không biết cách sử dụng, nhưng dữ liệu của em nhiều lắm Thầy ơi, dùng code chứ hàm thì nó đọc lâu lắm vì file còn có các sheet khác ak lên tận 15mb nó treo máy mất ak!. Nếu code được thì tuyệt biết mấy
Cám ơn Thầy rất nhiều ạ, Nhưng thầy ơi file của em nó dài và nhiều kí tự trong chuỗi, nếu em sử dụng hàm thì file nó đọc công thức rất nặng và chạy gây treo máy ạ. Vậy có cách nào để code không Thầy? em xin gửi file giả laaoj và nội dung mong muốn e viết trong file, mong Thầy giúp giùm.
Một lần nữa cám ơn thầy và kính chúc Thầy nhiều sức khỏe, niềm vui trong cuộc sống!
Bài đã được tự động gộp:


Cám ơn Thầy rất nhiều ạ, Nhưng thầy ơi file của em nó dài và nhiều kí tự trong chuỗi, nếu em sử dụng hàm thì file nó đọc công thức rất nặng và chạy gây treo máy ạ. Vậy có cách nào để code không Thầy? em xin gửi file giả laaoj và nội dung mong muốn e viết trong file, mong Thầy giúp giùm.
Một lần nữa cám ơn thầy và kính chúc Thầy nhiều sức khỏe, niềm vui trong cuộc sống
 

File đính kèm

Lần chỉnh sửa cuối:
Bản office của em dùng là 2007, hàm nối chuỗi e tải trên GPE về ak, nhưng không biết cách sử dụng, nhưng dữ liệu của em nhiều lắm Thầy ơi, dùng code chứ hàm thì nó đọc lâu lắm vì file còn có các sheet khác ak lên tận 15mb nó treo máy mất ak!. Nếu code được thì tuyệt biết mấy
ak đọc là ặc hay AK47?
- Cách tôi làm là dùng hàm textJoin của office 2019 trở lên, và viết công thức cho từng dòng chứ không viết cho cả 1 khối ngàn dòng
- Hàm bạn sưu tầm về có 3 tham số và dùng cho trường hợp cụ thể theo yêu cầu chứ không dùng lung tung được
- Viết code thì tôi viết được, nhưng trước tiên bạn cho biết mục đích của file này là gì? Có phải thống kê số đề hay không? Vì nếu tôi viết tức là tôi tiếp tay cho 1 việc phạm pháp.
 
ak đọc là ặc hay AK47?
- Cách tôi làm là dùng hàm textJoin của office 2019 trở lên, và viết công thức cho từng dòng chứ không viết cho cả 1 khối ngàn dòng
- Hàm bạn sưu tầm về có 3 tham số và dùng cho trường hợp cụ thể theo yêu cầu chứ không dùng lung tung được
- Viết code thì tôi viết được, nhưng trước tiên bạn cho biết mục đích của file này là gì? Có phải thống kê số đề hay không? Vì nếu tôi viết tức là tôi tiếp tay cho 1 việc phạm pháp.
File trên là e lấy chuỗi tạm để minh hoạ cho cách nối chuỗi mà thôi chứ không có ý khác,vì mỵc đích là để tìm kí tự giống nhau trong một chuỗi quá dài vượt kí tự của hàm textjoin.e thấy trên googlesheet có hàm lọc có thể làm được,nhưng excel thì lại ko,nên không biết code VBA mong thầy giúp ak.
Bài đã được tự động gộp:

Chào bạn, bạn muốn nối theo từng hàng hay muốn nối tất cả hàng và cột vào trong 1 ô?

.
Mình muốn nối all các hàng thành một ô,nhưng thử các cách rồi, đã lấy hàm tự tạo textjoin trong diễn đàn nhưng hình như textjoin không nối được vì quá 255 kí tự.cái này mình nghĩ phải dùng code vba.máy mình xài excel 2007.huhuhu
 
Mình người mới. Mình muốn hỏi điều này
ví dụ tên nhân viên : Nguyễn Thị Hà mã NV: NTH
Những tên nhân viện khác: Nguyễn Thu Hương--> Mã NV cũng lại là NTH ( mình muốn nó thành NTH01).
Bác nào chỉ giúp em với ạ ( viết lệnh VBA)
 
Mình người mới. Mình muốn hỏi điều này
ví dụ tên nhân viên : Nguyễn Thị Hà mã NV: NTH
Những tên nhân viện khác: Nguyễn Thu Hương--> Mã NV cũng lại là NTH ( mình muốn nó thành NTH01).
Bác nào chỉ giúp em với ạ ( viết lệnh VBA)
Dùng dictionary ghi key "NTH" với item là số lần xuất hiện key
 
Dùng dictionary ghi key "NTH" với item là số lần xuất hiện key
Dùng dictionary ghi key "NTH" với item là số lần xuất hiện key
Tại mình mới dùng VBA. Bạn có thể ghi giúp mình không ạ.
Mình mới chỉ tách được tên. Nhưng những tên trùng thì nó không hiện ra được số :((

Function Name(Str As String) As String
Dim i As Byte
Str = Trim(Str): Name = Left(Str, 1)
For i = 1 To Len(Str)
If Mid(Str, i, 1) = " " Then Name = Name + Mid(Str, i + 1, 1)
Next
End Function
 
Tại mình mới dùng VBA. Bạn có thể ghi giúp mình không ạ.
Mình mới chỉ tách được tên. Nhưng những tên trùng thì nó không hiện ra được số :((

Function Name(Str As String) As String
Dim i As Byte
Str = Trim(Str): Name = Left(Str, 1)
For i = 1 To Len(Str)
If Mid(Str, i, 1) = " " Then Name = Name + Mid(Str, i + 1, 1)
Next
End Function
Function xử lý từng ô thì không cần dùng dic, cần thêm tham số các mã được tạo trước đó
Mã:
Function Name(str As String, rng As Range) As String
  If str = Empty Then Exit Function
  Dim i As Long, k As Long, tmp As String, cel As Range
  str = Trim(str): tmp = Left(str, 1)
  For i = 1 To Len(str)
    If Mid(str, i, 1) = " " Then tmp = tmp + Mid(str, i + 1, 1)
  Next
  For Each cel In rng
    If cel.Value = tmp Then
      k = k + 1
    ElseIf cel.Value Like tmp & "##" Then
      k = k + 1
    End If
  Next cel
  If k = 0 Then
    Name = tmp
  Else
    Name = tmp & Format(k, "00")
  End If
End Function
 

File đính kèm

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

Back
Top Bottom