Chào các bạn!
Nhân ngày cuối tuần chúc các bạn một ngày nghỉ vui vẻ
Nhờ các bạn viết giúp hàm như file đính kèm
Xin cảm ơn các bạn
Public Function LayDuLieuTrung(ByVal s As String) As String
Dim lenS As Long, kyTu As String, temp As String
lenS = Len(s)
Do While lenS > 0
kyTu = Left(s, 1)
s = Replace(s, kyTu, "")
If lenS - Len(s) > 1 Then
temp = temp & "," & kyTu
End If
lenS = Len(s)
Loop
If Len(temp) > 0 Then LayDuLieuTrung = Mid(temp, 2)
End Function
Được bạn ơi"936303161" => "9,3,6,1"
Nếu kết quả trả về là "1,3,6,9" có được không bạn?
Cảm ơn bạn, mình bị nhầm không có số 9View attachment 255080
bác nói e mới để ý
do dữ liệu của bạn ấy đã sai trước, em chỉ muốn hỏi là kết quả có lấy theo thứ tự không thôi
Cảm ơn bạn mình bị nhầm số 9 không cóSố 9 đâu có bị lặp?
Cảm ơn bạn, sao mình không sử dụng hàm được nhỉ?Đây là hàm lấy trùng:
Thêm hàm JoinText của ndu96081631 để nối chuỗi lại.PHP:Public Function LayDuLieuTrung(ByVal s As String) As String Dim lenS As Long, kyTu As String, temp As String lenS = Len(s) Do While lenS > 0 kyTu = Left(s, 1) s = Replace(s, kyTu, "") If lenS - Len(s) > 1 Then temp = temp & "," & kyTu End If lenS = Len(s) Loop If Len(temp) > 0 Then LayDuLieuTrung = Mid(temp, 2) End Function
Nối chuỗi theo điều kiện
Chào cả nhà! Mình làm bên Quy hoạch đất, trong bảng biểu có yêu cầu lấy các loại đất có diện tích. Mình gửi file nhờ mọi người giúp đỡ, trong file, cột màu đỏ là kết quả mình cần lấy dữ liệu! Cảm ơn cả nhà nhiều ạ.www.giaiphapexcel.com
Function Trung(ParamArray args() As Variant) As String
Dim i As Long
Dim cell As Range
For i = LBound(args) To UBound(args)
If TypeName(args(i)) = "Range" Then
For Each cell In args(i)
Trung = Trung & Loc(cell.Value)
Next cell
Else
Trung = Trung & Loc(args(i))
End If
Next i
If Len(Trung) > 0 Then
Trung = Mid(Trung, 2)
Else
Trung = "khong co"
End If
End Function
Private Function Loc(cell As Variant) As String
Dim dai As Long, kyTu As String, temp As String
dai = Len(cell)
Do While dai > 0
kyTu = Left(cell, 1)
cell = Replace(cell, kyTu, "")
If dai - Len(cell) > 1 Then
temp = temp & "," & kyTu
End If
dai = Len(cell)
Loop
If Len(temp) > 0 Then Loc = "-" & Mid(temp, 2)
End Function
Cảm ơn bạn @lubu08 chuẩn đét rồimình xin góp chút cốt
View attachment 255087
Mã:Function Trung(ParamArray args() As Variant) As String Dim i As Long, s As String Dim cell As Range s = "" For i = LBound(args) To UBound(args) If TypeName(args(i)) = "Range" Then For Each cell In args(i) Trung = Trung & Loc(cell.Value) Next cell Else Trung = Trung & Loc(args(i)) End If Next i If Len(Trung) > 0 Then Trung = Mid(Trung, 2) Else Trung = "khong co" End If End Function Private Function Loc(cell As Variant) As String Dim dai As Long, kyTu As String, temp As String dai = Len(cell) Do While dai > 0 kyTu = Left(cell, 1) cell = Replace(cell, kyTu, "") If dai - Len(cell) > 1 Then temp = temp & "," & kyTu End If dai = Len(cell) Loop If Len(temp) > 0 Then Loc = "-" & Mid(temp, 2) End Function
Cảm ơn bạn @befaint mình sẽ sử dụng hàm của bạn @lubu08Google Sheets lèo cái được.
=TEXTJOIN(", ",true,UNIQUE(FILTER(mid(A1,row(INDIRECT("1:"&len(A1))),1),COUNTIF(mid(A1,row(INDIRECT("1:"&len(A1))),1),mid(A1,row(INDIRECT("1:"&len(A1))),1))>1)))
=ArrayFormula(TEXTJOIN(", ",true,query((QUERY(mid(A1,row(INDIRECT("1:"&len(A1))),1),"Select Col1,count(Col1) group by Col1",0)),"select Col1 where Col2>1",0)))
Bao giờ Excel mới 'nhớn'
Google Sheets lèo cái được.
=TEXTJOIN(", ",true,UNIQUE(FILTER(mid(A1,row(INDIRECT("1:"&len(A1))),1),COUNTIF(mid(A1,row(INDIRECT("1:"&len(A1))),1),mid(A1,row(INDIRECT("1:"&len(A1))),1))>1)))
=ArrayFormula(TEXTJOIN(", ",true,query((QUERY(mid(A1,row(INDIRECT("1:"&len(A1))),1),"Select Col1,count(Col1) group by Col1",0)),"select Col1 where Col2>1",0)))
Bao giờ Excel mới 'nhớn'
MÌnh đã làm được, nhưng công thức của bạn chưa đáp ứng được yêu cầu của chủ thớt.Dấu chấm phẩy. .
=TEXTJOIN(",",,UNIQUE(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,MID(B3,SEQUENCE(LEN(B3)),1))&"</b></a>","//b[preceding::*=.]")))
or
=LET(a,MID(B3,SEQUENCE(LEN(B3)),1),TEXTJOIN(",",1,UNIQUE(IF(MMULT(N(a=TRANSPOSE(a)),SEQUENCE(LEN(B3))^0)>1,a,""))))