Günlərlə tarixlər arasındakı fərq. Funksiya razndat() - iki tarix arasındakı fərqin günlər, aylar, illərlə ms excel-də hesablanması. =razdat(başlama tarixi, bitmə tarixi, ölçü vahidi)

MS Excel çox az adamın bildiyi olduqca maraqlı bir xüsusiyyətə malikdir. O qədər azdır ki, Excel daxil olarkən bu funksiya üçün kontekstli göstəriş belə vermir, baxmayaraq ki, qəribə də olsa, proqramın köməyindədir və olduqca yaxşı təsvir edilmişdir. Bu adlanır RAZNDAT() və ya DATEDIF() və verilən iki tarix arasındakı günlər, aylar və ya illərlə fərqi avtomatik hesablamağa xidmət edir.

Çox səslənmir? Əslində, bəzən bir hadisədən nə qədər vaxt keçdiyini tez və dəqiq hesablamaq bacarığı çox faydalı ola bilər. Doğum gününüzdən neçə ay keçdi, bu işdə nə qədər oturmusunuz və ya neçə gün pəhriz saxlamısınız - amma bu faydalı funksiyanın neçə istifadə etdiyini kim bilir? Və ən əsası, hesablama avtomatlaşdırıla bilər və hər dəfə MS Excel iş kitabını açdığınız zaman xüsusi olaraq bu gün üçün dəqiq məlumat ala bilərsiniz! Maraqlı səslənir, elə deyilmi?

RAZNDAT() funksiyası üç arqument alır:

  • Başlama tarixi- hesabın saxlandığı tarix
  • Son tarix- hesablama aparıldığı
  • Vahid- günlər, aylar, illər.

Belə yazılıb:

=TARİX(başlama tarixi, bitmə tarixi, ölçü vahidi)

Ölçü vahidləri aşağıdakı kimi yazılır:

  • "y"— tam illərdə tarix fərqi
  • "m"— tam aylarla tarix fərqi
  • "d"— tam günlərdə tarix fərqi
  • "yd"— illər istisna olmaqla, ilin əvvəlindən günlərlə tarix fərqi
  • "md"— aylar və illər istisna olmaqla günlərlə tarix fərqi
  • "ym"— illər istisna olmaqla tam aylarda tarix fərqi

Başqa sözlə, indiki yaşımı illərlə hesablamaq üçün funksiyanı belə yazıram:

=RASDAT(14/07/1984; 22/03/2016;"y")

Nəzərə alın ki, sonuncu arqument həmişə dırnaq içərisindədir.

Dəqiq yaşı almaq istəsəm, onda mürəkkəb bir düstur yazacağam:

=RAZNDAT(F2;G2;"y")&"il "&RAZNDAT(F2;G2;"ym")&"ay"

RAZNDAT() funksiyası eyni anda iki dəfə çağırılır müxtəlif mənalar, və “il” və “aylar” sözləri sadəcə nəticəyə birləşdirilir. Yəni, funksiyanın real gücü yalnız digər MS Excel xüsusiyyətləri ilə birləşdirildikdə görünür.

Başqa bir maraqlı seçim, bugünkü tarixə nisbətən gündəlik hərəkət edən funksiyaya sayğac əlavə etməkdir. Məsələn, tətilimə qədər olan günlərin sayını standart formada hesablayan bir düstur yazmaq qərarına gəlsəm, bu belə görünəcək:

Bir həftə sonra bu vərəqi açsam, məzuniyyətə qədər günlərin sayının azaldığını görsəm hər şey düzgün olardı. Ancaq eyni rəqəmi görəcəyəm - çünki orijinal tarixlər dəyişməyib. Müvafiq olaraq, mən cari tarixi dəyişməli olacaqdım və sonra RAZNDAT() funksiyası hər şeyi düzgün edəcək.

Bu zəhlətökən xırda şeyin qarşısını almaq üçün birinci arqument (bugünkü tarix) olaraq xanada saxlanan dəyərə istinadı deyil, başqa bir funksiyanı əvəz edəcəyəm. Bu funksiya TODAY() adlanır və onun əsas və yeganə vəzifəsi bugünkü tarixi qaytarmaqdır.

Bir dəfə və problem həll olundu - bundan sonra mən bu MS Excel vərəqini hər açanda RAZNDAT() funksiyası mənə həmişə bu günün tarixi nəzərə alınmaqla hesablanmış dəqiq dəyəri göstərəcək.

Excel-də müəyyən tapşırıqları yerinə yetirmək üçün müəyyən tarixlər arasında neçə gün keçdiyini müəyyən etməlisiniz. Xoşbəxtlikdən, proqramda bu problemi həll edə biləcək vasitələr var. Excel-də tarix fərqini necə hesablaya biləcəyinizi öyrənək.

Tarixlərlə işləməyə başlamazdan əvvəl xanaları bu formata uyğun formatlaşdırmalısınız. Əksər hallarda, tarixə bənzər simvollar dəstini daxil etdiyiniz zaman xana özü yenidən formatlanır. Ancaq özünüzü sürprizlərdən qorumaq üçün bunu əl ilə etmək daha yaxşıdır.


İndi proqram seçilmiş xanalarda olan bütün məlumatları tarix kimi tanıyacaq.

Metod 1: sadə hesablama

Tarixlər arasındakı gün fərqini hesablamağın ən asan yolu adi düsturdan istifadə etməkdir.


Metod 2: RAZNDAT funksiyası

Tarixlərdəki fərqi hesablamaq üçün xüsusi funksiyadan da istifadə edə bilərsiniz RAZNDAT. Problem ondadır ki, o, Funksiya Sihirbazı siyahısında deyil, ona görə də formulanı əl ilə daxil etməli olacaqsınız. Onun sintaksisi belə görünür:

RAZNDAT(başlama_tarixi, bitmə_tarixi, vahid)

"vahid"— bu, nəticənin seçilmiş xanada göstəriləcəyi formatdır. Cəminin qaytarılacağı vahidlər bu parametrə hansı simvolun daxil edilməsindən asılıdır:

  • "y" - tam illər;
  • "m" - tam aylar;
  • "d" - günlər;
  • "YM" - ay fərqi;
  • “MD” gün fərqidir (aylar və illər nəzərə alınmır);
  • “YD” gün fərqidir (illər nəzərə alınmır).

Onu da qeyd etmək lazımdır ki, yuxarıda təsvir edilən sadə düstur metodundan fərqli olaraq, bu funksiyadan istifadə edərkən başlanğıc tarixi birinci yerdə, bitmə tarixi isə ikinci yerdə olmalıdır. Əks halda hesablamalar səhv olacaq.


Metod 3: iş günlərinin sayının hesablanması

Excel-də iş günlərini iki tarix arasında, yəni həftə sonları və bayram günləri istisna olmaqla hesablamaq da mümkündür. Bunu etmək üçün funksiyadan istifadə edin CHISTRABNI. Əvvəlki operatordan fərqli olaraq, o, Funksiya Sihirbazı siyahısında mövcuddur. Bu funksiyanın sintaksisi aşağıdakı kimidir:

ŞƏBƏKƏ GÜNLƏRİ(başlanğıc_tarixi, bitmə_tarixi, [bayramlar])

Bu funksiyada əsas arqumentlər operatorun arqumentləri ilə eynidir RAZNDAT- başlanğıc və bitmə tarixi. Əlavə bir arqument də var "Bayramlar".

Bunun əvəzinə, əgər varsa, qeyri-iş günlərini əhatə edən dövrlə əvəz etməlisiniz. Funksiya şənbə, bazar günləri, həmçinin istifadəçinin arqumentə əlavə etdiyi günlər istisna olmaqla, göstərilən diapazonun bütün günlərini hesablayır. "Bayramlar".


Yuxarıda göstərilən manipulyasiyalardan sonra, əvvəlcədən seçilmiş xanada göstərilən müddət üçün iş günlərinin sayı göstərilir.

Gördüyünüz kimi, Excel istifadəçilərinə iki tarix arasındakı günlərin sayını hesablamaq üçün kifayət qədər rahat alətlər təqdim edir. Eyni zamanda, sadəcə günlərlə fərqi hesablamaq lazımdırsa, ən yaxşı seçim funksiyadan istifadə etmək əvəzinə sadə bir çıxma düsturundan istifadə etmək olardı. RAZNDAT. Ancaq məsələn, iş günlərinin sayını hesablamağa ehtiyacınız varsa, o zaman funksiya xilasetmə işinə gələcəkdir. ŞƏBƏKƏ GÜNLƏRİ. Yəni, həmişə olduğu kimi, istifadəçi konkret tapşırıq qoyduqdan sonra icra alətinə qərar verməlidir.

İki tarix arasındakı fərqi hesablamaq lazım olduqda DATEDIF funksiyasından istifadə edin. Əvvəlcə xanada başlanğıc tarixini, digərində isə bitmə tarixini daxil edin. Sonra aşağıdakılardan biri kimi bir düstur daxil edin.

Gün fərqi

Bu nümunədə Başlama tarixi D9 xanasında, Bitmə tarixi isə E9 xanasındadır. Düstur F9-da göstəriləcək. "D" nömrə qaytarır tam günlər iki tarix arasında.

Həftə fərqi


Bu nümunədə Başlama tarixi D13 xanasında, Bitmə tarixi isə E13 xanasındadır. "D" günlərin sayını qaytarır. Ancaq sonunda nə olduğuna diqqət yetirin /7 . Həftədə 7 gün olduğundan bu günlərin sayını 7-yə bölür. Qeyd edək ki, bu nəticə də nömrə kimi formatlaşdırılmalıdır. CTRL + 1 düyməsini basın. Sonra klikləyin nömrə _gt_ onluq yerlər: 2.

Aylarla fərq


Bu nümunədə Başlama tarixi D5 xanasında, Bitmə tarixi isə aşağı xanadadır. Formulada "m" nömrə qaytarır tam aylar iki gün arasında.

İl fərqi


Bu nümunədə Başlama tarixi D2 xanasında, Bitmə tarixi isə E2 xanasındadır. "Y"

Yaşın yığılmış illər, aylar və günlərlə hesablanması

1. İllərin ümumi sayını tapmaq üçün RAZNDAT-dan istifadə edin.


Bu nümunədə Başlama tarixi D17 xanasında, Bitmə tarixi isə E17 xanasındadır. Formulada "y" iki gün arasındakı tam illərin sayını qaytarır.

2. Aylarla axtarmaq üçün “GM” qeyd etməklə yenidən RAZNDAT-dan istifadə edin.


Başqa bir xanada parametrlə RAZNDAT düsturundan istifadə edin "GM". "GM" son tam ildən sonra qalan ayların sayını qaytarır.

3. Günləri tapmaq üçün fərqli düsturdan istifadə edin.


İndi qalan günlərin sayını tapmaq lazımdır. Bu, yuxarıda göstərilən fərqli bir formul yazmaqla edilə bilər. Bu düstur E17 xanasındakı (05/06/2016) orijinal bitmə tarixindən ayın sonunun ilk gününü (05/01/2016) çıxarır. Bunun necə edildiyi belədir: Birincisi, TARİX funksiyası 05/01/2016 tarixi yaradır. O, E17 xanasındakı il və E17 xanasındakı aydan istifadə etməklə yaradılır. 1 ayın birinci gününü bildirir. TARİX funksiyasının nəticəsi 05/01/2016 olacaq. Sonra bu tarixi E17 xanasındakı (05/06/2016) orijinal bitmə tarixindən çıxarırıq, nəticədə 5 gündür.

4. isteğe bağlı: Üç düsturu birinə birləşdirin.


Bu nümunədə göstərildiyi kimi hər üç hesablamanı bir xanaya yerləşdirə bilərsiniz. Ampersandlardan, dırnaq işarələrindən və mətndən istifadə. Bu, daxil olmaq üçün daha uzun düsturdur, lakin heç olmasa hamısı onlardan birindədir. Məsləhət. Düsturda sətir sonu yerləşdirmək üçün Alt+Enter düymələrini basın. Bu, oxumağı asanlaşdırır. Həmçinin, bütün düsturu görə bilmirsinizsə, CTRL+SHIFT+U düymələrini basın.

Yükləmə nümunələri

Bu məqalədə verilmiş bütün nümunələri özündə əks etdirən nümunə kitabı yükləyə bilərsiniz. Onlara abunə ola və ya öz düsturlarınızı yarada bilərsiniz.

Digər tarix və vaxt hesablamaları

Bu gün və başqa bir tarix arasında hesablama

Yuxarıda göstərildiyi kimi, DATEDIF funksiyası başlanğıc və bitmə tarixi arasındakı fərqi hesablayır. Bununla belə, xüsusi tarixləri daxil etmək əvəzinə, funksiyadan da istifadə edə bilərsiniz Bu gün() düsturda. TODAY() funksiyasından istifadə etdiyiniz zaman Excel kompüterinizdə cari tarixdən istifadə edir. Nəzərə alın ki, gələcəkdə faylı yenidən açsanız, fayl dəyişəcək.


Bayramlı və ya bayramsız iş günlərinin hesablanması

NETWORKDAYS istifadə edin. İki tarix arasındakı iş günlərinin sayını hesablamaq istəyirsinizsə, INTL. Bundan əlavə, həftə sonları və bayram günlərini də istisna edə bilərsiniz.

Başlamazdan əvvəl bu addımları izləyin: Tətil tarixlərinin istisna edilib-edilməməsinə qərar verin. Əgər belədirsə, bayram tarixlərinin siyahısını ayrı bir sahəyə və ya vərəqə daxil edin. Hər bayram günü ayrı bir kameraya yerləşdirilir. Sonra həmin xanaları seçin və sonra seçin düsturlar _gt_ təyin edin ad. Aralığı adlandırın micholidais və düyməni basın tamam. Sonra aşağıdakı addımlardan istifadə edərək düstur yaradın.

1. Başlama və bitmə tarixini daxil edin.


Bu nümunədə Başlama tarixi D53 xanasında, Bitmə tarixi isə E53 xanasındadır.

2. Başqa xanada düstur daxil edin, məsələn:


Yuxarıdakı nümunə kimi bir düstur daxil edin. Düsturun 1-ci bəndi "şənbə" və "bazar" günlərini istirahət günləri kimi müəyyən edir və onları ümumi gündən çıxarır.

Qeyd. Excel 2007-də ​​ŞƏBƏKƏ GÜNLƏRİ yoxdur. BEYNƏLXALQ Bununla belə, onun AÇIQ GÜNLƏRİ var. Yuxarıdakı nümunə Excel 2007-də ​​belə görünür: = ŞƏBƏKƏ GÜNLƏRİ (D53, E53). Siz 1-i göstərmirsiniz, çünki ŞƏBƏKƏ GÜNLƏRİ həftə sonlarının şənbə və bazar günləri olduğunu güman edir.

3. Lazım gələrsə, 1 dəyərini dəyişdirin.


Şənbə və bazar günləri bayram deyilsə, IntelliSense siyahısında 1 dəyərini başqa bir şeyə dəyişin. Məsələn, həftə sonları kimi bazar və bazar ertəsi 2 dəst.

Excel 2007 istifadə edirsinizsə, bu addımı atlayın. Excel 2007-də ​​ŞƏBƏKƏ GÜNLƏRİ funksiyası həmişə həftə sonlarının şənbə və bazar günləri olduğunu qəbul edir.

4. Bayram diapazonu üçün ad daxil edin.


Yuxarıdakı Başlanğıc bölməsində bayram diapazonu adı yaratmısınızsa, onu aşağıda göstərildiyi kimi sonuna daxil edin. Bayramınız yoxdursa, vergül və Micholydays buraxa bilərsiniz. Excel 2007 istifadə edirsinizsə, yuxarıdakı nümunə belə görünəcək: = ŞƏBƏKƏ GÜNLƏRİ (D53, E53, mikolidays).

LələkƏgər bayram aralığının adına istinad etmək istəmirsinizsə, siz həmçinin kimi bir sıra daxil edə bilərsiniz D35:E:39. Alternativ olaraq, hər bir bayramı formulaya daxil edə bilərsiniz. Məsələn, bayram günləri 2016-cı ilin 1 və 2 yanvarıdırsa, onları aşağıdakı kimi daxil edin: = ŞƏBƏKƏ GÜNLƏRİ. Int (D53, E53, 1, ("1/1/2016", "1/2/2016")). Excel 2007-də ​​bu belə görünəcək: = ŞƏBƏKƏ GÜNLƏRİ (D53, E53, ("1/1/2016", "1/2" . 2016"})

Sərf olunan vaxtın hesablanması

Xərclənmiş vaxtı hesablamaq üçün bir dəfə digərindən çıxa bilərsiniz. Əvvəlcə xanada başlanğıc vaxtını, digərində isə bitmə vaxtını daxil edin. Saatlar, dəqiqələr və boşluqlar daxil olmaqla bütün vaxtların doldurulduğundan əmin olun günortadan və ya PM-dən əvvəl. Bunu etmək üçün aşağıdakıları etməlisiniz:

1. Başlama və bitmə vaxtını daxil edin.


Bu nümunədə başlanğıc vaxtı D80 xanasında, bitmə vaxtı isə E80 xanasındadır. Saatları, dəqiqələri daxil etdiyinizə əmin olun və AM və PM simvollarından əvvəl boşluqlar.

2. H/pm formatını təyin edin.


Hər iki tarixi seçin və Ctrl+1 (və ya Mac-da +1) düyməsini basın. Seçim seçildiyinə əmin olun adət _gt_ s/p0 artıq quraşdırılmayıbsa.

3. iki dəyərin çıxarılması.


Başqa bir xanada "bitmə vaxtı" xanasından başlanğıc xanasını çıxarın.

4. Saat formatını təyin edin.


CTRL+1 (və ya Mac-da +1) düyməsini basın. seçin " adət"AM" və "PM" nəticələrini istisna etmək üçün _gt_".

Excel iş vərəqində tapşırıq planı yaradılmışdır. Bir sütun hər bir tamamlama tapşırığının son tarixini göstərir. Təyin edilmiş tapşırıqlar üçün gecikmiş son tarixləri rənglə vurğulamaq üçün Excel-də tarixlər arasında dəqiq fərqə ehtiyacımız var. Bunun üçün RAZNDAT düsturu ilə şərti formatlaşdırmadan istifadə edəcəyik.

Excel-də tarixlər arasındakı fərqi necə hesablamaq olar

Müddəti 7 gündən sonra başa çatan tapşırıqların adlarını rənglə vurğulamaq lazımdır. Tapşırıq planı cədvəlinin nümunəsi:


7 gündən sonra son tarixlərin vurğulanmasının son təsiri:


Vurğulanan yaşıl 7 gün ərzində yerinə yetirilməli olan bütün tapşırıqlar. D2 xanasındakı dəyərləri dəyişdirsəniz, digər tapşırıqlar vurğulanacaq.

Faydalı məsləhət! D2 xanasında bu günün tarixini əldə etmək üçün funksiyadan istifadə edə bilərsiniz: =TODAY().



Excel-də tarix fərqi düsturu

Düstur bu gün ilə hədəf tarix arasındakı tarix fərqini günlərlə qaytarır. Bu problemi həll etmək üçün Excel-də RAZNDAT funksiyasından istifadə edin: bu düsturu haradan tapa bilərəm?

Siz bu funksiyanı funksiyalar köməkçisində və hətta FORMULLAR panelində tapa bilməzsiniz. Həmişə əl ilə daxil edilməlidir. Funksiya üçün ilk arqument həmişə ən yeni tarix, ikinci arqument isə həmişə ən yüksək tarix olmalıdır. Funksiyanın üçüncü arqumenti =RAZNDAT() funksiyasının qaytardığı kəmiyyətin ölçü vahidini müəyyən edir. Bu halda, bu, "d" simvoludur - günlər. Bu o deməkdir ki, funksiya günlərin sayını qaytarır. Sonra operator gəlir<7. То есть формула проверяет, если функция возвращает число меньше чем 7, то формула возвращает значение ИСТИНА и к текущей ячейке применяется условное форматирование. Ссылки на ячейки в первом аргумент абсолютная (значение неизменяемое), а во втором аргументе – относительная, так как проверятся будут несколько ячеек в столбце C.

Lazım gələrsə, bu diapazona yeni şərti formatlaşdırma qaydası əlavə edə bilərsiniz ki, bu da bizə 2 həftə öncədən son tarix barədə xəbərdarlıq edəcək. Bunu etmək üçün A2:A7 diapazonu üçün yeni şərti formatlaşdırma qaydası əlavə etməli və yeni qaydada düsturu bir qədər dəyişdirməlisiniz:


İkinci qayda üçün formatlaşdırma rəngi sarıya təyin edilə bilər. Eyni diapazona tətbiq olunan 2 şərti formatlaşdırma qaydası olmalıdır. Yoxlamaq üçün aləti seçin: "HOME" - "Üslublar" - "Şərti Formatlaşdırma" - "Qaydaları İdarə et". Əvvəlcə yuxarı qaydanı yerinə yetirdiyimiz üçün görünən pəncərədə onların sırasını dəyişdirməliyik: “Şərti Formatlaşdırma Qaydaları Meneceri”. Əks halda, bütün seçilmiş tapşırıqlar sarı hüceyrə ilə doldurulacaq. Sadəcə olaraq birinci qaydanı vurğulayın və şəkildə göstərildiyi kimi aşağı düyməsini (CTRL+aşağı ox) basın:


Nəticədə plan bizi ilk iki həftə, sonra isə tapşırıqların bitməsinə bir həftə qalmış xəbərdar edir:


Faydalı məsləhət! Eyni aralığa təyin edilmiş çoxlu qaydalar varsa, Qaydaların İdarə Edilməsi Menecerində onların icra olunduğu ardıcıllığın prioritet iyerarxiyasına əməl edin. Qayda nə qədər yüksəkdirsə, onun altında yerləşən digərlərinə nisbətən icra prioriteti bir o qədər yüksəkdir.

Vaxt intervallarının müddətini hesablamaq üçün sənədləşdirilməmiş RAZNDAT funksiyasından istifadə etmək daha əlverişlidir. ) , DATEDIF()-in ingiliscə versiyası.

RAZNDAT() funksiyası EXCEL2007 yardımında və içərisində deyil Funksiya Sihirbazı (SHIFT+ F3 ), lakin qüsursuz olmasa da işləyir.

Funksiya sintaksisi:

TARİX(başlanğıc_tarixi; bitmə_tarixi; ölçmə_metodu)

Arqument başlanğıc_tarixi mübahisədən əvvəl gəlməlidir son tarix.

Arqument ölçmə_metodu başlanğıc və bitmə tarixləri arasındakı intervalın necə və hansı vahidlərlə ölçüləcəyini müəyyən edir. Bu arqument aşağıdakı dəyərləri qəbul edə bilər:

Məna

Təsvir

gün fərqi

tam aylarda fərq

tam illərdə fərq

illər istisna olmaqla tam aylarda fərq

aylar və illər nəzərə alınmadan gün fərqi
DİQQƏT! EXCEL-in bəzi versiyaları üçün funksiya, əgər başlanğıc tarixinin günü bitmə tarixindən böyükdürsə, səhv dəyər qaytarır (məsələn, EXCEL 2007-də, 02/28/2009 və 03/01/2009 tarixlərini müqayisə edərkən , nəticə 1 gün deyil, 4 gün olacaq). Bu arqumentlə funksiyadan istifadə etməkdən çəkinin. Alternativ formula aşağıda verilmişdir.

illər istisna olmaqla gün fərqi
DİQQƏT! EXCEL-in bəzi versiyaları üçün funksiya səhv dəyər qaytarır. Bu arqumentlə funksiyadan istifadə etməkdən çəkinin.

Aşağıda bütün 6 arqument dəyərinin ətraflı təsviri verilmişdir ölçmə_metodu, həmçinin alternativ düsturlar (RAZNDAT() funksiyası digər düsturlarla əvəz edilə bilər (çox çətin olsa da). Bu, nümunə faylda edilir).

Nümunə faylda arqument dəyəri belədir başlanğıc_tarixi hücrəyə yerləşdirilir A2 , və arqumentin dəyəri son tarix- hücrədə AT 2 .

1. Günlərdəki fərq ("d")

=DATEDAT(A2;B2,"d") düsturu iki tarix arasındakı sadə gün fərqini qaytaracaq.

Misal 1:başlanğıc_tarixi 25.02.2007, son tarix 26.02.2007
Nəticə: 1 gün).

Bu nümunə göstərir ki, xidmət stajını hesablayarkən RAZNDAT() funksiyasından ehtiyatla istifadə etmək lazımdır. Aydındır ki, bir işçi fevralın 25-i və 26-da işləmişdirsə, o zaman 1 deyil, 2 gün işləmişdir. Eyni şey tam ayların hesablanmasına da aiddir (aşağıya bax).

Misal 2:başlanğıc_tarixi 01.02.2007, son tarix 01.03.2007
Nəticə: 28 (günlər)

Misal 3:başlanğıc_tarixi 28.02.2008, son tarix 01.03.2008
Nəticə: 2 (gün), çünki 2008-ci il sıçrayış ilidir

Qeyd: Yalnız iş günləri ilə maraqlanırsınızsa, o zaman iki tarix arasındakı k = ŞƏBƏKƏ GÜNLƏRİ(B2;A2) düsturu ilə hesablana bilər.

2. Tam aylardakı fərq ("m")

=DATE(A2;B2;"m") düsturu iki tarix arasındakı tam ayların sayını qaytaracaq.

Misal 1:başlanğıc_tarixi 01.02.2007, son tarix 01.03.2007
Nəticə: 1 ay)

Misal 2:başlanğıc_tarixi 01.03.2007, son tarix 31.03.2007
Nəticə: 0

İş stajı hesablanarkən ayın bütün günlərini işləmiş işçinin 1 tam ay işlədiyi nəzərə alınır. RAZNDAT() funksiyası belə düşünmür!

Misal 3:başlanğıc_tarixi 01.02.2007, son tarix 01.03.2009
Nəticə: 25 ay


=12*(İL(B2)-İL(A2))-(AY(A2)-AY(B2))-(GÜN(B2))<ДЕНЬ(A2))

Diqqət: MS EXCEL yardımında (Yaşın hesablanması bölməsinə baxın) 2 tarix arasındakı ayların sayını hesablamaq üçün əyri düstur var:

=(İL(TTARİX())-İL(A3))*12+AY(İÇİN TARİX())-AY(A3)

TDATE() funksiyasının yerinə - cari tarix, 31/10/1961 tarixindən istifadə edin və A3-də 11/01/1962 daxil edin, onda 12 ay və 1 gün həqiqətən keçsə də, düstur 13-ü qaytaracaq (noyabr və dekabr 1961 + 10 ay 1962) .

3. Tam illərdə fərq ("y")

=DATE(A2;B2;"y") düsturu iki tarix arasındakı tam illərin sayını qaytaracaq.

Misal 1:başlanğıc_tarixi 01.02.2007, son tarix 01.03.2009
Nəticə: 2 il)

Misal 2:başlanğıc_tarixi 01.04.2007, son tarix 01.03.2009
Nəticə: 1 il)

Düstur alternativ ifadə ilə əvəz edilə bilər:
=ƏGƏR(TARİX(İL(B2),AY(A2),GÜN(A2))<=B2;
İL(B2)-İL(A2);İL(B2)-İL(A2)-1)

4. İllər istisna olmaqla tam aylardakı fərq (“ym”)

=DASDAT(A2;B2;"ym") düsturu illər istisna olmaqla, iki tarix arasındakı tam ayların sayını qaytaracaq (aşağıdakı nümunələrə baxın).

Misal 1:başlanğıc_tarixi 01.02.2007, son tarix 01.03.2009
Nəticə: 1 (ay), çünki Bitmə tarixi 03/01/2009 və dəyişdirilmiş başlanğıc tarixi 02/01 müqayisə edilir. 2009 (01.02 01.03-dən az olduğu üçün başlanğıc tarixi il bitmə tarixi ili ilə əvəz olunur)

Misal 2:başlanğıc_tarixi 01.04.2007, son tarix 01.03.2009
Nəticə: 11 (ay), çünki Bitmə tarixi 03/01/2009 və dəyişdirilmiş başlanğıc tarixi 04/01 müqayisə edilir. 2008 (başlama tarixinin ili bitmə tarixinin ili ilə əvəz olunur mənfi 1 il, çünki 01.04 01.03-dən çox)

Düstur alternativ ifadə ilə əvəz edilə bilər:
=REMAT(C7,12)
Bir hüceyrədə C7 Fərq tam aylarda olmalıdır (2-ci bəndə baxın).

5. Aylar və illər istisna olmaqla günlərdəki fərq ("md")

=DASDAT(A2;B2;"md") düsturu aylar və illər nəzərə alınmadan iki tarix arasındakı günlərin sayını qaytaracaq. Bu arqumentlə RAZNDAT() funksiyasından istifadə etmək tövsiyə edilmir (aşağıdakı nümunələrə baxın).

Misal 1:başlanğıc_tarixi 01.02.2007, son tarix 06.03.2009
Nəticə 1: 5 (gün), çünki Bitmə tarixi 03/06/2009 və dəyişdirilmiş başlanğıc tarixi 01 müqayisə edilir. 03 .2009 (01 06-dan kiçik olduğu üçün başlanğıc tarixinin ili və ayı bitmə tarixinin ili və ayı ilə əvəz olunur)

Misal 2:başlanğıc_tarixi 28.02.2007, son tarix 28.03.2009
Nəticə 2: 0, çünki Bitmə tarixi 28/03/2009 və dəyişdirilmiş başlanğıc tarixi 28 müqayisə edilir. 03 .2009 (başlama tarixinin ili və ayı bitmə tarixinin ili və ayı ilə əvəz olunur)

Misal 3:başlanğıc_tarixi 28.02.2009, son tarix 01.03.2009
Nəticə 3: 4 (gün) - tamamilə anlaşılmaz və YANLIŞ nəticə. Cavab =1 olmalıdır. Üstəlik, hesablamanın nəticəsi EXCEL versiyasından asılıdır.

SP3 ilə EXCEL 2007 versiyası:

Nəticə – 143 gün! Bir ayda gündən çox!

EXCEL 2007 versiyası:

28.02.2009 ilə 03.01.2009 arasındakı fərq 4 gündür!

Bundan əlavə, SP3 ilə EXCEL 2003-də düstur 1 gün ərzində düzgün nəticəni qaytarır. 31.12.2009 və 02.01.2010 dəyərləri üçün nəticə ümumiyyətlə mənfidir (-2 gün)!

Yuxarıdakı arqument dəyəri olan düsturdan istifadə etməyi məsləhət görmürəm. Düstur alternativ ifadə ilə əvəz edilə bilər:
=ƏGƏR(GÜN(A2)>GÜN(B2);
GÜN(AY(TARİX AY(B2,-1),0))-GÜN(A2)+GÜN(B2);
GÜN(B2)-GÜN(A2))

Bu düstur yalnız md parametri ilə RAZNDAT() üçün ekvivalent (əksər hallarda) ifadədir. Aşağıdakı “RAZNDAT() əyriliyi haqqında bir daha” bölməsində bu düsturun düzgünlüyünü oxuyun.

6. İllər istisna olmaqla günlərdəki fərq (“yd”)

=DASDAT(A2;B2,"yd") düsturu illər istisna olmaqla, iki tarix arasındakı günlərin sayını qaytaracaq. Əvvəlki paraqrafda göstərilən səbəblərə görə istifadə etmək tövsiyə edilmir.

=DATEDAT(A2;B2,"yd") düsturu ilə qaytarılan nəticə EXCEL versiyasından asılıdır.

Düstur alternativ ifadə ilə əvəz edilə bilər:
=ƏGƏR(TARİX(İL(B2),AY(A2),GÜN(A2))>B2;
B2-TARİX(İL(B2)-1,AY(A2),GÜN(A2));
B2-TARİX(İL(B2),AY(A2),GÜN(A2)))

Bir daha RAZNDAT() əyriliyi haqqında

16.03.2015 ilə 30.01.2015 tarixləri arasındakı fərqi tapaq. md və ym parametrləri ilə RAZNDAT() funksiyası fərqin 1 ay 14 gün olduğunu hesablayacaq. Doğrudanmı?

RAZNDAT()-a ekvivalent düstura malik olmaqla siz hesablamanın gedişatını başa düşə bilərsiniz. Aydındır ki, bizim vəziyyətimizdə tarixlər arasında tam ayların sayı = 1, yəni. bütün fevral. Günləri hesablamaq üçün funksiya əvvəlki ayda bitmə tarixinə nisbətən günlərin sayını tapır, yəni. 28 (bitmə tarixi mart ayına aiddir, əvvəlki ay fevraldır və 2015-ci ildə fevralda 28 gün var idi). Bundan sonra başlanğıc gününü çıxarır və bitiş gününü = əlavə edir GÜN(AY(TARİX AY(B6,-1),0))-GÜN(A6)+GÜN(B6), yəni. 28-30+16=14. Fikrimizcə, tarixlər ilə martın bütün günləri arasında hələ 1 tam ay, yəni 14 deyil, 16 gün var! Bu səhv, əvvəlki ayda bitmə tarixinə nisbətən başlanğıc tarixinin günlərindən daha az gün olduqda baş verir. Bu vəziyyətdən necə çıxmaq olar?

Ayları və illəri nəzərə almadan fərq günlərini hesablamaq üçün düsturda dəyişiklik edək:

=ƏGƏR(GÜN(A18)>GÜN(B18);ƏGƏR((GÜN(AY(TARİX AY(B18,-1),0))-GÜN(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))

Yeni funksiyanı tətbiq edərkən nəzərə almaq lazımdır ki, günlər fərqi bir neçə başlanğıc tarixləri üçün eyni olacaq (yuxarıdakı şəklə bax, 28-31/01/2015). Digər hallarda, düsturlar ekvivalentdir. Hansı formuldan istifadə etməliyəm? Bu, istifadəçinin tapşırığın şərtlərindən asılı olaraq qərar verməsidir.