Tìm dòng ghép với dòng

Liên hệ QC

hcl_pt

Thành viên thường trực
Tham gia
21/10/10
Bài viết
208
Được thích
11
Mình có trường hợp sau: CSDL ở sheet1, cần tìm 2 dòng ghép với nhau thoả mãn điều kiện:

*Trong 2 dòng ghép với nhau thoả mãn: Dòng thứ nhất , xét từ cột cuối cùng của dòng về cột đầu tiên, khi dòng này cứ có dữ liệu xuất hiện thì lùi lại về phía cột đầu tiên trong vòng 6 cột thì dòng thứ hai đ ược ghép với dòng thứ nhất phải có dữ liệu.
- Ví dụ: dòng A1 ghép với dòng A3 (dòng A1 gọi là dòng thứ nhất, dòng A3 gọi là dòng thứ hai). Khi dòng A1 có dữ liệu thì lùi lại trong vòng 6 cột thì dòng A3 phải có dữ liệu! Kết quả 2 dòng ghép với nhau thoả mãn xuất sang sheet2.
* Tìm tất cả các cặp dòng thoả mãn điều kiện trên.
Rất mong sự giúp đỡ của các bạn!Xin Chân thành cảm ơn!
( Trong trường hợp lùi lại trong vòng 7 cột, 8 cột ,..v..v.. thì làm tương tự )
 

File đính kèm

  • Tim2dong.7z
    18.6 KB · Đọc: 31
Việc ghép dòng này không khó nhưng phải rõ quy luật. Bạn cần cho thêm ví dụ và mô tả cụ thể hơn.
 
Việc ghép dòng này không khó nhưng phải rõ quy luật. Bạn cần cho thêm ví dụ và mô tả cụ thể hơn.
- Vâng cảm ơn bạn! Mình xin nói rõ hơn như sau: Mình xin nói rõ hơn ở ví dụ trong file mình gửi kèm theo ở trên, dòng A1 và A3 thoả mãn khi ghép với nhau là vì: Lấy dòng A1 làm gốc, xét từ ô cuối cùng của dòng A1 lùi lại về ô đầu, cứ khi ô nào ở dòng A1 có dữ liệu xuất hiện thì lùi lại trong vòng 6 cột thì dòng thứ hai A3 phải có dữ liệu xuất hiện. Cứ như vậy cho đến hết!
- Khi xét các cặp dòng có thoả mãn không thì mình làm thủ công như sau là xét lần lượt dòng thứ 1 làm gốc so với tất cả các dòng còn lại xem có cặp dòng nào không, sau đó xét ngược lại là lấy tất cả các dòng còn lại làm gốc rồi so với dòng thứ 1 ( như vậy là xét tất cả trường hợp cho dòng thứ 1), cứ như vậy cho đến dòng thứ 2, thứ 3 ..v..v. cho đến hết các dòng!
 
Bạn nói thêm về cách ghép A8 và A5 đi. Sao mình chẳng thấy quy luật gì cả?
-Bổ sung: Có phải ý của bạn là chỉ cần điều kiện trên thỏa 1 lần là ghép?
-Lần sau nếu đặt câu hỏi, bạn nên tạo điều kiện cho người giúp bạn. Trong file bạn chỉ cần xóa các ô màu vàng đi, tô màu khoảng ô thỏa điều kiện là ý bạn sáng tỏ ngay.
 
Lần chỉnh sửa cuối:
Bạn nói thêm về cách ghép A8 và A5 đi. Sao mình chẳng thấy quy luật gì cả?
Vâng quy luật như sau ạ: Dòng A8 đóng vai trò là dòng thứ 1 được chọn làm gốc đối chiếu, ở dòng A8 này cứ ô bất kì nào có dữ liệu thì lùi lại từ phải sang trái bảng tính trong phạm vi 6 cột thì dòng A5 đóng vai trò là dòng thứ 2 phải có chứa dữ liệu là thoả mãn! Nếu lùi lại quá 6 cột mà dòng thứ 2 không có dữ liệu là không thoả mãn.
 
hcl_pt à viết hàm thì mình viết được rồi còn việc xuất sang sheet2 thì xuất như thế nào?
Copy 2 dòng ghép với nhau ư! VD: dòng A1 có thể ghép với nhiều dòng thì làm thế nào?
Copy dòng A1 và các dòng có thể ghép với nó ở phía dưới à? Hay copy dòng A1 với dòng A3 rồi lại copy dòng A1 với các dòng khác?
 
Bạn tải File này và kiểm tra xem nhé! Trong Sheet2 mình Copy cả dòng kiểm tra và dòng thỏa mãn nhiều lần
Sheet3 mình copy Dòng kiểm tra 1 lần rồi copy các dòng thỏa mãn phía sau
Nhớ Enable marco nhé chúc thành công!!!!!!!!!!!!!!!

Mình tải lại File rùi bạn kiểm tra lại nhé!
 

File đính kèm

  • Tim2dong_2.zip
    17.2 KB · Đọc: 18
Lần chỉnh sửa cuối:
Chương trình mình xuất ra kết quả có khác với bạn phan ngoc lan. Không hiểu có gì sai không? Bạn kiểm tra dùm nhé. Ngó vào 1,1,1.... hoa cả mắt
 

File đính kèm

  • Tim2dong.rar
    395.1 KB · Đọc: 15
Bạn tải File này và kiểm tra xem nhé! Trong Sheet2 mình Copy cả dòng kiểm tra và dòng thỏa mãn nhiều lần
Sheet3 mình copy Dòng kiểm tra 1 lần rồi copy các dòng thỏa mãn phía sau
Nhớ Enable marco nhé chúc thành công!!!!!!!!!!!!!!!
Vâng! Cảm ơn bạn Phan Ngoc Lan rất nhiều! Ý tưởng là đúng như vậy bạn àh! Mình đã test và thấy cách làm của bạn rất hay. Nhưng hình như bạn mới xét một chiều lần lượt từ trên xuống: ví dụ, Dòng A1 bạn chọn làm dòng gốc đối chiếu với tất cả các dòng còn lại xem có thoả mãn không, sau đó bạn chuyển xuống dòng A2 chọn làm dòng gốc đối chiếu với dòng còn lại bên dưới nhưng lại không đối chiếu ngược lên với dòng A1. (Nên trường hợp đối chiếu ngược lên hình như còn bỏ xót ạ), không biết ý mình có đúng như vậy không? Nhưng rất chân thành cảm ơn bạn đã giúp đỡ!
 
Chương trình mình xuất ra kết quả có khác với bạn phan ngoc lan. Không hiểu có gì sai không? Bạn kiểm tra dùm nhé. Ngó vào 1,1,1.... hoa cả mắt
Cảm ơn bạn Tintam7251! Đúng là kết quả của bạn có khác với kết quả của bạn Phan Ngoc Lan, mình đã kiểm tra qua thì bạn hơi hiểu lầm một chút về quy luật ạ, rất xin lỗi bạn vì mình đã không nói rõ: Vâng quy luật như sau ạ: Dòng thứ 1 được chọn làm gốc đối chiếu, ở dòng này cứ ô bất kì nào có dữ liệu thì lùi lại từ phải sang trái bảng tính trong phạm vi 6 cột thì dòng thứ 2 ghép với dòng thứ 1 phải có chứa dữ liệu là thoả mãn! Nếu lùi lại quá 6 cột mà dòng thứ 2 không có dữ liệu là không thoả mãn. Thành thật xin lỗi bạn Tintam7251. Rất cảm ơn bạn đã quan tâm!
 
Mình tải lại code cho bạn rùi đấy nhớ chép đè hết các code trong File text lên module nhé
khi số liệu ở sheet1 lên khoảng gần 2000 cột và khoảng 500 dòng hoặc hơn nữa thì vẫn được
Chúc thành công!!!!!!!!!!!!!!!!!!!!!%#^#$
 

File đính kèm

  • Code ghep dong.txt
    3.8 KB · Đọc: 11
Theo dõi nhiwe62u topic do bạn này lập ra, thì. . .

Cảm ơn bạn Tintam7251! Đúng là. . bạn hơi hiểu lầm một chút về quy luật ạ, rất xin lỗi bạn vì mình đã không nói rõ: Vâng quy luật như sau ạ: Dòng thứ 1 được chọn làm gốc đối chiếu, ở dòng này cứ ô bất kì nào có dữ liệu thì lùi lại từ phải sang trái bảng tính trong phạm vi 6 cột thì dòng thứ 2 ghép với dòng thứ 1 phải có chứa dữ liệu là thoả mãn! Nếu lùi lại quá 6 cột mà dòng thứ 2 không có dữ liệu là không thoả mãn. Thành thật xin lỗi bạn Tintam7251. Rất cảm ơn bạn đã quan tâm!

Thấy bạn hay nói lý thuyết suông, mà không dẫn chứng cụ thể; Có fải ai cũng suốt ngày như bạn với bài toán của bạn đâu kia chứ; Hãy đặt mình vô vai trò người đọc để viết, chứ không nên viết những gì mình hiểu.

Lí ra sau những lí thuyết suông trên bạn nên dẫn ra ví dụ như:

Ví dụ tôi lấy dòng A1 làm chuẩn 1 & A3 làm chuẩn 2,
Thì tại [Ai4] đang có số '1', từ ô này đếm 6 ô về fía trái (đến [As4]) ở hàng 6 (dòng chuẩn 2) thì ta có [as6] có dữ liệu là thỏa;
Tiếp theo, sang [AU4] có dữ liệu, ta lại tính đến cột 'AO' (mút trái của 6 cột từ 'AU' ta thấy [Ao6] có dữ liệu , là thỏa. . . .

Thà là bỏ ra ít thời gian vậy còn hơn mất bao thòi gian cho bạn fải mô tả lại, nhưng vẫn không xong! & hơn nữa là bạn làm mất thời gian của bao nhiêu người trên cộng đồng có nhã í giúp bạn.

(ó thể đây là lần cuối nói với bạn!
 
Web KT

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

Back
Top Bottom