SỐ 162

ĐỌC XONG VỌC LIỀN

Chíp cùng dân kẹp giấy: Dùng bảng tính để "bấm độ" ngày tháng.

Nếu đã dùng bảng tính để nhắc nhớ ngày tháng (xin xem e-CHÍP số 158), có thể bạn sẽ gặp trường hợp “hơi bị phiền”: ngày cần nhớ nào đó thay đổi từ năm này qua năm khác, ví dụ như ngày họp mặt bạn bè cũ là ngày thứ Bảy lần 2 của tháng 1 (theo “nghị quyết” của... cả bọn). Thế là mỗi năm, bạn sẽ phải xem lịch để “canh me” ngày hẹn cụ thể và điều chỉnh trong bảng tính. Thực ra, với công thức thích hợp, bảng tính có thể tự xác định ngày hẹn “di động” như vậy trong năm.
Giả sử bạn ghi ngày hẹn cụ thể ở ô B6 (trong năm 2004, ngày thứ Bảy lần 2 của tháng 1 là ngày 10/1/2004). Bạn nên ghi rõ luôn quy tắc “bí mật” ấy ở các ô bên cạnh cho khỏi quên: ghi 7 ở ô D6, ghi 2 ở ô E6 và ghi 1 ở ô F6.
Cho rằng ta biết trước ngày đầu tháng 1 năm 2004 (1/1/2004) là ngày thứ Năm, bạn sẽ biết ngày thứ Bảy lần 2 của tháng 1 năm 2004 là ngày nào bằng cách tính như sau:
=1 + (7 - 5) + 7
Nếu dựa vào bảng tính hiện có, ta có thể viết thế này:
=1 + (D6 - WEEKDAY(DATE ($C$1,F6,1)) + (E6 - 1) * 7
“Nếu ngày hẹn trước ngày thứ Năm, chẳng hạn thứ Hai, thì tính vậy sao được?”. Vâng, cứ hình dung ngày hẹn được đổi thành thứ Hai lần 2 của tháng 1, ta tính ra ngày ấy là “mấy tây” như sau:
=1 + (2 - 5) + 2 * 7
Từ đó, bạn viết tổng quát hơn:
=1 + (D6 - WEEKDAY(DATE ($C$1,F6,1)) + (E6 - 0) * 7
Ta có thể gộp hai công thức của hai trường hợp nêu trên thành một:
=1 + (D6 - WEEKDAY(DATE($C$1,F6,1)) + (E6 - (D6>=WEEKDAY(DATE ($C$1,F6,1)))) * 7
chú ý rằng biểu thức điều kiện (D6>=WEEKDAY(DATE ($C$1,F6,1))) có trị số là 1 hoặc 0 tùy theo ngày hẹn là thứ Bảy (sau thứ Năm) hoặc là thứ Hai (trước thứ Năm). Cách tính như vậy cũng có hiệu lực với ngày hẹn và ngày đầu tháng là ngày bất kỳ trong tuần.
Công thức ly kỳ vừa thu được chỉ mới cho biết ngày hẹn là ngày nào trong tháng. Để có ngày/tháng/năm rõ ràng ở ô B6, ta “nhét” công thức ấy vào hàm DATE với tư cách là đối mục chỉ ngày:
= D A T E ( $ C $ 1 , F 6 , 1 + ( D 6 - W E E K D A Y (DATE($C$1,F6,1))))+((E6-(D6>=WEEKDAY (DATE($C$1,F6,1))))*7)
Với công thức vừa nêu, ngày hẹn trong ô B6 sẽ tự động trở thành 8/1/2005 trong năm mới 2005.
“Úi! Kinh khủng quá! Thà xem lịch còn hơn!”. Khoan, khoan, bạn hãy nán lại chút nữa. Ta có thể đưa lịch vào bảng tính để xem cho tiện. Thế này nha, trong hộp công cụ Control Toolbox, bạn bấm vào More Controls , chọn Calendar Control trên ô liệt kê vừa hiện ra rồi kéo rê chuột trên bảng tính để “căng” một hình khung. Excel lập tức “kính biếu” một quyển lịch trong hình khung ấy. Muốn dùng lịch, bạn phải thoát khỏi chế độ thiết kế bằng cách bấm vào Design Mode .
Vậy đó, bạn tùy ý quyết định xem nên “tự động hóa” hay... “tự động đậy”.

HOÀNG NGỌC GIAO

[Đầu trang]
Trang chủ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Cõi người ta
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền Công ty Phần mềm & Truyền thông VASC
 99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn
Mọi chi tiết về kinh doanh và quảng cáo xin liên hệ Phòng Quảng cáo. Tel: (04) 9782077 kd@vasc.com.vn