-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
m.zmrzlina
#17484
üzenetére
Hello,
Azt szeretném a makróval, hogy jelezze, hogy a fenti példánál pl febr 23.-a hiányzik...
Makrós megoldás már jött rá, de hadd mutassak be egy nem makrósat. Persze vannak hátrányai, de okulásra tökéletes lehet.
A képen látható, hogy a dátumok a B1-től kezdve vannak felsorolva, AB1-ig mennek és csak 1 dátum hiányzik most, mégpedig február 7-e (sárgával jelöltem). Két megoldás is van, az első a SZORZATÖSSZEG jól műkődik, ha csak 1 db nap hiányzik. A CSE már több nap esetén is jó, ilyenkor az első hiányzót adja vissza.
Nézzük őket:
=ELTOLÁS(AB1;0;-SZORZATÖSSZEG((NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))))+1
- Itt a lényeg SZORZATÖSSZEG-ben van, amely úgy múkődik hogy megnézi a cellában (pl Q1) lévő dátum napját (pl. 2013.02.17 -> 17) és hogy ez a cella hanyadik oszlopban van (OSZLOP(Q1) -> 17) és a kettőt kivonja egymásból.
- Ha a napok egymást követik, akkor a nap száma és az oszlop száma egyezik, különbségük 0 lesz; de ha hiányzik egy nap akkor már 1-et fogunk kapni különbségnek. (Mivel az adatok nem az első oszlopból indulnak (ott most a komment van), ezért 1-et kivonok az oszlopszámából, így kapok B oszlopra 1-et, C-re 2-t stb.)
- Tehát a SZORZATÖSSZEG((NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))) pl. ilyen eredményt fog adni {0;0;0;0;0;0;1;1;1;1;1....}. Ami azt jelenti hogy az első 6 nap okés, de a 7-nél csúszás van. A SZORZATÖSSZEG ezeket az 1-eket össze fogja adni, és megkapod, hogy hány napnál nem egyezett a napszám és az oszlopszám.
- Ennek ismeretében már könnyedén ki lehet választani az ELTOLÁS (OFSZET) függvénnyel, hogy melyik nap csúszott el, egyszerűen csak a napok listájának végéről (az AB1 esetemben) a SZORZATÖSSZEG szerint megadottszor kell visszamenni. Ehhez -1-el megszoroztam a SZORZATÖSSZEG eredményét,
- Így megkapjuk, hogy az utolsó jó nap február 6-a volt vagyis +1 nappal később van a bibi.A másik képlet csúnyább, de kezeli azt az esetet ha több nap is hiányzik a listából:
{=ABS(MIN(HA((NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))*(OSZLOP(B1:AB1)-1)<>0;(NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))*(OSZLOP(B1:AB1)-1))))}
- Itt a lényeg ugyanaz mint előbb volt, vagyis keressük azokat az eseteket ahol NAP(cella) és OSZLOP(cella) nem egyenlő.
- Valójában azonban itt a különbséget megszorzom az aktuális nap helyével, tehát nem 0 és 1-ek lesznek, hanem 0 és a megfelelő napok száma, pl. {0;0;0;0;0;0;7;8;9;10; stb}.
- A végén ebből a listából már csak a 0-nál nagyobb legkisebb számot kell kiválasztani, erre van a HA és a <>0 közötti rész.
- A képlet eredmény az a nap száma, amelyik hiányzik.
- Mivel se a NAP, se az OSZLOP, sem az ABS függvények nem kezelnek tartományokat, ezért CSE-ként kell felvinni.üdv.
Új hozzászólás Aktív témák
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most Ünnepi áron! :)
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Keresem a Barkács Balázs Játékokat
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Dobozos! Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- BESZÁMÍTÁS! ASRock Z370 i7 8700 16GB DDR4 512GB SSD RX 6600XT 8GB Rampage SHIVA Thermaltake 550W
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
- GYÖNYÖRŰ iPhone 14 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3677
- Dell Latitude Core i5 - i7 - 6-7-8-10-11-12-13. gen. üzleti kategóriás notebookok számlával - 12.18
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50
