Tìm ngày cuối Quý trước. (2 người xem)

  • Thread starter Thread starter thkd09
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài
Tổng kết lại, đây là một đề tài khá thú vị.
Thú vị đây là giải thuật, công thức không thành vấn đề. Moojt khi giải thuật vững thì code/công thức có thẻ dựa đó mà ra, vuôt đi vuôt lại thì càng lúc càng ngắn gọn và/hoặc tăng hiệu quả.

Giải thuật cho đên giờ này chia ra hai kiểu chính:
1. Kiểu thứ nhất là tìm ngày đầu quý hiện tại. Xong trừ đi 1.
2. Kiểu thứ hai là tìm tháng cuối quý trước và đi đến cuối tháng.
Cả hai kiểu đều dựa vào con toán tính hiện tại là tháng thứ mấy trong quý.
 
Em cảm ơn cả nhà nhé!!!!
 
Tổng kết lại, đây là một đề tài khá thú vị.
Thú vị đây là giải thuật, công thức không thành vấn đề. Moojt khi giải thuật vững thì code/công thức có thẻ dựa đó mà ra, vuôt đi vuôt lại thì càng lúc càng ngắn gọn và/hoặc tăng hiệu quả.

Giải thuật cho đên giờ này chia ra hai kiểu chính:
1. Kiểu thứ nhất là tìm ngày đầu quý hiện tại. Xong trừ đi 1.
2. Kiểu thứ hai là tìm tháng cuối quý trước và đi đến cuối tháng.
Cả hai kiểu đều dựa vào con toán tính hiện tại là tháng thứ mấy trong quý.
Còn 1 kiểu nữa bác. Vì ngày cuối của quý là cố định, nên có thể dùng các hàm tìm kiếm để dò tìm.
Cơ bản nó cũng tìm ngày đầu quý trừ 1, nhưng không cần tính toán gì đối với tháng của ngày cần dò tìm.
Đây là 1 ví dụ:
Mã:
=LOOKUP(O38,DATE(YEAR(O38),{1,4,7,10},1),DATE(YEAR(O38),{1,4,7,10},0))
Cái hàm Lookup tương đối khó hiểu. Em mới nghiên cứu lại, có thể rút gọn như sau
LOOKUP(O38,DATE(YEAR(O38),{1,4,7,10},1))-1
 
Lần chỉnh sửa cuối:
Dạ, nếu dữ liệu nhiều, lập bảng phụ 4 cái ngày, rồi dùng công thức trên thì có ổn không ạ?
Công thức trông gọn nhưng thực tế nó phải tính 4 lần hàm Date (và hàm Year bên trong hàm Date).
Tức là nó vẫn tính 4 lần, hay là chỉ tính 1 lần thôi.
Cái hàm này chắc cách tính toán của nó như hàm Match tham số 1 phải không ạ?
 
Lần chỉnh sửa cuối:
Lookup là hàm mảng. Luôn luôn nó tính đủ mọi phần tử để lâp thành mảng.
Điển hình, làm cách nào để có một mảng 4 ngày đầu quý mà không phải tính từng phần tử?
Chỉ khi dò tìm thì nó dò theo thuật toán nhị phân cho nên có thể bỏ qua phần tử.
 
Web KT

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

Back
Top Bottom