Szerintem az első általad megadott függvény hibás. AW oszlopra hivatkozol AA helyett. Illetve amit nem kezel a függvényed, hogy mi van, ha az egyik dátum kisebb mint 1900, de a másik nagyobb mint 1900. Akkor csak az egyik évszámot növeli meg 400 évvel.
Illetve a következő hibát vettem még észre: ha kellően kicsi dátumot írunk be, de nagyobbat mint 1900, akkor előfordulhat az, hogy "BAL(W1;4)+0<1900" igaz lesz, mert ha W1 "rendes" dátum, akkor számként kezeli az Excel és ha W1 kisebb, mint 1905.03.14, akkor a szám értéke kevesebb lesz, mint 1900.
Én összegyúrtam egy képletbe a két függvényt.
=HA(HA(ÉS(HAHIBA(ÉV(W1);HAMIS);HAHIBA(ÉV(AA1);HAMIS));W1-AA1;HA(HAHIBA(ÉV(W1);HAMIS);DÁTUM(ÉV(W1)+400;HÓNAP(W1);NAP(W1));DÁTUM(BAL(W1;4)+400;KÖZÉP(W1;6;2);KÖZÉP(W1;9;2)))-HA(HAHIBA(ÉV(AA1);HAMIS);DÁTUM(ÉV(AA1)+400;HÓNAP(AA1);NAP(AA1));DÁTUM(BAL(AA1;4)+400;KÖZÉP(AA1;6;2);KÖZÉP(AA1;9;2))))<16;"nincs";"")
Ez elvileg 1. körben megvizsgálja, hogy valamelyik dátum 1900-nál kisebb-e vagy sem.
Ha egyik sem kisebb, mint 1900, akkor kivonja egyszerűen egymásból őket.
Ha valamelyik kisebb, mint 1900, akkor mindentől függetlenül mindkét dátum évszámát megnöveli 400-al. Bár előtte ellenőrzi, hogy a dátum helyes dátum-e, mert ha igen, akkor más módon kell az évszámot megnövelni.
Ismert hiba: ha a dátum szökőévre esik. Ha jól tudom, akkor a szökőévre a következő szabályok vonatkoznak: minden 4-el maradék nélkül osztható évben van szökőév. Ez alól kivételt képeznek a század fordulók. De ha a század forduló egyben ezred forduló is, akkor van szökőév. Tehát 2000-ben volt szökőév, de 2100-ban nem lesz.
Vissza szívtam, én tudtam rosszul/rosszul emlékeztem. Nem ezredfordulónként van mégis szökőév, hanem ha 400-al is osztható maradék nélkül az évszám. Tehát ha 400-at adunk hozzá, akkor pont jó is.
Amúgy nem tudom, hogy a kérdező pontosan mit szeretett volna: most ha W1 maximum 16 nappal van később, mint AA1, akkor írja a nincset.