Tuesday, June 1, 2010

Pengiraan Hari

Salam,

1. Posting kali ini adalah berkenaan pengiraan hari. Mungkin ada dikalangan kita yang mungkin perlu membuat pengiraan berkenaan hari. Baru-baru ni saya ditanya soalan yang sebegini walaupun ianya bukanlah kali pertama soalan ini diajukan, cuma variasi keperluannya sahaja yang sedikit berbeza.

2. Contoh yang akan saya bawakan ini berkaitan kaedah melabel baris rekod bertarikh. Andaiannya ialah, maklumat tarikh mewakili suatu tarikh penyerahan dan label yang ingin diletakkan ialah bilangan hari diantara tarikh penyerahan tersebut sehingga tarikh semasa yang telah melebihi 7 hari. Jelas? Jika jelas, mari kita lihat penyelesaiannya.


3. Seperti yang dipaparkan diatas tu, nilai-nilai tarikh awal/tarikh penyerahan mengikut andaian di para diatas. Ok, tarikh dah ada. Apa seterusnya?

4. Seterusnya, perlulah kita dapatkan nilai tarikh semasa. Bagaimana ianya boleh dilakukan? 2 cara. Pertama dengan menggunakan kekunci CTRL ; (<--Itu simbol semi-colon. Mana duduknya? sebelah kanan huruf L). PERINGATAN, tekan CTRL dan ; secara kombinasi ye...bukan tekan CTRL lepas, dan baru nak tekan ;. Itu boleh mendatangkan marah!

5. Cara kedua? Gunakan fungsi TODAY(). Fungsi today juga akan menghasilkan tarikh semasa. Tapi apa beza antara kedua-dua kaedah? Kaedah #1, nilai tarikh semasanya tidak akan dikemaskini pada hari-hari berikutnya. Statiklah maknanya. Kaedah #2, nilai tarikh semasa yang akan berubah mengikut tarikh komputer kita. Maknanya, kalau hari ni kita guna TODAY() tarikhnya ialah 1 Jun 2010, esok bila kita buka fail yang sama yang menggunakan fungsi ini tarikhnya jadi 2 Jun 2010. Faham?

6. Baiklah, tarikh semasa dah ada. Apa lagi? Tolakkan nilai TODAY() dengan nilai tarikh penyerahan. Begini, =TODAY()-A1. Boleh? Tapi kena juga tambahkan dengan 1. Sebab? Sebab nanti kita tak kira pula tarikh hari ni sekali. Jadilah formula tu macam ni, =TODAY()-A2+1. Ok?

7. Kalau diikutkan, dah selesailah soalan ni. Tapi apa kata kita cantikkan sikit keputusan kita ni.

8. Saya gunakan IF untuk mengasingkan jawapan. Tarikh yang lewat akan jadi begini "10 Hari Lewat". Tarikh yang tidak lewat pula tidak ada apa-apa status.

9. Oleh itu, formulanya jadi begini: =IF(TODAY()-A2+1>7,TODAY()-A2+1 & " Hari Lewat","").


Formula ini, TODAY()-A2+1>7 maksudnya, beza tarikh penyerahan dengan tarikh semasa lebih besar dari 7 (BACA: 7 Hari)

Formula ini pula, TODAY()-A2+1 & " Hari Lewat" akan menghasilkan -->(Bil Hari:Suatu Nombor) Hari Lewat. Simbol '&' digunakan untuk menyambungkan 2 nilai. Dalam kes ni, nilai #1 adalah bil hari dan nilai #2 adalah perkataan Hari Lewat.

10. Harap-harap paham lah ye...kalau tak, buat-buat faham sudahlah..

Semoga memberikan manfaat.


No comments:

Post a Comment