-
IT café
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
aktív tag
válasz Kloden #15853 üzenetére
Hello,
Már javasolták a HOL.VAN és INDEX opciókat, itt láthatod műkődés közben amit összeraktam (főleg HOL.VAN és ELTOLÁS-t használva).
A fájlban az Órarend munkalapon van amiben keresünk, A-oszlopban vannak a hetek, a B-ben pedig az időpontok, a C-G oszlopokban a napi (hétfő, kedd, sb.) tanórák.
Két megoldással is készültem:
Az első nagyon egyszerű, mivel az aktuális hetet megjeleníti és elrejti egy egyszerű feltételes formázással a ki nem választott tantárgyat. A képernyő mentésen ezt látod felül.Ide elég kevés függvény kell:
1. C1 cellában az aktuális hét sorszáma: =HÉT.SZÁMA(MA())
2. C2 cellában van egy függvény: =HOL.VAN(C1;Órarend!A:A;0) , ezt egyszerűen fehér alapon-fehér betűszínnel elrejtettem, de megmondja, hogy az adott hét az Órarend táblának hanyadik sorában kezdődik.
2. E2-ben van egy egyszerű adat érvényesítés (data validation).
3. C4-ben ez van: =ELTOLÁS(Órarend!C$1;$C$2+SOR()-3;0)A C4 függvényt másold C4:G12 tartományba, ezzel eléred hogy mindig az aktuális teljes hetet fogod itt látni.
A végső simítás már csak hogy elrejtsük feltételes formázással azon cellákat, amelyek nem egyenlőek E1-el.Én még itt kavartam egy kicsit, vagyis amikor nincs kiválasztva egy tantárgy, akkor mindent mutasson, így a függvényem: =ÉS($E$1<>C4;$E$1<>"")
Ha ez a függvény igaz, akkor a cella betűszíne a háttérszínre állítódik.Készen is van.
A második megoldás a képernyőn alul látható, amely szövegesen kiírja hogy melyik napon, melyik órában van a kiválasztott tantárgy. Ennek a megoldása már sokkal bonyolultabb, mivel az Excel számokban érzi jól magát és szövegekkel dolgozni sokkal nehezebb.
Kell egy segédszámolás, hogy tudjuk melyik nap/melyik óra érintett. Ezt a számolást én a H17:M26 tartományban végeztem.
1. H17-ben ez a függvény: =HOL.VAN(C1;Órarend!A:A;0)+1
2. I17:M17-ben számok 1-től 5-ig vannak (1 hétfőt jelenti, 2 keddet stb).
3. H18:M26-ban számok 8-tól 16-ig vannak az időpontok.
4. I18-ban egy összetett függvény van: =HA($E$1="";(I$17+$H18/100);HAHIBA(HOL.VAN($E$1;ELTOLÁS(Órarend!C1;$H$17;0);0)*(I$17+$H18/100);""))
Ezt 2 részből áll:
- a második része (a HAHIBA-tól kezdődő) ugyanazt csinálja, mint az első megoldásban, vagyis az aktuális hét egy adott időpontját kiírja és ha az megegyezik a kiválasztott tantárggyal (ami E1-ben van), akkor ad egy számot. Ez a szám a tantárgy poziciója (pl. 2,09; amely azt jelenti hogy a második napon 09 órakor van a tantárgy).
- az első része akkor ugrik be, amikor nincs kiválasztva E1-ben tantárgy.
5. Az I18-ban lévő függvényt másold át I18:M26 tartományra.A segédtábla kész, esetleg rejtsd el majd
Jöhet a kiíratás, hogy mikor vannak találatok.
D16-os cellába tettem egy hosszű függvényt: =HAHIBA(VÁLASZT(INT(KICSI($I$18:$M$26;SOR()-15));"Hétfő";"Kedd";"Szerda";"Csütörtök";"Péntek")&" - "&INT((KICSI($I$18:$M$26;SOR()-15)-INT(KICSI($I$18:$M$26;SOR()-15)))*100)&" óra";"")Ennek a magja a KICSI(tömb;k) függvény, amely a tömbből a k-adik elemet adja vissza.
Esetünkben a tömb a segédtábla, amelyben vagy üres mezők vagy poziciókat jelölő számok (pl. 4,12) vannak.
A függvény többi része ezt a számot alakítja át. Előbb veszi az egész részét és az annak megfelelő napot kiírja (pl. 4 - Csütörtök), majd az időponthoz veszi a maradék részét (0,12) megszorozza 100-al hogy egész legyen.Vége.
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Új hozzászólás Aktív témák
- Vírusirtó, Antivirus VPN kulcsok
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- 10 Darab PC Játék (Bontatlanul!) Egyben 6990Ft.-ért Foxal!!!
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Megmaradt - Eredeti Humble, Choice - Steam kulcsok
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen