Có thể dùng hàm Join để nối chuối từ các cell lại không? (3 người xem)

Liên hệ QC

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

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,963
Trong bài viết này:
http://www.giaiphapexcel.com/forum/showthread.php?t=18360
Bạn Rollover79 có ý kiến cho rằng:
Theo em thì bác nên nhập tất cả vào 1 ô, các ký tự ngăn cách nhau bởi 1 ký tự nào đó, rồi Split nó ra là ok thôi. Còn cái vụ ghép vào, nếu là mảng 1 chiều thì có thể dùng Join mà ko cần phải dùng vòng lặp For.
Vậy nếu như tôi có dử liệu:
A1 = A
A2 = B
A3 = C
A4 = D

Tôi đặt:
Set Rng = Range("A1:A4")
Đương nhiên Rng phải là mảng 1 chiều rồi
Vậy xin hỏi có thể dùng hàm Join để nối tất cả các phần tử của Rng lại với nhau để được kết quả A,B,C,D mà không cần bất cứ vòng lập nào không?
Tôi đã thử nhiều lần... đã tìm nhiều nơi... nhưng hầu hết người ta đều dùng vòng lập (mà nếu đã dùng vòng lập thì cần gì đến hàm Join nhỉ?)
 
Bạn ơi, mình đã áp dụng hàm Join nêu trên cho việc của mình, tuy nhiên vấn đề của mình là cần nôi các ô lại thỏa 02 điều kiện, cụ thể theo file mình đính kèm. Giúp mình với nhé, Thanks
Hàm JoinText đã được sửa lại như sau:
PHP:
Function JoinText(ByVal Sep As String, ByVal IgnoreBlanks As Boolean, ParamArray sArray()) As String
  Dim tmpArr, SubArr, Arr(), Item, n As Long
  On Error Resume Next
  For Each SubArr In sArray
    tmpArr = SubArr
    If TypeName(tmpArr) <> "Variant()" Then
      If IgnoreBlanks = False Or Len(Trim(CStr(tmpArr))) > 0 Then
        n = n + 1
        ReDim Preserve Arr(1 To n)
        Arr(n) = CStr(tmpArr)
      End If
    Else
      For Each Item In tmpArr
        If IgnoreBlanks = False Or Len(Trim(CStr(Item))) > 0 Then
          n = n + 1
          ReDim Preserve Arr(1 To n)
          Arr(n) = CStr(Item)
        End If
      Next
    End If
  Next
  If n Then JoinText = Join(Arr, Sep)
End Function
Áp dụng vào cell D19:
Mã:
=JoinText(", ",TRUE,IF(($B$3:$B$12=B19)*($E$3:$E$12=C19),$D$3:$D$12,""))
Gõ xong công thức, bấm tổ hợp phím Ctrl + Shift + Enter
 

File đính kèm

Upvote 0
Nhờ thầy ndu96081631 chỉ dẫn giúp em nối text theo biến, em cảm ơn nhiều!!!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Nhờ thầy ndu96081631 chỉ dẫn giúp em nối text theo biến, em cảm ơn nhiều!!!
Yêu cầu của bạn chỉ cần kết hợp với hàm OFFSET hoặc INDIRECT là được
Dùng cái này:
Mã:
=JoinText(",",OFFSET(A2,,,C2-1))
Hoặc cái này:
Mã:
=JoinText(",",INDIRECT("A2:A"&C2))
 

File đính kèm

Upvote 0
Thầy ndu96081631 hướng dẫn giúp em áp dụng nối text với bài này ạ.

Em cảm ơn Thầy.
 

File đính kèm

Upvote 0
Thầy ndu96081631 hướng dẫn giúp em áp dụng nối text với bài này ạ.

Em cảm ơn Thầy.

Công thức cho U5:
Mã:
=JoinText("+",INDIRECT("V"&LOOKUP(2,1/($C$2:$C5<>""),ROW($2:5))&":V"&ROW()-1))
Copy U5, paste cho U11, U13 và U16
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom