concogia
Gội rồi mới Cạo
- Tham gia
- 17/9/09
- Bài viết
- 3,412
- Được thích
- 6,881
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"Bạn dùng công thức sau
Thí dụ:"[123456] [teexiii] hu hu hu"
Thân
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"Bạn dùng công thức sau
Lý do là ở phần in đậm bác cò ơiHì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
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
Huhu, mình không đọc kỹLý do là ở phần in đậm bác cò ơi
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=SUBSTITUTE(MID(A1,2,FIND("]",A1,8)-2),"] [",", ")
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
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LEFT(A1,FIND("]",A1,8)),"[",""),"]","")," ",", ")
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(A1," ",REPT(" ",255)),500)),"[",""),"]","")," ",", ")
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ể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 !
=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),""))))
Nếu không quan tâm bi nhiêu ký tự thì mình......phang em này:đú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
Hoặc
Híc=MID(SUBSTITUTE(A1,"] [",", "),2,FIND("]",SUBSTITUTE(A1,"] [",", "))-2)
[TABLE="width: 126"]
[TR]
[TD="align: left"]
Em có 4 số nàyAB/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
=replace(chuoi,1,find("|",chuoi),"")
[TABLE="width: 444"]
[TR]
[TD="colspan: 5"]
Ai giup em với!!
VD: Cột mã gồm:
Xác định số lượng, là các ký số bên trong côt Mã????
- B100GI
- A200VB
- C1320GA
- B50BI
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]
=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:
Xác định số lượng, là các ký số bên trong côt Mã????
- B100GI
- A200VB
- C1320GA
- B50BI
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]
=MID(A1,2,LEN(A1)-3)
Mã:=LOOKUP(10^10,MID(chuoi,2,ROW($1:$255))*1)
Thử hàm này xem nhé bạn vukody :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
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
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
Dùng thử hàm này xem saoad 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!
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
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ừaDùng thử hàm này xem saoCú pháp =KTD( 1 Ô nào đó )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