

Em có đính kèm file đấy ạ. Mong mọi người giải thích giùm em một chút về ý nghĩa của các ký tự trong hàm với nhé.

Cái này chắc phải dùng VBA. cách củ chuối này tạm.p/s: Dữ liệu khi chuyển sang cột liền nhau nhé mọi người tức là bỏ qua những ô trống đấy ạ
Tks bác ^^ Cách này xem ra nhọc nhỉ vì dat của em gồm 350 dòng x 7 cộtCái này chắc phải dùng VBA. cách củ chuối này tạm.
Loại bài này chỉ có cách dùng lập trình VBA mới là nhanh gọn nhất thôiTks bác ^^ Cách này xem ra nhọc nhỉ vì dat của em gồm 350 dòng x 7 cột. Có ai có cao kiến gì ko giúp em với
Loại bài này chỉ có cách dùng lập trình VBA mới là nhanh gọn nhất thôi
Nếu đồng ý thì chúng ta tiếp tục
Xin hỏi anh theo đúng như nội dung với bác NDU ạĐúng là bài này dùng VBA thì rất nhanh gọn và lẹ, Chuyển vùng chứa dữ liệu về mảng 2 chiều, sau đó đưa về mảng 1 chiều và sắp xếp lại dữ liệu và loại bỏ ô trống rồi in ra theo dạng cột
Em đã đọc và đã vật nhau với từng công thức và đến giờ em vẫn phải vật tiếpVBA có sẵn đây: http://www.giaiphapexcel.com/forum/showthread.php?53028-Chuyển-dữ-liệu-2-chiều-thành-1-chiều-có-loại-bỏ-ô-trống
3, 4 cách, tha hồ chọn.
Loại bài này chỉ có cách dùng lập trình VBA mới là nhanh gọn nhất thôi
Nếu đồng ý thì chúng ta tiếp tục
Bài này tôi làm lâu rồi (cũng chẳng nhớ)Đây rồi, file này em đính kèm chính là của bác NDU làm là cái em cần nhưng em ko thể áp dụng được vì em ko hiểu được hết các định dạng trong đó. Xin mọi người đặc biệt là bác NDU chỉ giúp em rõ hơn về các ký tự trong đó ạ, đặc biệt em ko hiểu DS DK là gì ạ![]()
xin mọi người chỉ giùm em. Em toàn bị báo lỗi Number thui
![]()
DS =Sheet1!$C$7:$G$17
VT =IF(DS="","",ROW(INDIRECT("1:"&ROWS(DS)))*COLUMNS(DS)+TRANSPOSE(ROW(INDIRECT("1:"&COLUMNS(DS)))))
=IF(ROWS($1:1)>COUNT(VT),"",INDEX(DS,INT((SMALL(VT,ROWS($1:1))-1)/COLUMNS(DS)),MOD(SMALL(VT,ROWS($1:1))-1,COLUMNS(DS))+1))
^^ Thanks anh ạ, nhưng em xin hỏi 1 câu tối dạ là anh cất 2 công thức xác định DS với VT ở chỗ nào đấy ạ vì em tìm mãi ko raBài này tôi làm lâu rồi (cũng chẳng nhớ)
Giờ sửa lại theo dữ liệu trên file của bạn nhé
1> Đặt name cho vùng dữ liệu
2> Đặt name xác định vị tríPHP:DS =Sheet1!$C$7:$G$17
3> Công thức trích lọcPHP:VT =IF(DS="","",ROW(INDIRECT("1:"&ROWS(DS)))*COLUMNS(DS)+TRANSPOSE(ROW(INDIRECT("1:"&COLUMNS(DS)))))
Xong!PHP:=IF(ROWS($1:1)>COUNT(VT),"",INDEX(DS,INT((SMALL(VT,ROWS($1:1))-1)/COLUMNS(DS)),MOD(SMALL(VT,ROWS($1:1))-1,COLUMNS(DS))+1))
Việc của bạn là xác định cho đúng dữ liệu của bạn nằm ở đâu (trong name đầu tiên)... Còn name thứ 2 và công thức thì cứ việc copy paste vào (khỏi chỉnh sửa gì cả)
Tuy nhiên, vẫn khuyên bạn nên dùng phương pháp lập trình VBA, vì nếu dùng công thức cho dữ liệu lớn thì file của bạn sẽ rất nặng
Đã nói là NAME thì đương nhiên nó nằm trong Define Name rồi ---> Bấm Ctrl + F3 sẽ thấy^^ Thanks anh ạ, nhưng em xin hỏi 1 câu tối dạ là anh cất 2 công thức xác định DS với VT ở chỗ nào đấy ạ vì em tìm mãi ko ra. Xin hay chỉ rõ hơn giúp em như kiểu chỉ tận tay day tận mặt ấy ạ.
. Vì rõ ràng em ko thấy công thức anh xác định name và vị trí ở đâu cả
.
Nếu dùng VBA thì đã có đường link cho ở trên rồi còn gì (bài số 7)File của em dữ liệu nặng anh ạ khoảng 2000 dòng và 20 cột thì anh chỉ giùm em VBA với ạ ( thú thực là em cũng chưa bít VBA nó là cái gìnên em quan niệm là bất cứ cái gì Excel mà nhai được thì em vớt hết ạ. Anh chỉ cho em cái VBA với anh nhé.
Đã nói là NAME thì đương nhiên nó nằm trong Define Name rồi ---> Bấm Ctrl + F3 sẽ thấy
Nếu dùng VBA thì đã có đường link cho ở trên rồi còn gì (bài số 7)
Theo dữ liệu trong file của bạn thì đâu phải là chuyển bảng thành cột đâu. Nó là trích lọc dữ liệu, bỏ qua cell rổngThanks anh, em đã làm được rồi anh ạ, nhưng lại phát sinh một vấn đề là dữ liệu rời rạc của em gồm tất cả 50 bảng excel ( kỳ kục ở chỗ mỗi bảng của em lại gồm có 1 cột thôi ạ) nếu làm theo cách này vị chi là em sẽ phải deine 50 cái name từ DS1,... đến DS 50 cộng với 50 cái TS TS1,... đến TS50
chưa kể đến việc em phải chỉnh sửa name trong 3 công thức vì không thể copy/paste được. Nghĩ đến đây là em muốn...
rùi anh ạ.
Dùng VBA giải quyết êm hơn đúng ko ạ nhưng em đọc bài viết anh chỉ em ko hiểu gì. Em đính kèm 1 file gồm 1 phần dữ liệu y chang dữ liệu em đang có mong anh NDU có thể thao tác trực tiếp trên đó và giải thích giúp em được ko ạ.Thanks anh nhiều nhiều. Hix
Name được cất trong insert/name, hoặc bạn có thể dùng ctrl-F3 để mở nhanh.^^ Thanks anh ạ, nhưng em xin hỏi 1 câu tối dạ là anh cất 2 công thức xác định DS với VT ở chỗ nào đấy ạ vì em tìm mãi ko ra. Xin hay chỉ rõ hơn giúp em như kiểu chỉ tận tay day tận mặt ấy ạ.
. Vì rõ ràng em ko thấy công thức anh xác định name và vị trí ở đâu cả
File của em dữ liệu nặng anh ạ khoảng 2000 dòng và 20 cột thì anh chỉ giùm em VBA với ạ ( thú thực là em cũng chưa bít VBA nó là cái gìnên em quan niệm là bất cứ cái gì Excel mà nhai được thì em vớt hết ạ. Anh chỉ cho em cái VBA với anh nhé.