Các bạn giúp mình trích xuất dữ liệu này với

Liên hệ QC

laohac4i

Thành viên mới
Tham gia
17/10/07
Bài viết
23
Được thích
5
Mình đang làm file tử vi = excel, có 1 file đính kèm, muốn trích xuất dữ liệu "Tên sao" ở sheet SaoTot, cột M, dựa vào tháng (dòng 3) & ngày (A4:L78).
lưu ý là có thể có các tên ngày giống nhau trong cùng 1 tháng, nghĩa là sẽ có nhiều hơn 1 sao/1 ngày, mình cần trích xuất hết tất cả, để biết ngày đó (thuộc tháng đó) có những sao nào xuất hiện.

vd: trong tháng 1, nếu ngày AL nào là ngày Nhâm Tý, thì sẽ cỏ 3 sao: Thiên Đức Hợp, Nguyệt Không & Sát Cống; còn nếu là ngày Nhâm Tuất thì sẽ có 3 sao: Thiên Đức Hợp, Nguyệt Không & Trực Tinh v.v, các bạn có thể dùng filter để kiểm tra.

Mình đã thử kết hợp các hàm dò tìm nhưng đều không được, nên rất mong các bạn có thể giúp mình (bằng hàm hoặc VBA đều được). Riêng việc tách Can & Chi của ngày ra làm 2 phần khác nhau thì mình đã làm được rồi.

Mong sớm nhận được trợ giúp.

Cảm ơn các bạn trước nha.
 

File đính kèm

vd: trong tháng 1, nếu ngày AL nào là ngày Nhâm Tý, thì sẽ cỏ 3 sao: Thiên Đức Hợp, Nguyệt Không & Sát Cống; còn nếu là ngày Nhâm Tuất thì sẽ có 3 sao: Thiên Đức Hợp, Nguyệt Không & Trực Tinh v.v, các bạn có thể dùng filter để kiểm tra.
Nếu dùng Filter kiểm tra chọn Nhâm Tý thì chỉ ra 1 sao duy nhất là Sát Cống, tại sao bạn ra được 3 sao. Trừ khi Filter chọn Custom chọn Contains gõ vào "Nhâm" thì mới ra toàn bộ ngày nào có chữ "Nhâm" trong đó bao gồm cả "Nhâm Tuất" trong đó lun. Mình ko hiểu lắm câu hỏi của bạn, giải thích rõ hơn được ko? Mình cần dữ kiện điều kiện cụ thể hơn mới giúp được bạn.
 
Nếu dùng Filter kiểm tra chọn Nhâm Tý thì chỉ ra 1 sao duy nhất là Sát Cống, tại sao bạn ra được 3 sao. Trừ khi Filter chọn Custom chọn Contains gõ vào "Nhâm" thì mới ra toàn bộ ngày nào có chữ "Nhâm" trong đó bao gồm cả "Nhâm Tuất" trong đó lun. Mình ko hiểu lắm câu hỏi của bạn, giải thích rõ hơn được ko? Mình cần dữ kiện điều kiện cụ thể hơn mới giúp được bạn.

Cảm ơn bạn đã quan tâm, không phải là filter dạng contains, mà là dạng equal, nhưng có tới 3 cái equal theo kiểu OR, để mình nói rõ hơn nha:
tên của bất kỳ ngày nào cũng đều có 2 phần: Can & Chi, & trong 1 vòng chu kỳ 60 năm sẽ có 6 ngày có Can giống nhau, nhưng Chi khác nhau chạy theo quy luật, vd Can= Nhâm sẽ có: Nhâm Thân, Nhâm Ngọ, Nhâm Thìn, Nhâm Dần, Nhâm Tý & Nhâm Tuất, v.v.
Trong tháng 1, sao Thiên Đức Hợp & Nguyệt Không sẽ chỉ xuất hiện ở những ngày Nhâm, nghĩa là ngày có Can = Nhâm, không phân biệt Chi nào.
Vì vậy, nếu là Nhâm Tuất hay Nhâm Tý, đều thỏa điều kiện này.

Trường hợp với Chi cũng tương tự

Cụ thể hơn vd hôm nay ngày 23/3 AL, là ngày Giáp Thìn, thì sẽ lấy hết các sao thỏa 1 trong 3 đk: Can = Giáp ; Chi = Thìn & Can Chi = Giáp Thìn, kết quả lọc thủ công cột tháng 3 mà mình cần sẽ phải hiện ra như sau:
- Can = Giáp: có 1 sao: Thiên Quý
- Chi = Thìn: có 2 sao: Mãn Đức Tinh & Thanh Long
- Can Chi = Giáp Thìn: không có sao nào.
Vậy tổng kết quả là ngày hôm nay sẽ có 3 sao tốt là Thiên Quý, Mãn Đức Tinh & Thanh Long, như vậy đó, sẽ không bị sót sao nào (mình đã kiểm tra lại kết quả từ trang này: http://www.thoigian.com.vn/?mPage=D120120413).

Mình nghĩ chắc phải dùng VBA, nếu không công thức ràng buộc để chạy hết bảng sẽ rất dài, mà mình thì lại mù về VBA, nên mới mong các bạn giúp đỡ.

Một lần nữa cảm ơn bạn đã hồi âm, nếu có gì chưa rõ bạn cứ hỏi nha.
 
Cảm ơn bạn đã quan tâm, không phải là filter dạng contains, mà là dạng equal, nhưng có tới 3 cái equal theo kiểu OR, để mình nói rõ hơn nha:
tên của bất kỳ ngày nào cũng đều có 2 phần: Can & Chi, & trong 1 vòng chu kỳ 60 năm sẽ có 6 ngày có Can giống nhau, nhưng Chi khác nhau chạy theo quy luật, vd Can= Nhâm sẽ có: Nhâm Thân, Nhâm Ngọ, Nhâm Thìn, Nhâm Dần, Nhâm Tý & Nhâm Tuất, v.v.
Trong tháng 1, sao Thiên Đức Hợp & Nguyệt Không sẽ chỉ xuất hiện ở những ngày Nhâm, nghĩa là ngày có Can = Nhâm, không phân biệt Chi nào.
Vì vậy, nếu là Nhâm Tuất hay Nhâm Tý, đều thỏa điều kiện này.

Trường hợp với Chi cũng tương tự

Cụ thể hơn vd hôm nay ngày 23/3 AL, là ngày Giáp Thìn, thì sẽ lấy hết các sao thỏa 1 trong 3 đk: Can = Giáp ; Chi = Thìn & Can Chi = Giáp Thìn, kết quả lọc thủ công cột tháng 3 mà mình cần sẽ phải hiện ra như sau:
- Can = Giáp: có 1 sao: Thiên Quý
- Chi = Thìn: có 2 sao: Mãn Đức Tinh & Thanh Long
- Can Chi = Giáp Thìn: không có sao nào.
Vậy tổng kết quả là ngày hôm nay sẽ có 3 sao tốt là Thiên Quý, Mãn Đức Tinh & Thanh Long, như vậy đó, sẽ không bị sót sao nào (mình đã kiểm tra lại kết quả từ trang này: http://www.thoigian.com.vn/?mPage=D120120413).

Mình nghĩ chắc phải dùng VBA, nếu không công thức ràng buộc để chạy hết bảng sẽ rất dài, mà mình thì lại mù về VBA, nên mới mong các bạn giúp đỡ.

Một lần nữa cảm ơn bạn đã hồi âm, nếu có gì chưa rõ bạn cứ hỏi nha.
Nếu mình hiểu thì trong ngày phải có Can & Chi chứ, sao trong câu hỏi của bạn chỉ để tháng 1, ngày Giáp _ hình như Giáp là Can vậy Chi là gì ???
Phải biết đủ Can, Chi mới tìm được kết quả chứ nhỉ
Thí dụ hôm nay: 23/ 3 là ngày Giáp Thìn vậy: làm sao biết hôm nay là ngày Giáp Thìn ??? Hay có cách tìm Chi cho Can (Giáp) đó ???
Tóm lại, trong câu hỏi phần ngày bạn ghi Giáp vậy phải hiểu nó là Giáp gì ???
Híc
 
Nếu mình hiểu thì trong ngày phải có Can & Chi chứ, sao trong câu hỏi của bạn chỉ để tháng 1, ngày Giáp _ hình như Giáp là Can vậy Chi là gì ???
Phải biết đủ Can, Chi mới tìm được kết quả chứ nhỉ
Thí dụ hôm nay: 23/ 3 là ngày Giáp Thìn vậy: làm sao biết hôm nay là ngày Giáp Thìn ??? Hay có cách tìm Chi cho Can (Giáp) đó ???
Tóm lại, trong câu hỏi phần ngày bạn ghi Giáp vậy phải hiểu nó là Giáp gì ???
Híc

Đúng là ngày nào cũng đều phải có Can & Chi, nếu trong cột tháng nào chỉ ghi Can (hoặc chỉ ghi Chi) thì hiểu là phần Chi (hoặc Can) còn lại là gì cũng được.
vd như cách bạn hỏi thì trong tháng 1, nếu chỉ ghi ngày Giáp, thì hiểu là 1 trong 6 Giáp (Giáp Tý, Giáp Tuất, Giáp Thân, Giáp Ngọ, Giáp Thìn, Giáp Dần), Giáp nào cũng được, vì vậy không cần phải ghi ra hết các Giáp, hơn nữa cũng khiến việc diễn đạt sẽ dễ dàng & hợp lý, ngắn gọn & dễ hiểu hơn (như: sao Thiên Quý sẽ xuất hiện vào ngày Giáp của tháng 1,2,3; ngày Bính của tháng 4,,5,6,v.v ai cũng đều hiểu, không cần phải nói ra hết 6 ngày Giáp).
Tương tự với Chi cũng vậy, vd khi nói: sao Ích Hậu xuất hiện vào ngày Tý của tháng 1, ngày Ngọ của tháng 2,v.v, thì hiểu là trong tháng 1, ngày Tý nào trong 5 ngày Tý (Giáp Tý, Bính Tý, Mậu Tý, Canh Tý & Nhâm Tý) cũng đều có sao Ích Hậu chiếu.
Bạn có thể vào trang này sẽ hiểu rõ hơn ý mình đang diễn đạt = excel: http://www.xemngay.com/webLog.aspx?blog=wld&postid=4
Mình phải đi từ ngày theo Can Chi (dĩ nhiên là đã chứa phần tháng trong đó), để truy ra sao nào xuất hiện vào ngày đó.

Còn ý thứ 2 bạn hỏi cách để biết được tên Can Chi của ngày mình cũng nói luôn, mình dùng công thức VBA có sẵn của anh Hồ Ngọc Đức, khá phức tạp để giải thích ở đây, hơn nữa mình cũng không rành về VBA lắm.
Sau khi biết được tên Can Chi của ngày, mình dùng hàm xử lý chuỗi để tách đôi Can & Chi riêng ra (việc này khá dễ, giống như tách Họ Tên mà diễn đàn cũng đã đề cập nhiều).

Phần tìm sao tốt trong ngày này chỉ là 1 phần nhỏ trong dự án tử vi = excel của mình (dùng được trong khoảng gần 300 năm: 1900-2199), có thể dùng để chuyển đổi ngày DL sang AL & ngược lại, xem ngày đó tốt xấu thế nào, rồi coi mạng, cung, sao, hạn của 1 người, v.v, nhiều lắm, nói chung là kết hợp tất cả lại với nhau trong 1 file.
Mấy phần kia mình đã & đang làm chạy khá trơn tru, đụng tới phần sao này thì bị khựng lại, nên mong các bạn rành về VAB giúp đỡ viết code, nếu được.
 
Lần chỉnh sửa cuối:
Híc, càng ngày càng.....@%@!
Túm lại, bi giờ bạn ghi ra 3 cái kết quả trong bài của bạn xem sao, Tháng 1, ngày Giáp ==> kết quả ??? Tháng 3, ngày Ngọ ==> ??? Tháng 9 ngày Mậu Dần ==> ???
Muốn viết code thì phải hiểu đúng đề bài thì mới hy vọng viết đúng được
Híc :;;;:::
 
Ko biết đúng ý bạn không, vì bạn bảo là lọc ra được Can và Chi nên mình thêm 2 hàng Can và Chi, bạn tự xác định ngày âm lịch rồi nhập Can và Chi vào 2 ô đó nhé. Mình ko rành Can và Chi
 

File đính kèm

Híc, càng ngày càng.....@%@!
Túm lại, bi giờ bạn ghi ra 3 cái kết quả trong bài của bạn xem sao, Tháng 1, ngày Giáp ==> kết quả ??? Tháng 3, ngày Ngọ ==> ??? Tháng 9 ngày Mậu Dần ==> ???
Muốn viết code thì phải hiểu đúng đề bài thì mới hy vọng viết đúng được
Híc :;;;:::

Mình gởi lại file để bạn xem, làm 1 cái thôi nha.
Mong sớm có tin tốt.
Cảm ơn bạn trước nha.
Chúc cuối tuần vui vẻ !
 

File đính kèm

Ko biết đúng ý bạn không, vì bạn bảo là lọc ra được Can và Chi nên mình thêm 2 hàng Can và Chi, bạn tự xác định ngày âm lịch rồi nhập Can và Chi vào 2 ô đó nhé. Mình ko rành Can và Chi

Đã chạy thử file bạn gởi, kết quả xuất ra đúng rồi, rất hay, nhưng mình muốn macro đó chạy tự động (thay vì phải bấm vào button), hoặc bạn có thể giúp mình chuyển nó thành 1 function luôn được không? để ngay khi có dữ liệu ngày can chi xuất hiện, nó cũng sẽ lập tức hiện ra kết quả, giống như sử dụng các hàm dò tìm vậy, vì mình đã làm được dữ liệu ngày tháng âm lịch can chi chạy tự động (đã tách luôn can, chi riêng biệt), ngay sau khi mình nhập ngày dương lịch.

Mình chỉ cần lấy tên sao ra thôi, phần tính chất sao mình dùng hàm dò khá dễ dàng.

Cảm ơn sự quan tâm & trợ giúp của bạn rất nhiều.

Chúc vui & thành công.
 
Lần chỉnh sửa cuối:
...mình muốn macro đó chạy tự động (thay vì phải bấm vào button)...

Mình chỉ cần lấy tên sao ra thôi, phần tính chất sao mình dùng hàm dò khá dễ dàng.
...
Mình đã chỉnh lại theo ý bạn. Còn phần tạo hàm thì mình ko rành lắm //////. Mình nghĩ nếu bạn lọc đc ra Can và Chi thì hãy đặt công thức vào 2 ô mình bôi xanh đó là được thôi. Chủ yếu là khi nhập 1 ngày nào đó vào thì các công thức bạn đưa vào và macro mình viết sẽ chạy ra kết quả bạn muốn thôi.
 

File đính kèm

gần hoàn hảo rồi đó bạn, bạn chỉnh thêm giúp mình vài chỗ này nha:

- khi ô tháng hoặc ngày Can / Chi có giá trị "ngày DL sai" hoặc giá trị rỗng, thì ô kết quả sẽ để trắng, vì có trường hợp khi nhập sai ngày DL (vd 30/2, v.v), thì chỗ ngày AL kia sẽ báo lỗi "ngày DL sai", hiện tại macro báo lỗi run-time error '9' khi cột tháng trống.

Hy vọng bạn hiểu được phần diễn đạt của mình.

Mong sớm được sự trợ giúp từ bạn.

Cảm ơn bạn rất nhiều.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom