Công thức để kéo dữ liệu cùng nhóm (1 người xem)

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

ba.ho_eis

Thành viên chính thức
Tham gia
1/4/10
Bài viết
52
Được thích
16
Em có file excel có công thức nào để kéo những dòng dữ liệu xuống như file đính kèm giúp em ko. Vì file có rất nhiều dòng nên không thể kéo dữ liệu từng cụm được. Cảm ơn Anh Chị
 

File đính kèm

Em có file excel có công thức nào để kéo những dòng dữ liệu xuống như file đính kèm giúp em ko. Vì file có rất nhiều dòng nên không thể kéo dữ liệu từng cụm được. Cảm ơn Anh Chị
Cái này dùng autofilter là được.
-Cột "Số" : lọc các ô Blanks
-Cột "Tên hàng" : lọc các ô <> Blanks
-Chuyển ô hiện hành về B3 và chọn phần trống vừa lọc tại cột "Số" và "Ngày"
-Gõ =B2, nhấn Ctrl+enter
 
Em có file excel có công thức nào để kéo những dòng dữ liệu xuống như file đính kèm giúp em ko. Vì file có rất nhiều dòng nên không thể kéo dữ liệu từng cụm được. Cảm ơn Anh Chị

Vậy bạn hỏi gì?
Kéo cái gì?
Cụm đó ở đâu?

Có gì? và kết quả muốn sao? quy luật tính sao?

Đó là những câu hỏi bạn nên trả lời rõ , thì người xem mới hiểu bạn đang mắc ở đâu,

hay bạn up nhầm file không, khi trong file chỉ có 1 mớ dữ liệu lộn xộn này:
[TABLE="width: 807"]
[TR]
[TD]SỐ[/TD]
[TD]NGAØY[/TD]
[TD]TEÂN HAØNG[/TD]
[/TR]
[TR]
[TD]PXB00027/0414
[/TD]
[TD]01/04/2014[/TD]
[TD]KH F9352 GREY 152.4CM[/TD]
[/TR]
[TR]
[TD]
[/TD]
[TD] [/TD]
[TD]KH F9352 GREY 152.4CM[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD]
[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00455/0414[/TD]
[TD]14/04/2014[/TD]
[TD]KH 2118 FG[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00456/0414[/TD]
[TD]14/04/2014[/TD]
[TD]KH F9352 GREY 152.4CM[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00571/0514[/TD]
[TD]17/05/2014[/TD]
[TD]KH 2118 FG 60I[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00984/0614[/TD]
[TD]30/06/2014[/TD]
[TD]KH 1065 MW[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00209/0714[/TD]
[TD]07/07/2014[/TD]
[TD]KH F9352 GREY (CHARCOAL) 60I[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00474/0114[/TD]
[TD]14/01/2014[/TD]
[TD]PP 080GR BLACK[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB01070/0714[/TD]
[TD]29/07/2014[/TD]
[TD]PP 080GR BLACK 160S[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD]PP 080GR BLACK 80S[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD]PP 080GR BLACK 80S[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00082/0814[/TD]
[TD]02/08/2014[/TD]
[TD]PP 080GR BLACK 160S[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00019/0314[/TD]
[TD]01/03/2014[/TD]
[TD]PP 070GR BLACK[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00457/0714[/TD]
[TD]12/07/2014[/TD]
[TD]PP 080GR COCOA 125[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXT0061/0414[/TD]
[TD]23/04/2014[/TD]
[TD]TUÙI XAÙCH 01[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXT0057/0414[/TD]
[TD]21/04/2014[/TD]
[TD]TUÙI XAÙCH 01[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]PXB00480/0614[/TD]
[TD]14/06/2014[/TD]
[TD]KH 8017 FB[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD] [/TD]
[TD]KH 8017 FW[/TD]
[/TR]
[/TABLE]
 
Lần chỉnh sửa cuối:
Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)
 

File đính kèm

Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)
Thay vì phải "Kéo" thì bạn chỉ cần bấm chuột vào nút "Kéo dữ liệu".
 

File đính kèm

Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)
Bạn tạo thêm cột phụ ví dụ là C.
C1=A1
C2= If(A2="",C1,A2).
Kéo công thức xuống rồi copy và paste value sang A.
 
Anh Chị xem file giúp em. Em muốn Ô A3=A2, B3=B2;A11,A11=A10, B11,B12=B10
(Các ô của cột A và B chỗ nào trống là lấy số liệu của ô liền kế trên. Vì dữ liệu rất nhiều nên e ko thể copy được)
Nếu cấu trúc giống file đính kèm thì làm thế này cho đơn giản:
- Đưa ô hiện hành về A3
- Chọn toàn bộ dữ liệu cột "Số" và cột "Ngày"
- Nhấn Ctrl+G--->Chọn Special---->Chọn Blanks
- Gõ =A2, nhấn Ctrl+Enter là xong
 
Có thể dùng mảng sẽ nhanh hơn:
Mã:
Public Sub dien_dl()
Dim rng As Range, i As Long, data
data = Sheet1.Range("A2:C" & Sheet1.Range("C65500").End(xlUp).Row)

For i = 1 To UBound(data)
    If data(i, 1) = "" And data(i, 2) = "" Then
        data(i, 1) = data(i - 1, 1)
        data(i, 2) = data(i - 1, 2)
        data(i, 3) = data(i, 3)
    Else
        data(i, 1) = data(i, 1)
        data(i, 2) = data(i, 2)
        data(i, 3) = data(i, 3)
    End If
Next i
        Sheet1.Range("A2").Resize(UBound(data), 2) = data
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Công việc điền thêm vào ô khuyết dữ liệu như thế này vẫn xảy ra thường xuyên. Làm theo cách của bài #6 là chuẩn nhất rồi (chỉ hơi khác là thường thì người ta insert 1 cột bên cạnh, dùng xong thì delete)
việc này tôi vẫn dùng cho cả chục ngàn dòng. Dung quen rồi sẽ thấy rất tiện. Sử dụng code vba là hạ sách.
 
Công việc điền thêm vào ô khuyết dữ liệu như thế này vẫn xảy ra thường xuyên. Làm theo cách của bài #6 là chuẩn nhất rồi (chỉ hơi khác là thường thì người ta insert 1 cột bên cạnh, dùng xong thì delete)
việc này tôi vẫn dùng cho cả chục ngàn dòng. Dung quen rồi sẽ thấy rất tiện. Sử dụng code vba là hạ sách.
Thực ra công thức em rất yếu nên trừ những bài mà nghĩ ngay ra được công thức thì em dùng còn đâu là em toàn dùng VBA. Vậy xin thầy cho biết lí do tại sao ở bài này dùng VBA lại là hạ sách ạ?
 
Thực ra công thức em rất yếu nên trừ những bài mà nghĩ ngay ra được công thức thì em dùng còn đâu là em toàn dùng VBA. Vậy xin thầy cho biết lí do tại sao ở bài này dùng VBA lại là hạ sách ạ?

Tôi biết cũng khá khá về VBA nhưng trong công việc tôi lại ít khi dùng đến. Dạng bài này mấy cô thư ký nhờ làm hoài và tôi thường áp dụng cách ở bài 7.
Quan điểm của tôi là:
- Giải pháp càng đơn giản càng dễ bảo trì
- Đôi lúc lười, nghĩ rằng mình viết 1 code VBA để làm cho lẹ, nhưng thời gian nghĩ ra được code VBA ấy tôi làm bằng tay đã xong từ sớm
Một điều tối quan trọng: Dùng VBA thì miễn Undo nhé ---> Có sơ sót ráng chịu (mà chuyện sơ sót khó tránh khỏi khi trình độ ta còn kém và không lường được những tình huống có thể xảy ra)
 
Tôi biết cũng khá khá về VBA nhưng trong công việc tôi lại ít khi dùng đến. Dạng bài này mấy cô thư ký nhờ làm hoài và tôi thường áp dụng cách ở bài 7.
Quan điểm của tôi là:
- Giải pháp càng đơn giản càng dễ bảo trì
- Đôi lúc lười, nghĩ rằng mình viết 1 code VBA để làm cho lẹ, nhưng thời gian nghĩ ra được code VBA ấy tôi làm bằng tay đã xong từ sớm
Một điều tối quan trọng: Dùng VBA thì miễn Undo nhé ---> Có sơ sót ráng chịu (mà chuyện sơ sót khó tránh khỏi khi trình độ ta còn kém và không lường được những tình huống có thể xảy ra)
Với em thì lại khác. Nếu để kết hợp các công thức lại mới ra kết quả thì em viết code có lẽ nhanh hơn nhiều. Đây là với cá nhân em thôi.
 
Với em thì lại khác. Nếu để kết hợp các công thức lại mới ra kết quả thì em viết code có lẽ nhanh hơn nhiều. Đây là với cá nhân em thôi.

Code hay không là tuỳ từng người và công việc đó có lặp đi lặp lại không, nếu không thì dùng các công cụ của excel là khá thừa, cái nào thiếu thì mới VBA.

Bài này tác giả chắc chỉ có nhu cầu 1 lần.
 
Thực ra công thức em rất yếu nên trừ những bài mà nghĩ ngay ra được công thức thì em dùng còn đâu là em toàn dùng VBA. Vậy xin thầy cho biết lí do tại sao ở bài này dùng VBA lại là hạ sách ạ?

Câu đầu tôi có nói: "vẫn xảy ra thường xuyên"
Dữ liệu trình bày ở các loại bảng khác khôg hẳn đã theo quy luật "phẳng" như Excel. Cho nên cóp qua Excel thì bị như thế này là bình thường. Mặt khác nếu bạn giao cho người khác gõ dữ liệu thì việc người ta lười gõ các ô giống nhau cũng không hiếm.

Sửa bảng tính bằng cách tạm thêm cột phụ là phương pháp đã có từ thời khai sinh của Excel.
Câu cuối tôi nói có đoạn: "dùng quen rồi sẽ thấy rất tiện".
 
Bạn tạo thêm cột phụ ví dụ là C.
C1=A1
C2= If(A2="",C1,A2).
Kéo công thức xuống rồi copy và paste value sang A.

Cần gì phải tạo cột phụ đâu?
Bạn chỉ cần chọn cột cần điền, bấm F5 (hoặc Ctrl G), chọn Blank. Khi đó ta đã chọn được tất cả các ô blank. Tại ô blank đầu tiên, bạn đặt công thức = ô liền kề phía trên và cuối cùng Ctrl Enter là có kết quả mong muốn.
Cực nhanh.
 
Cần gì phải tạo cột phụ đâu?
Bạn chỉ cần chọn cột cần điền, bấm F5 (hoặc Ctrl G), chọn Blank. Khi đó ta đã chọn được tất cả các ô blank. Tại ô blank đầu tiên, bạn đặt công thức = ô liền kề phía trên và cuối cùng Ctrl Enter là có kết quả mong muốn.
Cực nhanh.

phương pháp này người ta đã nêu ra ở bài #7 và nhắc lại ở bài #11. Bây giờ mới chen vào.

cách thêm cột phụ có thể chậm hơn 1 chút, nhưng đó là phương pháp căn bản nhất. Và dễ kiểm soát nhất: nó cho ta thấy rõ dữ liệu trong cột trước khi chép lại
 
phương pháp này người ta đã nêu ra ở bài #7 và nhắc lại ở bài #11. Bây giờ mới chen vào.

cách thêm cột phụ có thể chậm hơn 1 chút, nhưng đó là phương pháp căn bản nhất. Và dễ kiểm soát nhất: nó cho ta thấy rõ dữ liệu trong cột trước khi chép lại

Bạn chỉ hộ phần xóa bài với. Thực sự là chưa đọc hết các bài trả lời.
 
Công việc điền thêm vào ô khuyết dữ liệu như thế này vẫn xảy ra thường xuyên. Làm theo cách của bài #6 là chuẩn nhất rồi (chỉ hơi khác là thường thì người ta insert 1 cột bên cạnh, dùng xong thì delete)
việc này tôi vẫn dùng cho cả chục ngàn dòng. Dung quen rồi sẽ thấy rất tiện. Sử dụng code vba là hạ sách.

Bạn cũng lên sửa bài này khi khẳng định bài #6 là chuẩn nhất.
 

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

Back
Top Bottom