Ghép chuỗi có điều kiện.

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào các anh chị,
Mình đang cần ghép những mã hàng và ngày tháng thành một chuỗi (Thực tế không ghép quá 5 mã và ngày tháng) nên mình muốn mình công thức mảng. Kết quả mong muốn mình gửi file đính kèm. Anh chị và các bạn giúp mình. Chân thành cảm ơn.

Em lại phải đưa ra rồi :p:p:p

www.giaiphapexcel.com/diendan/threads/gh%C3%A9p-chu%E1%BB%97i-c%C3%B3-%C4%91i%E1%BB%81u-ki%E1%BB%87n.137428/

Khoá học Trưởng phòng nhân sự
Khóa học SprinGO phù hợp

Khoá học Trưởng phòng nhân sự

Nguồn nhân lực là một trong Tứ trụ kinh doanh của doanh nghiệp, có tác động tới sự tồn tại và phát triển bền...

Xem khóa học
★★★★★ 5 ★ 1 👤 3 ▥ 0
Quảng cáo

Bạn nên đọc

3 Responses

  1. hands says:

    Qua các bài viết, mình thấy bài này dùng vba có vẻ là ổn hơn. Công thức cũng khoai mà phiên bản thì cũng thấp. Cảm ơn anh chị em diễn đàn.

    Nếu vậy bạn dùng hàm mở rộng nhé

    =JoinText(", ",TRUE,IF(B6:B8&C6:C8="00","",B6:B8&" ("&TEXT(C6:C8,"dd/mm/yyyy")&")"))
  2. hands says:

    VBA thì cao siêu quá.

    Chừng nào bắt bạn tự viết để xài thì mới là cao siêu, chứ người khác viết sẵn, bạn chỉ xài thôi mà cao siêu gì. Cứ tưởng tượng hàm tự tạo giống như mấy hàm anh Bill viết sẵn đi, đâu cần biết MS viết gì và các bạn vẫn cứ xài đấy thôi
    ———————————————-

    Nếu vậy bạn dùng hàm mở rộng nhé

    =JoinText(", ",TRUE,IF(B6:B8&C6:C8="00","",B6:B8&" ("&TEXT(C6:C8,"dd/mm/yyyy")&")"))

    Lưu ý với các bạn đang dùng hàm JoinText, nếu thấy trong hàm có đối số IgnoreBlanks thì đó là phiên bản cũ lắm rồi. Vui lòng tải phiên bản mới tốt hơn nhé

  3. hands says:

    1. Nếu dùng cột phụ (các ô mình bôi màu xanh), công thức có vẻ hơi dài nhưng dễ viết.
    E6=E5& ", "&B6 & " (" & TEXT(C6,"dd/mm/yyyy")&")"
    fill xuống E8
    Kết quả G4=SUBSTITUTE(RIGHT(E8,LEN(E8)-2),"0 (00/01/1900), ","")
    2. Nếu dùng VBA

    Function xxx$(Data As Range, MaHang, Phi As Range)
        Dim arr(), P As Range, i&
        arr = Data.Value
        For Each P In Phi
            For i = 1 To UBound(arr)
                If arr(i, 1) = MaHang And arr(i, 4) = P Then
                    xxx = xxx & ", " & arr(i, 2) & " (" & arr(i, 3) & ")"
                    Exit For
                End If
            Next
        Next
        If Len(xxx) > 0 Then xxx = Right(xxx, Len(xxx) - 2)
    End Function

    Do vùng Phí chỉ có ít ô nên đọc trực tiếp không ảnh hưởng tốc độ.
    Công thức (ô màu đỏ)
    =xxx(NGUON!A8:D10,C2,D6:D8)

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm