Nói trước: Bài này chỉ có thể dùng code VBA mà thôi (công thức thường chẳng làm được)Các anh/chị làm ơn giúp dùm em su dung hàm nào trong excel để được như cột tô màu vàng bên dưới
- Mở file của bạn lênđúng rồi 02451, 02455 đó bạn ơi, mình đánh nhầm đó
Function JoinText(ByVal Sep As String, ByVal IgnoreBlanks As Boolean, ParamArray sArray()) As String
Dim tmpArr, SubArr, Arr(), Item, n As Long, tmp As String
On Error Resume Next
For Each SubArr In sArray
tmpArr = SubArr
If TypeName(tmpArr) <> "Variant()" Then
tmp = Trim(CStr(tmpArr))
If IgnoreBlanks = False Or Len(tmp) Then
n = n + 1
ReDim Preserve Arr(1 To n)
Arr(n) = tmp
End If
Else
For Each Item In tmpArr
tmp = Trim(CStr(Item))
If IgnoreBlanks = False Or Len(tmp) Then
n = n + 1
ReDim Preserve Arr(1 To n)
Arr(n) = tmp
End If
Next
End If
Next
If n Then JoinText = Join(Arr, Sep)
End Function
=JoinText(", ",TRUE,IF(($G$2:$G$13=$A17)*($H$2:$H$13=$B17),LEFT($E$2:$E$13,FIND("/",$E$2:$E$13)-1),""),"")
Bạn nói chổ này tôi không hiểu gì cảNếu như dùng code VBA, thì bạn insert thêm cột đơn đặt hàng kế bên cột số phiếu xuất và nội dung bên dưới giống như cột số phiếu xuât luôn nha bạn. Cám ơn bạn nhiều !
Bạn muốn làm gì trong cột đơn đặt hàng? Phải nêu quy luật thì người ta mới giúp được chứbạn ơi làm ơn viết code dùm mình thêm cột đơn đặt hàng với.Thanks again!
Tức cột đặt hàng làm tương tự, đúng không?Thì tương ứng với đơn hàng là có một số đơn đặt hàng đó bạn ơi.
mình vừa chép code của bạn vào file của mình thì bị trường hợp này bạn làm ơn sửa giúp mình
bạn xem file mình vừa up lên nè
=JoinText(", ",TRUE,IF(($G$2:$G$23=$A27)*($H$2:$H$23=$B27),$D$2:$D$23,""))
Trong dữ liệu bạn có bao nhiêu dòng chứa 3425 thì nó xuất ra bấy nhiêu thôi... Nếu bạn muốn lấy DUY NHẤT (tức trùng chỉ lấy một) thì đó là vấn đề khác ---> Phải viết thêm hàmsố phiếu xuất 3425 sao mà nhiều quá bạn ơi
Function UniqueList(ParamArray sArray())
Dim Item, tmpArr, SubArr, tmp As String
On Error Resume Next
With CreateObject("Scripting.Dictionary")
For Each SubArr In sArray
tmpArr = SubArr
If TypeName(tmpArr) <> "Variant()" Then
If tmpArr <> "" Then .Add tmpArr, ""
Else
For Each Item In tmpArr
If Item <> "" Then
If Not .Exists(Item) Then .Add Item, ""
End If
Next
End If
Next
UniqueList = .Keys
End With
End Function
=JoinText(", ",TRUE,UniqueList(IF(($G$2:$G$23=$A27)*($H$2:$H$23=$B27),LEFT($E$2:$E$23,FIND("/",$E$2:$E$23)-1),"")))
=JoinText(", ",TRUE,UniqueList(IF(($G$2:$G$23=$A27)*($H$2:$H$23=$B27),$D$2:$D$23,"")))
Chẳng khó khăn gì, nó cũng như công thức thôi. Chỉ cần bạn đam mê sẽ học đượcCám ơn bạn nhiều nha, sẵn đây cho mình hỏi : Học lập trình excel có khó lắm không bạn, bạn có thể tư vấn dùm mình : Học ở đâu và học bao lâu mới viết code được vậy bạn