Isi kandungan
Tutorial ringkas ini menerangkan penggunaan fungsi Excel NETWORKDAYS dan WORKDAY untuk mengira hari bekerja dengan parameter hujung minggu tersuai dan cuti.
Microsoft Excel menyediakan dua fungsi yang direka khas untuk mengira hari bekerja - WORKDAY dan NETWORKDAYS.
Fungsi WORKDAY mengembalikan tarikh N hari bekerja pada masa hadapan atau pada masa lalu dan anda boleh menggunakannya untuk menambah atau menolak hari bekerja pada tarikh tertentu.
Menggunakan fungsi NETWORKDAYS , anda boleh mengira bilangan hari bekerja antara dua tarikh yang anda tentukan.
Dalam Excel 2010 dan lebih tinggi, pengubahsuaian yang lebih berkuasa bagi fungsi yang dinyatakan di atas tersedia, WORKDAY.INTL dan NETWORKDAYS.INTL, yang membolehkan anda menentukan hari yang mana dan berapa hari ialah hari hujung minggu.
Dan sekarang, mari kita lihat dengan lebih dekat setiap fungsi dan lihat cara anda boleh menggunakannya untuk mengira hari bekerja dalam lembaran kerja Excel anda.
Fungsi Excel WORKDAY
Fungsi Excel WORKDAY mengembalikan tarikh yang merupakan bilangan hari bekerja tertentu lebih awal atau sebelum tarikh mula. Ia tidak termasuk hujung minggu serta mana-mana cuti yang anda tentukan.
Fungsi WORKDAY bertujuan untuk mengira hari kerja, peristiwa penting dan tarikh akhir berdasarkan kalendar kerja standard, dengan Sabtu dan Ahad sebagai hari hujung minggu.
WORKDAY ialah fungsi terbina dalam dalam Excel 2007 - 365. Dalam versi terdahulu, anda perlu mendayakan Analisissatu set kecil perkara penting dan dapatkan selebihnya. Saya berterima kasih kerana membaca dan berharap dapat melihat di blog kami minggu depan!
ToolPak.Apabila menggunakan WORKDAY dalam Excel, anda perlu memasukkan argumen berikut:
WORKDAY(start_date, days, [holidays])2 argumen pertama diperlukan dan yang terakhir adalah pilihan :
- Tarikh_Mula - tarikh mula mengira hari bekerja.
- Hari - bilangan hari bekerja untuk ditambah / ditolak dari tarikh_mula. Nombor positif mengembalikan tarikh masa hadapan, nombor negatif mengembalikan tarikh lalu.
- Cuti - senarai tarikh pilihan yang tidak boleh dikira sebagai hari bekerja. Ini boleh sama ada julat sel yang mengandungi tarikh yang anda ingin kecualikan daripada pengiraan atau pemalar tatasusunan nombor siri yang mewakili tarikh.
Sekarang anda mengetahui asasnya, mari lihat bagaimana anda boleh menggunakan fungsi WORKDAY dalam lembaran kerja Excel anda.
Cara menggunakan WORKDAY untuk menambah / menolak hari perniagaan sehingga kini
Untuk mengira hari bekerja dalam Excel, ikut peraturan mudah ini:
- Untuk menambah hari bekerja, masukkan nombor positif sebagai hujah hari formula WORKDAY.
- Untuk tolak hari kerja, gunakan nombor negatif dalam hujah hari .
Andaikan anda mempunyai tarikh mula dalam sel A2, senarai cuti dalam sel B2:B5 dan anda ingin mengetahui tarikh 30 hari bekerja pada masa hadapan dan masa lalu. Anda boleh melakukan ini menggunakan formula berikut:
Untuk menambah 30 hari bekerja pada tarikh mula, tidak termasuk cuti dalamB2:B5:
=WORKDAY(A2, 30, B2:B5)
Untuk menolak 30 hari bekerja dari tarikh mula, tidak termasuk cuti dalam B2:B5:
=WORKDAY(A2, -30, B2:B5)
Untuk mengira hari bekerja berdasarkan pada tarikh semasa , gunakan fungsi TODAY() sebagai tarikh mula:
Untuk menambah 30 hari bekerja pada tarikh hari ini:
=WORKDAY(TODAY(), 30)
Kepada tolak 30 hari bekerja daripada tarikh hari ini:
=WORKDAY(TODAY(), -30)
Untuk membekalkan tarikh mula terus kepada formula, gunakan fungsi DATE:
=WORKDAY(DATE(2015,5,6), 30)
The tangkapan skrin berikut menunjukkan keputusan semua ini dan beberapa lagi formula WORKDAY:
Dan secara semulajadi, anda boleh memasukkan bilangan hari bekerja untuk ditambah / ditolak dari tarikh mula dalam beberapa sel, dan kemudian rujuk sel itu dalam formula anda. Contohnya:
=WORKDAY(A2, C2)
Di mana A2 ialah tarikh mula dan C2 ialah bilangan hari bukan hujung minggu di belakang (nombor negatif) atau mendahului (nombor positif) tarikh mula, tiada cuti untuk mengecualikan.
Petua. Dalam Excel 365 dan 2021, anda boleh menggunakan WORKDAY dalam kombinasi dengan SEQUENCE untuk menjana satu siri hari bekerja.
Fungsi Excel WORKDAY.INTL
WORKDAY.INTL ialah pengubahsuaian WORKDAY yang lebih berkuasa fungsi yang berfungsi dengan parameter hujung minggu tersuai . Serta WORKDAY, ia mengembalikan tarikh yang merupakan bilangan hari kerja yang ditentukan pada masa hadapan atau pada masa lalu, tetapi membolehkan anda menentukan hari dalam seminggu yang harus dianggap sebagai hari hujung minggu.
Fungsi WORKDAY.INTL telah diperkenalkan dalamExcel 2010 dan seterusnya tidak tersedia dalam versi Excel terdahulu.
Sintaks fungsi Excel WORKDAY.INTL adalah seperti berikut:
WORKDAY.INTL(start_date, days, [weekend], [holidays])Dua argumen pertama diperlukan dan serupa dengan WORKDAY:
Tarikh_Mula - tarikh permulaan.
Hari - bilangan hari bekerja sebelum (nilai negatif) atau selepas (nilai positif) tarikh mula. Jika argumen days
dibekalkan sebagai nombor perpuluhan, ia dipotong kepada integer.
Dua argumen terakhir adalah pilihan:
Hujung Minggu - menentukan hari bekerja yang sepatutnya dikira sebagai hari hujung minggu. Ini boleh sama ada nombor atau rentetan, seperti yang ditunjukkan di bawah.
Nombor | Hari hujung minggu |
1 atau ditinggalkan | Sabtu, Ahad |
2 | Ahad, Isnin |
3 | Isnin, Selasa |
4 | Selasa, Rabu |
5 | Rabu, Khamis |
6 | Khamis, Jumaat |
7 | Jumaat, Sabtu |
11 | Ahad sahaja |
12 | Isnin sahaja |
13 | Selasa sahaja |
14 | Rabu sahaja |
15 | Khamis sahaja |
16 | Jumaat sahaja |
17 | Sabtu sahaja |
Rentetan hujung minggu - satu siri tujuh 0 dan 1 yang mewakili tujuh hari dalam seminggu,bermula dengan hari Isnin. 1 mewakili hari tidak bekerja dan 0 mewakili hari bekerja. Contohnya:
- "0000011" - Sabtu dan Ahad ialah hujung minggu.
- "1000001" - Isnin dan Ahad ialah hujung minggu.
Pada pandangan pertama , rentetan hujung minggu mungkin kelihatan tidak berguna, tetapi saya secara peribadi lebih suka kaedah ini kerana anda boleh membuat rentetan hujung minggu dengan cepat tanpa perlu mengingati sebarang nombor.
Cuti - senarai tarikh pilihan anda ingin kecualikan daripada kalendar hari bekerja. Ini boleh menjadi julat sel yang mengandungi tarikh atau pemalar tatasusunan nilai siri yang mewakili tarikh tersebut.
Menggunakan WORKDAY.INTL dalam Excel - contoh formula
Nah, pukal yang cukup besar teori yang baru kita bincangkan mungkin kelihatan agak rumit dan mengelirukan, tetapi mencuba formula anda akan menjadikan perkara menjadi sangat mudah.
Pada set data kami, dengan tarikh mula dalam sel A2 dan senarai cuti dalam A5 :A8, mari kita hitung hari bekerja dengan hujung minggu tersuai.
Untuk menambah 30 hari bekerja pada tarikh mula, Jumaat dan Sabtu dikira sebagai hujung minggu dan cuti dalam A5:A8 dikecualikan:
=WORKDAY.INTL(A2, 30, 7, A5:A8)
atau
=WORKDAY.INTL(A2, 30, "0000110", A5:A8)
Untuk menolak 30 hari bekerja dari tarikh mula, Ahad dan Isnin dikira sebagai hujung minggu dan cuti dalam A5:A8 dikecualikan :
=WORKDAY.INTL(A2, -30, 2, A5:A8)
atau
=WORKDAY.INTL(A2, -30, "1000001", A5:A8)
Untuk menambah 10 hari bekerja pada tarikh semasa , Ahad merupakan satu-satunya hari hujung minggu, tidakcuti:
=WORKDAY.INTL(TODAY(), 10, 11)
atau
=WORKDAY.INTL(A2, 10, "0000001")
Dalam helaian Excel anda, formula mungkin kelihatan serupa dengan ini:
Nota. Kedua-dua fungsi Excel WORKDAY dan WORKDAY.INTL mengembalikan nombor siri yang mewakili tarikh. Untuk memaparkan nombor tersebut sebagai tarikh, pilih sel dengan nombor dan tekan Ctrl+1 untuk membuka dialog Format Sel . Pada tab Nombor , pilih Tarikh dalam senarai Kategori dan pilih format tarikh yang anda mahu. Untuk langkah terperinci, sila lihat Cara menukar format tarikh dalam Excel.
Ralat Excel WORKDAY dan WORKDAY.INTL
Jika formula Excel WORKDAY atau WORKDAY.INTL anda mengembalikan ralat, sebabnya mungkin salah satu daripada yang berikut:
# NUM! ralat berlaku jika sama ada:
- gabungan argumen
start_date
dandays
menghasilkan tarikh tidak sah, atau - argumen
weekend
dalam fungsi WORKDAY.INTL tidak sah .
#VALUE! ralat berlaku jika sama ada:
-
start_date
atau sebarang nilai dalamholidays
bukan tarikh yang sah atau -
days
argumen bukan angka.
Excel NETWORKDAYS fungsi
Fungsi NETWORKDAYS dalam Excel mengembalikan bilangan hari bekerja antara dua tarikh, tidak termasuk hujung minggu dan, secara pilihan, cuti yang anda nyatakan.
Sintaks Excel NETWORKDAYS adalah intuitif dan mudah diingati:
NETWORKDAYS(tarikh_mula, tarikh_akhir, [cuti])Dua argumen pertama adalah wajib dan yang ketiga adalahpilihan:
- Tarikh_mula - tarikh permulaan untuk mula mengira hari bekerja.
- Tarikh_Tamat - tamat tempoh yang anda mengira hari bekerja.
Kedua-dua tarikh mula dan tarikh tamat dikira dalam bilangan hari kerja yang dikembalikan.
- Cuti - senarai pilihan cuti yang tidak sepatutnya dikira sebagai hari bekerja.
Cara menggunakan NETWORKDAYS dalam Excel - contoh formula
Katakanlah anda mempunyai senarai cuti dalam sel A2:A5, tarikh mula dalam lajur B, tarikh tamat dalam lajur C dan anda ingin tahu berapa hari bekerja antara tarikh ini. Formula NETWORKDAYS yang sesuai adalah mudah untuk ditentukan:
=NETWORKDAYS(B2, C2, $A$2:$A$5)
Perhatikan bahawa fungsi Excel NETWORKDAYS mengembalikan nilai positif apabila tarikh mula kurang daripada tarikh tamat dan nilai negatif jika tarikh tamat adalah lebih terkini daripada tarikh mula (seperti dalam baris 5):
Fungsi NETWORKDAYS.INTL Excel
Seperti NETWORKDAYS, fungsi NETWORKDAYS.INTL Excel mengira bilangan hari bekerja antara dua tarikh, tetapi membolehkan anda menentukan hari yang harus dikira sebagai hari hujung minggu.
Sintaks fungsi NETWORKDAYS.INTL sangat serupa dengan NETWORKDAYS', kecuali ia mempunyai tambahan [hujung minggu ] parameter yang menunjukkan hari dalam minggu yang harus dikira sebagai hujung minggu.
NETWORKDAYS.INTL( tarikh_mula, tarikh_akhir, [hujung minggu], [cuti] ) Hujah weekend
boleh diterimasama ada nombor atau rentetan. Nombor dan rentetan hujung minggu adalah sama seperti dalam parameter weekend
bagi fungsi WORKDAY.INTL.
Fungsi NETWORKDAYS.INTL tersedia dalam Excel 365 - 2010.
Menggunakan NETWORKDAYS.INTL dalam Excel - contoh formula
Menggunakan senarai tarikh daripada contoh sebelumnya, mari kita hitung bilangan hari bekerja antara dua tarikh dengan Ahad sebagai satu-satunya hari hujung minggu. Untuk ini, anda menaip nombor 11 dalam argumen weekend
formula NETWORKDAYS.INTL anda atau buat rentetan enam 0 dan satu 1 ("0000001"):
=NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)
Atau
=NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)
Tangkapan skrin berikut membuktikan bahawa kedua-dua formula mengembalikan hasil yang sama sekali.
Cara menyerlahkan hari bekerja dalam Excel
Menggunakan fungsi WORKDAY dan WORKDAY.INTL, anda bukan sahaja boleh mengira hari kerja dalam lembaran kerja Excel anda tetapi juga menyerlahkannya mengikut logik perniagaan anda. Untuk ini, anda membuat peraturan pemformatan bersyarat dengan sama ada formula WORKDAY atau WORKDAY.INTL.
Sebagai contoh, dalam senarai tarikh dalam lajur B, mari kita serlahkan hanya tarikh masa hadapan yang berada dalam tempoh 15 hari bekerja dari tarikh hari ini , tidak termasuk dua cuti dalam sel A2:A3. Formula paling jelas yang terlintas di fikiran adalah seperti berikut:
=AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3))
Bahagian pertama ujian logik memotong tarikh lalu, iaitu anda menyemak sama ada tarikh bersamaan atau lebih besar daripada hari ini : $B2>HARI INI(). Dan di bahagian kedua, anda mengesahkansama ada tarikh tidak lebih daripada 15 hari bekerja pada masa hadapan, tidak termasuk hari hujung minggu dan cuti tertentu: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)
Formula kelihatan betul, tetapi sebaik sahaja anda membuat peraturan berdasarkannya, anda akan menyedari bahawa ia menyerlahkan salah tarikh:
Mari cuba cari sebab perkara itu berlaku. Masalahnya bukan dengan fungsi WORKDAY, seperti yang mungkin disimpulkan oleh seseorang. Fungsinya betul, tetapi... apakah fungsinya sebenarnya? Ia mengembalikan tarikh 15 hari bekerja dari sekarang, tidak termasuk hari hujung minggu (Sabtu dan Ahad) dan cuti dalam sel A2:A3.
Baiklah, dan apakah yang dilakukan oleh peraturan berdasarkan formula ini? Ia menyerlahkan SEMUA tarikh yang sama atau lebih besar daripada hari ini dan kurang daripada tarikh yang dikembalikan oleh fungsi WORKDAY. Awak nampak? Semua tarikh! Jika anda tidak mahu mewarnai hujung minggu dan cuti, maka anda perlu memberitahu Excel secara eksplisit untuk tidak melakukannya. Jadi, kami menambah dua lagi syarat pada formula kami:
- Fungsi WEEKDAY untuk mengecualikan hujung minggu: WEEKDAY($B2, 2)<6
- Fungsi COUNTIF untuk mengecualikan cuti : COUNTIF($A$2:$A$3, $B2)=0
Seperti yang ditunjukkan dalam tangkapan skrin di bawah, formula yang dipertingkat berfungsi dengan sempurna:
=AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)
Seperti yang anda lihat, fungsi WORKDAY dan WORKDAY.INTL menjadikan pengiraan hari bekerja dalam Excel cepat dan mudah. Sudah tentu, formula kehidupan sebenar anda mungkin lebih canggih, tetapi mengetahui asasnya sangat membantu, kerana anda hanya boleh mengingati