khanhnguyen113
Thành viên mới

- Tham gia
- 25/6/19
- Bài viết
- 18
- Được thích
- 4
=LEFT(D2,3)&GroupNumber(MID(D2,4,LEN(D2)),",")
Function GroupNumber(ByVal Str As String, ByVal Delimiter As String) As String
Dim SplitArr As Variant, NumberArr() As Boolean, i As Long, Number As Long, IsSerial As Boolean, Start As Long
ReDim NumberArr(-1 To 0)
SplitArr = Split(Str, Delimiter)
For i = 0 To UBound(SplitArr, 1)
Number = CLng(SplitArr(i))
If Number + 1 > UBound(NumberArr, 1) Then ReDim Preserve NumberArr(-1 To Number + 1)
NumberArr(Number) = True
Next
For i = 0 To UBound(NumberArr, 1)
If NumberArr(i) Then
If Not NumberArr(i - 1) Then
Start = i
End If
ElseIf NumberArr(i - 1) Then
GroupNumber = GroupNumber & " " & Start & IIf(i - 1 > Start, "-" & (i - 1), "")
End If
Next
GroupNumber = Mid(GroupNumber, 2)
If Delimiter <> " " Then GroupNumber = Replace(GroupNumber, " ", Delimiter & " ")
End Function
bị ;ỗi vậy nè Bạn ơiCú pháp sử dụng đối với file của bạn như sau:
CodeMã:=LEFT(D2,3)&GroupNumber(MID(D2,4,LEN(D2)),",")
Mã:Function GroupNumber(ByVal Str As String, ByVal Delimiter As String) As String Dim SplitArr As Variant, NumberArr() As Boolean, i As Long, Number As Long, IsSerial As Boolean, Start As Long ReDim NumberArr(-1 To 0) SplitArr = Split(Str, Delimiter) For i = 0 To UBound(SplitArr, 1) Number = CLng(SplitArr(i)) If Number + 1 > UBound(NumberArr, 1) Then ReDim Preserve NumberArr(-1 To Number + 1) NumberArr(Number) = True Next For i = 0 To UBound(NumberArr, 1) If NumberArr(i) Then If Not NumberArr(i - 1) Then Start = i End If ElseIf NumberArr(i - 1) Then GroupNumber = GroupNumber & " " & Start & IIf(i - 1 > Start, "-" & (i - 1), "") End If Next GroupNumber = Mid(GroupNumber, 2) If Delimiter <> " " Then GroupNumber = Replace(GroupNumber, " ", Delimiter & " ") End Function
ok Cảm ơn BạnTự tìm hiểu đi bạn. Không nên chuyện gì cũng hỏi như vậy. Nếu đến ngày mai mà bạn cũng không biết cách khắc phục thì tôi hướng dẫn cho.
Trong hình của bạn ở dòng 3 bạn đã có gợi ý mà. "Người ta" đặt trên đĩa và dâng tận nơi cho bạn mà.ok Cảm ơn Bạn
Bạn có nhìn thấy dấu chấm phẩy ngăn cách 2 paraleter không? Tức dấu phân cách các parameter trong công thức bắt buộc là dấu chấm phẩy.LEFT(text; [num_chars])
CẢM ƠN bẠN NHIỀU NHA NHƯNG MÌNH VẪN CHƯA RA ĐƯỢC. MÌNH ĐANG NGHIÊN CỨU THÊMTrong hình của bạn ở dòng 3 bạn đã có gợi ý mà. "Người ta" đặt trên đĩa và dâng tận nơi cho bạn mà.
Ở lân cận E3 bạn có
Bạn có nhìn thấy dấu chấm phẩy ngăn cách 2 paraleter không? Tức dấu phân cách các parameter trong công thức bắt buộc là dấu chấm phẩy.
Mà khi bạn nhập công thức bất kỳ thì bạn cũng nhìn thấy gợi ý. Vd. trên máy bạn thì khi mới viết =sum( bạn đã nhìn thấy gợi ý =SUM(number1; [number2]; ...). Bạn nhìn thấy dấu gì phân cách các parameter thì bạn phải gõ / dùng dấu đó. Cái này tùy thiết lập trên từng máy khác nhau (Control Panel)