Ghép chuỗi có điều kiện. (2 người xem)

Liên hệ QC

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

thinhnx22

Thành viên hoạt động
Tham gia
22/12/15
Bài viết
182
Được thích
38
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.
 

File đính kèm

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.
Sửa: Dùng hàm JoinIf của Thầy NDu mà Chủ Topic nói Không dùng VBA. Cho em rút lại bài
 
Lần chỉnh sửa cuối:
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.
Mình chỉ biết đến đây nếu ghép chỉ 5 mã còn làm sao để tính 1 mãng bỏ ghép ô rỗng thì chắc bạn đợi anh chị khác nhé
Mã:
=CONCATENATE(B6,TEXT(C6," dd/mm/yyyy")&", "&CONCATENATE(B8,TEXT(C8," dd/mm/yyyy")))
 
Mình chỉ biết đến đây nếu ghép chỉ 5 mã còn làm sao để tính 1 mãng bỏ ghép ô rỗng thì chắc bạn đợi anh chị khác nhé
Mã:
=CONCATENATE(B6,TEXT(C6," dd/mm/yyyy")&", "&CONCATENATE(B8,TEXT(C8," dd/mm/yyyy")))
Thì anh dùng hàm joinif hoặc jointext của Thầy @ndu96081631 ddi
 

File đính kèm

Mình chỉ biết đến đây nếu ghép chỉ 5 mã còn làm sao để tính 1 mãng bỏ ghép ô rỗng thì chắc bạn đợi anh chị khác nhé
Mã:
=CONCATENATE(B6,TEXT(C6," dd/mm/yyyy")&", "&CONCATENATE(B8,TEXT(C8," dd/mm/yyyy")))
Cũng đang quan tâm để có kinh nghiệm Bác @Phan Thế Hiệp hỗ trợ giúp chủ top nhe
 
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.
Tại sao bạn đinh ninh chỉ có công thức Mảng mới có thể thực hiện việc nối chuỗi?
Nếu một bên là cách đơn giản với hàm tự tạo, một bên với công thức Mảng mà dài ngoằng bạn chọn phương án nào?

Thân
 
Tại sao bạn đinh ninh chỉ có công thức Mảng mới có thể thực hiện việc nối chuỗi?
Nếu một bên là cách đơn giản với hàm tự tạo, một bên với công thức Mảng mà dài ngoằng bạn chọn phương án nào?

Thân
Chào anh, file em đung chung cho nhiều người không biết vba nên em muốn dùng công thức. Còn nếu dạng bài này mà làm bằng udf thì khoẻ hơn. Cảm ơn anh.
Bài đã được tự động gộp:

Em lại phải đưa ra rồi :p:p:p
Mình dùng điện thoại chưa kịp test. Cảm ơn bạn và mọi người.
 
Lần chỉnh sửa cuối:
Thích công thức mảng cũng được
=TEXTJOIN(", ",TRUE,IF(B6:B8&C6:C8="00","",B6:B8&" ("&TEXT(C6:C8,"dd/mm/yyyy")&")"))
 
Chào anh. Mình đang dùng excel 2007, hàm này hình như từ 2013 mới có. Cảm ơn anh.
Hàm này từ 2016 mới có. Bạn có thể mua office 365 hoặc dùng c.rack thì cứ phiên bản mới nhất mà chơi. Excel 2016 bổ sung 6 hàm CONCAT, TEXTJOIN, IFS, SWITCH, MAXIFS, MINIFS khá hữu dụng, có thể thay thế nhiều công thức mảng. Còn nếu bạn vẫn dùng 2007 thì dễ nhất là dùng cột phụ, VBA thì cao siêu quá.
 
Hàm này từ 2016 mới có. Bạn có thể mua office 365 hoặc dùng c.rack thì cứ phiên bản mới nhất mà chơi. Excel 2016 bổ sung 6 hàm CONCAT, TEXTJOIN, IFS, SWITCH, MAXIFS, MINIFS khá hữu dụng, có thể thay thế nhiều công thức mảng. Còn nếu bạn vẫn dùng 2007 thì dễ nhất là dùng cột phụ, VBA thì cao siêu quá.
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.
 
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é
Mã:
=JoinText(", ",TRUE,IF(B6:B8&C6:C8="00","",B6:B8&" ("&TEXT(C6:C8,"dd/mm/yyyy")&")"))
 

File đính kèm

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é
Mã:
=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é
 
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
----------------------------------------------

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é
Cách đơn giản nhất là dùng cột phụ thì chủ topic không làm tức là có ý biểu diễn. Để biểu diễn với nhiều người sử dụng excel mức độ cơ bản có thể dùng công thức khủng hoặc vba. Công thức thì em chịu nếu không dùng concat hay textjoin của office365. VBA nếu không tự viết được, người khác hỏi mà bó tay thì biểu diễn làm sao được.
 
Trong trường hợp mà B6 và C6 không có kết quả tìm kiếm (khác #N/A đã bẫy lỗi bằng Iferror=>dòng đầu tiên không có kết quả tìm kiếm) thì công thức lại chưa đúng. Giờ em muốn dùng vba cho tiện. Nhờ anh chị và các bạn kiểm tra lại giúp.
Ví dụ: (00/01/1900), MHA (26/03/2018) , trong khi đó kết quả đúng phải là: MHA (26/03/2018)
 
Cách đơn giản nhất là dùng cột phụ thì chủ topic không làm tức là có ý biểu diễn. Để biểu diễn với nhiều người sử dụng excel mức độ cơ bản có thể dùng công thức khủng hoặc vba. Công thức thì em chịu nếu không dùng concat hay textjoin của office365. VBA nếu không tự viết được, người khác hỏi mà bó tay thì biểu diễn làm sao được.
Nhiều người ở đây làm việc ở môi trường tự do cho nên quen với phong cách muốn làm gì thì làm. Vì vậy VBA và mấy cái công thức mảng phức tạp đối với họ là một sự lý thú trong công việc.
Trên thực tế, nhiều môi trường làm việc không dễ dãi như vậy. Ví dụ công ty nọ tôi làm thì hằng đêm có phần mềm chạy vòng vòng các máy và phong toả (quarantine) các files mà nó cho là đáng ngờ - file chứa VBA nằm đầu danh sách. Khi làm việc với công ty này, nếu cần VBA thì tôi làm thật nhanh, lấy dữ liệu và xoá code đi (nếu cần thì export code vào một thư viện hoặc copy nó vào một sheet riêng nào đó), điều quan trọng là đến cuối ngày, file phải ở dạng xlsx. Files nào không thể tránh thì cho vào một folder đặc biệt gọi là DMZ (vùng phi quân sự) dân lập trình dùng để test, hoàn toàn tự do. Công ty khác tôi làm việc thì dùng kiểm toán Tây, báo cáo làm bằng VBA họ bắt phải chứng code (dẫn chứng quy trình của code đúng với yêu cầu), ngay cả những công thức phức tạp cũng phải chứng theo đúng quy trình software testing.
Vì vậy, dân chuyên tư vấn về dữ liệu như tôi thì coi như VBA và công thức phức tạp là điều bất đắc dĩ - bước cuối cùng mới phải làm. Chúng tôi coi trọng cách thiết kế dữ liệu, cột phụ cứ việc thêm túa xua, miễn là chú thích cho rõ.
 
Web KT

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

Back
Top Bottom