-
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
-
Fferi50
őstag
válasz karlkani #52546 üzenetére
Szia!
Ezt most végigteszteltem az éven:=HA(ÉS(ÓRA(MOST())<16;NEM(HIBÁS(FKERES(MA();dolgozos;1;0))));MA();HA(ÉS(ÓRA(MOST())<16;HIBÁS(FKERES(MA();unnepes;1;0));HÉT.NAPJA(MA();2)<6);MA();KALK.MUNKANAP(MA();1;unnepes)))
Működőnek találtam. Remélem nálad is megy.
A Kalk.Munkanap(MA();0;unnepes) volt a bűnös elsősorban, mert sajnos mindig az adott napot adja vissza. Valamiért nem derült ki számomra első körben.
Üdv. -
Fferi50
őstag
Szia!
Egy segédoszlopba kiveszed az órákat, majd szűrsz a délelőttre és átmásolod az eredményt. A segédoszlop mindenképpen kell szerintem, ide írhatsz pl. ilyen képletet is:=Óra(A2)<=12
ahol az eredmény IGAZ v. HAMIS lesz.
De csinálhatsz feltételes formázást is az előbbi képlettel a feltételnek megfelelő cellák formázása képlettel menüpontban, színt adsz nek, majd az adott színre szűrsz és átmásolod ami megmarad. Ebben az esetben nem kell segédoszlop.
(Kezdőlap - Feltételes formázás - Új szabály - A formázandó cellák kijelölése képlettel - a képlet pedig a fenti arra az oszlopra, melyben a dátumok vannak.
Üdv. -
-
Fferi50
őstag
válasz Darko_addict #52558 üzenetére
Szia!
Megmutatnád a cellákat a képletekkel is?
Szerintem az A készlet (és persze a B készlet ) sem lehet negatív értékű, legfeljebb 0. Így a beérkezett készlet a beérkezésnek megfelelő értékű kell legyen.
Azért szeretném látni a képleteket, mert szerintem nem kell az A -hoz minusz számot írni, a hiányt anélkül is le lehet vonni a B készletből.
"Ha nullában MAXolom a "A" készletét, akkor nem számol negatívba a HA képlet se."
A fentiek alapján miért is kellene negatívba számolnia?
Lássuk a képleteket!
Üdv. -
Fferi50
őstag
válasz Darko_addict #52562 üzenetére
Szia!
Szerintem ez így nem felel meg az igényeiteknek... Pl. A hónap folyamán az A és a B szállító készleteiből is lesz felhasználás. Ezzel az "összevont" képlettel egyáltalán nem állapítható meg, hogy a B készletből mennyi a havi felhasználás.
Meg szeretted volna spórolni a tényleges felhasználás kimutatását.
Egy tisztességes készletnyilvántartásnak napi bontásban kell tartalmaznia a beérkezést és a felhasználást ami alapján mindig megállapítható a zárókészlet.
Ezt a napi bontást pedig sorfolytonosan érdemes csinálni, mert úgy áttekinthető.
Próbálok egy általam elképzelt mintát csinálni, ha összejön valamikor később, akkor felteszem.
Üdv. -
Fferi50
őstag
válasz Darko_addict #52560 üzenetére
Szia!
Folytatásnak itt egy minta:
Egymás mellett látod a két cikkszám "nyilvántartó kartonját". Középen a termelés igénye.
Magyarázat:
A 4. sorban van a beérkezés és felhasználás havi összesítése a nyitó-záró készlettel, így ebben a sorban minden nap után látszik a tényleges zárókészlet.
A felhasználás számítása:
A készletnél az utolsó sor alapján:=KEREK.FEL(HA(G9*(1+$E$2)>B9;B9;G9*(1+$E$2));0)
Megnézzük, hogy a napi nyitókészlet fedezte-e a selejttel növelt igényt - hiszen a beérkezés később lehet, mint amit a termelés igényel.
Ha igen, akkor a selejttel növelt érték kerül ide, ha nem, akkor a teljes nyitókészlet.
B készletnél:=KEREK.FEL(HA(G9>D9;((G9-(D9/(1+$E$2)))*(1+$M$2));0);0)
Megnézzük, hogy az A készlet fedezte-e az igényt, ha igen, akkor 0 az érték, ha nem, akkor a seletszázalékkal visszakorrigált A mennyiséget kivonjuk a termelés igényéből és a maradékot növeljük a B selejt%-kal.
Az eredményeket mindenüt felkerekítjük egészre, hiszen fél darabot nem lehet kiadni.
Így folyamatosan lehet látni mind az A mind a B készlet alakulását és a rendelkezésre álló mennyiéségeket.
Ez persze csak egy ötlet, talán van benne valamennyi ami hasznosítható számotokra.
Üdv. -
Fferi50
őstag
válasz Jarod1 #52566 üzenetére
Szia!
Egy lehetőség az év és a ma függvények használata:
=ÉV(MA()) & " áramfogyasztás"
Ennek egyetlen hátránya, hogy átlépve a következő évbe, az előző év adataiban is a tárgyév jelenik meg, ezért év végén a korábbi adatokat át kell alakítani értékké - másolás - irányított beillesztés értéket ugyanoda.
Üdv. -
Fferi50
őstag
válasz eszgé100 #52568 üzenetére
Szia!
Egy teljesen vad kérdés:
Mi történik, ha nem azonnal "behúzod", hanem az adatok átalakítását választod? Ezután a Dátum oszlopra az adattípus módosításánál kiválasztod a tizedes törtet.
Elvileg ebben az esetben a dátumok számmá változnak. Utána pedig visszaállíthatod dátum formátumúra.
Másik gondolat:
Nem tudom, hogy keverve vannak-e a formátumok vagy külön forrásban vannak.
Ez Excelben az Adatok - Szövegből oszlopok varázslóban a 3. lépésben meg tudod adni a dátum formátumot mint forrást.
Üdv. -
Fferi50
őstag
válasz eszgé100 #52568 üzenetére
Még folytatnám, erre a kérdésre
"Hasonló logika alapján meg lehet oldani ezt Power Query-ben is?"
Power Query előnézetben szövegnek választani a dátumot tartalmazó oszlopot.
Ezután a dátumot tartalmazó oszlop kijelölése - Átalakítás fülön oszlop felosztása - határolójellel - beírod az egyéni határolójelet ("/"). Létrejön 3 oszlop. US szerint HH, NN, ÉÉ és idő . Ezután a HH NN oszlopot megcseréled. Kijelölöd a 3 oszlopot. Átalakítás fülön oszlopok egyesítése - elválasztójellel - egyéni "/". Ezt valószínűleg a végére szúrja be. Ez most még szöveg, ezért a Kezdőlap fülön Adattípusban Dátum/Időt kiválasztod és OK.
Ezek után a szétszedéskor keletkezett 3 oszlopod törölhető.
Persze ez ilyen módon csak akkor műxik, ha nem vegyesen fordulnak elő a dátum formátumok az oszlopban.
Üdv. -
Fferi50
őstag
válasz eszgé100 #52575 üzenetére
Szia!
Még lenne egy gondolatom:
Beszívod mindenütt szövegként a dátum oszlopot. Ebben az esetben az AM-PM nek ott kell lennie az oszlopban ha jól gondolom.
Kiszűröd azokat a sorokat amelyekben nincs AM-PM (szövegszűrő nem tartalmazza AM és nem tartalmazza PM.
Az így létrejött "maradék" táblát mented egy munkalapra.
Ezután visszamész a lekérdezés szerkesztésbe. Törlöd az előző szűrőt és beállítod a szövegszűrőt tartalmazza AM vagy PM.
A bal oldalon a táblázat nevére jobb egérgomb - Megkettőzés (így nem kell ismételten beolvasnod)
A második táblában: Dátum oszlop felosztása / alapján. A hónap és nap oszlop felcserélése. A három oszlop egyesítése. A nem szükséges oszlopok kitörlése. Az oszlopok elnevezése mint az előző lekérdezésben, ha szükséges.
Ezután Bezárás és betöltés adott helyre - egy másik munkalapra érdemes.
Ezután az Excelben a lekérdezése állva - lekérdezések egyesítése - kiválasztod a két lekérdezést és egyesíted.
Szerintem rövidebb ideig tart, mind ezt itt elolvasni.
Automatizálni is lehet szerintem.
Üdv. -
Fferi50
őstag
válasz lenkei83 #52592 üzenetére
De ha a SZUMHATÖBB is problémás, akkor meg lehet oldani SZUMHA függvénnyel is:
=SZUMHA('1'!B15:B1001;"<"&DÁTUM(2024;1;1);'1'!H15:H1001)-SZUMHA('1'!B15:B1001;"<"&DÁTUM(2023;1;1);'1'!H15:H1001)
És most jön a végső "csapás", a SZORZATÖSSZEGES képlet:=SZORZATÖSSZEG((ÉV('1'!$B$15:$B$1001)=2023)*1;'1'!$H$15:$H$1001)
Látod azt a fránya pontosvesszőt a tömbök között??? No csak ennyi kellett.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz lenkei83 #52592 üzenetére
Még egy kis magyarázat:
Ez a képlet:=SZORZATÖSSZEG((ÉV('1'!$B$15:$B$1001)=2023)*(NEM(ÜRES('1'!$A$15:$A$1001)))*('1'!$H$15:$H$1001))
igazából nem is szorzatösszeg, hanem három tényező összeszorzása, vagyis egy sima szorzás...
A SZORZATÖSSZEG függvénynél (is) a paramétereket el kell választani egymástól. Itt két paraméter van, az egyik az évek, a másik a fizetett kamatok, ahogyan az előző hsz-ben írtam.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz customer114 #52604 üzenetére
Szia!
Egy ötlet:
1. lépés: Adatok - szövegből oszlopok - tagolt - határolójel ; (pontosvessző) OK.
2. létrejött 1 sor, ahol a cellák egy név adatait tartalmazzák, ezt kijelölöd - másolás - irányított beillesztés TRANSZPONÁLÁS. Ezáltal egy oszlopot kapsz.
3. az oszlopra szintén - Adatok - szövegből oszlopok - tagolt - határolójel , (vessző) OK
4. így külön kerül a vezetéknév és a keresztnév az email cím
5. a második oszlopra újfent Adatok - szövegből oszlopok - tagolt - határolójel egyéb <, a többit kitörölni, OK
6. az email címeket tartalmazó oszlop végéről lecsípheted a > jelet - =Bal(A1;Hossz(A1)-1) képlettel egy új oszlopba.
Üdv. -
Fferi50
őstag
válasz Lasersailing #52614 üzenetére
Szia!
Hiába egyforma kinézetre a két érték, ha az egyik dátum formátumú a másik pedig szöveg.
Ahogyan írtad, a sob sheet A oszlopában dátum formátumok vannak (erről meggyőződhetsz, ha a cellaformátumot megváltoztatva számmá v. általánossá számot látsz a cellában).
A form datumok mezőjében pedig szöveg és a szövegfüggvényekkel való manipulálás után is szöveg marad az összerakott érték! Ezért dátummá kell alakítanod, nem pedig szöveggé összefűznöd. Pl.CDate(Right(Kiszallitasform.datumok.Value, 2) & "/" & Mid(Kiszallitasform.datumok.Value, 6, 2) & "/" & Left(Kiszallitasform.datumok.Value, 4))
Csak utána nézd meg, hogy így mennyi lesz a dátum értéke mert lehet, hogy fordítva kell összeraknod a napot-hónapot.
Másik lehetőség: a sob munkalap A oszlop celláinak nem a VALUE hanem a TEXT tulajdonságát használod és azt hasonlítod az összerakott szöveghez:Sheets(sob).Cells(sm, 1).TEXT= Right(Kiszallitasform.datumok.Value, 2) & "/" & Mid(Kiszallitasform.datumok.Value, 6, 2) & "/" & Left(Kiszallitasform.datumok.Value, 4)
A Text ugyanis mindig az adott cellában levő tényleges "kinézetet" tartalmazza.
Remélem sikerül megoldanod.
Üdv. -
Fferi50
őstag
válasz BagyiAti #52616 üzenetére
Szia!
Ha a Kimutatás2-höz állítod a kapcsolatot, akkor magához nem fog szerintem ajánlani, viszont az 1,4,5 vagyis a további 3 kimutatás amihez kapcsolódni lehet, az ott van. A kimutatás3 szerintem egy korábban törölt kimutatás neve lehet és ezért nincs is bepipálási lehetőség, ha jól látom.
Üdv. -
Fferi50
őstag
válasz föccer #52662 üzenetére
Szia!
Továbbá: a Watch window-ba beteheted a ciklusváltozódat és beállíthatod, hogy amikor az értéke 10,100 stb-vel osztható, akkor álljon meg a makró futása. Ez addig működik, amíg az adott munkafüzetet nyitva tartod, illetve ki nem törlöd a figyelőablakból a kifejezést.
Mentésnél természetesen nem megy a munkafüzettel, tehát a felhasználót nem zavarja. Tesztelésnél viszont nagyon hasznos tud lenni.
Üdv. -
Fferi50
őstag
válasz eszgé100 #52677 üzenetére
Szia!
Az előzőhöz kiegészítésként:
Az idézőjeleket duplikálni kell a szövegen/képleten belüli megjenéshez.
Ezen kívül a táblázatra hivatkozás sem megfelelő.
Táblázatnév [@mezőnév] a helyes, továbbá szóköz nem lehet benne.
Vidd be a cellába egérmutatással a képletet és utána megnézni az immediate ablakban, hogyan néz ki. (Pl. ? Activecell.Formula2 és enter). Ezt használhatod az idézőjelekre vonatkozó szabály figyelembe vételével.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz p5quser #52683 üzenetére
Szia!
Többoszlopos tartományban keresésre én nem emlékszem Excelben sem.
Szerintem az INDEX - Match páros műxik G.sheetben is. Viszont minden oszlopra külön kell a keresést megadnod.
A keresésben használhatod a wildcard karaktereket * (csillag) akárhány karakter ? (kérdőjel) 1 karakter.
Pl. "*uda*" az uda részletet tartalmazó értéket találja meg. Pontos egyezést kell keresni a Match függvénnyel.
Üdv. -
Fferi50
őstag
válasz p5quser #52686 üzenetére
Szia!
Talán próbáld meg ezt:
Először az oszlopokat összefűzni - nem kell fizikailag, csak képlettel -, ebben megkeresni a szövegtöredéket, hányadik sorban van.
Majd ebben a sorban ismét megkeresni, mostmár egyedül az oszlopot. Végül az első sorban a konkrét értéket.
Itt láthatod részleteiben a képleteket.
Természetesen ez összevonható egy cellába is, kicsit hosszú lesz.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz Xanderas #52697 üzenetére
Szia!
Miért kellene ehhez makró? Egyszerű képlet: pl. a második munkalapra
=Elsőmunkalap!A1 & " " & Elsőmunkalap!C1
A oszlop irányítószám, C oszlop városnév
Az oszlopokat helyettesítsd be a nálad levő helyzetbe, a szóköz helyett írd be, amivel szeretnéd elválasztani a két értéket.
A képlet lehúzható az oszlopban.
Üdv. -
Fferi50
őstag
válasz lanszelot #52721 üzenetére
Szia!
Most, hogy mégegyszer figyelmesen elolvastam amit írsz, az a válaszom, hogy ez így nem megoldható képlettel:
"Ugyanazt a képletet kellene hozzá adom különböző cellákhoz:
+A1x(aktuális cella tartalma)"
Egy adott cellába nem írhatsz olyan képletet, ami saját magára (aktuális cella!) hivatkozik. Ill. írhatsz, de az hibás eredményt, leginkább 0-t fog eredményezni.
Az A1 x aktuális cella eredményét egy harmadik cellába kell képletezned! Ezután a harmadik cella értéke automatikusan változik, akár az A1, akár az "aktuális cella" értékét változtatod meg.
A javaslat a következő:
Ez a kiindulás.
A következő lépés: B2 cellára Ctrl+C (másolás)
Utána kijelölöd ahova szeretnéd a képletet, pl. C2 : D5
Ezután Paste - Paste Special - Formulas Eredmény:
Ezután A1 cella értékét változtatom 10-re. Eredmény:
Ha ez így nem működik nálad, akkor szerintem mutasd be legalább képpel, mit szeretnél elérni, mert lehet, hogy félreértünk valamit.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz lanszelot #52725 üzenetére
Szia!
"De az alap számokra nincs szükségem, csak zavaró tényező, ha ott van."
És amikor megváltoztatod az A1 tartalmát, akkor honnan fogja tudni az Excel, hogy mit szorozzon meg vele? Hiszen az alap számok a szorzás után eltünnek! a leírásod szerint.
Szerintem még mindig 2 malomban őrölünk, ezért jó lenne ha példával és képpel ! illusztrálnád a problémádat: Kiindulási helyzet és elérni kívánt eredmény megmutatásával.
"Mint ha programoznál.
Ezekhez a cellákhoz add hozzá a szorozva A1 cellaval képletet."
Csakhogy más a programozás és más a képlet!!!
A makróban/programban megteheted, hogy egy cella értékét megváltoztatod - akár képlettel, akár konkrét átírással, írhatsz bele új képletet és visszaírod az adott cellába.
A munkalapon, képletben ilyen lehetőség NINCS, saját magára nem hivatkozhat a cellában levő képlet! Ez egy szabály, amit vagy elfogadsz és aszerint használod az Excelt vagy elfelejted és nem képletezel hanem programozol.
Ezért kell használni ilyen esetekben segédtartományokat (oszlopot v. sort), ahova bekerül az a képlet, amellyel az általad alap számoknak nevezett értékekre és az A1 cellára hivatkozunk. Az alap oszlop marad változatlan, a segédoszlop pedig a képletnek megfelelően változik.
A képletet pedig lehúzással, másolással (irányított beillesztés - képlet), sőt akár villámkitöltéssel is átírhatod.
Sajnos úgy látom, olyan funkciót próbálsz az Excellel képletben megoldani, ami nincs - bármennyire is furának és hiányosságnak tartod.
Vannak a rendszerben szabályok és azok szerint kell használnunk.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz lanszelot #52728 üzenetére
Szia!
"+A1*(aktuális cella tartalma) - jelentése;
Ahol C1 cella értéke 24
+A1*24 -re valtozik a cella értéke
Ahol D1 cella értéke 47
+A1*47 -re valtozik a cella értéke
Stb."
Erre kiváló az irányított beillesztés - szorzás =>ahogyan Delila írta az 52718#-ban. A tartományokat egyszerre is kijelölheted, összefüggőket egérrel simán, a külön-külön levőket egér és Ctrl -al.
DE: Ha változtatod az A1 értékét, akkor ismét meg kell csinálni ugyanezt. (Más kérdés, hogy honnan és hogyan kerül új érték a C1,D1 stb. cellákba előtte.)
Mivel nem írhatsz egy cellába értéket és képletet is egyszerre!!! Ha képlet volt és felülírod értékkel, a képleted elvész. EZ A SZABÁLY!
Az Excel annyit tud, amennyit itt leírtunk neked. Amit képlettel nem lehet megoldani, az makróval még megoldható.
Ennyi! Szerintem engedd el a problémát. Részemről elengedtem.
"Mi van ha valaki dolgozik is vele?"
Tudomásul veszi a rendszer korlátait vagy keres olyan rendszert/programot , amiben megoldható a feladat. Amit leírtál az egyébként nem életszerű, az alapadatokat általában mindenki szereti látni és megőrizni.
Üdv.
Ps. A semmit sem érő munkalapok/sorok teszik lehetővé, hogy megoldd a feladatot, ezek egyébként el is rejthetők a felhasználók elől.[ Szerkesztve ]
-
Fferi50
őstag
-
Fferi50
őstag
válasz gycs02 #52738 üzenetére
Szia!
Az éppen aktuális fájl teljes nevét az ActiveWorkbook.Fullname utasítással tudod elérni, ezt tárolhatod egy változóban is akár.
Az elérési utat a Path, a rövid nevet a Name tulajdoság adja vissza.
Amikor megnyitsz egy fájlt, akkor az lesz az aktív, tehát megnyitás után le tudod kérdezni a tulajdonságait. Nem kell a Cella függvény hozzá, de abból is megkaphatod az értéket:
Range("A1").TEXT utasítás a cellában ténylegesen megjelenő szöveget (nem a képletet!) adja vissza.
A makrók miatti figyelmeztetéseket szerintem úgy tudod elkerülni, ha engedélyezed a makrókat. Ezen felül vagy inkább ezzel együtt a fájlkezelőben a fájl nevén jobb egérgombbal kattintva, a tulajdonságot kiválasztva alul a Biztonság részben bepipálod a Tiltás felodása négyzetet.
Makróból szerintem az okézás nem megy.
Üdv. -
Fferi50
őstag
válasz smallmer #52746 üzenetére
Szia!
Az 1. rész megoldható az alábbiak szerint:
A másik munkalapon a kereső cellába - Adatok - Érvényesítés - lista - kijelölöd az első munkalap első oszlopát.
Ezután mellette vagy alatta FKERES függvénnyel megkapod a hozzá tartozó további értékeket.
A 2. rész szerintem csak makróval oldható meg.
Üdv. -
-
Fferi50
őstag
válasz lanszelot #52755 üzenetére
Szia!
Bocs, a nagy igyekezetemben elírtam, így helyes:CV.Formula = "=" & Replace(CV.TEXT,",",".")& "*A1"
Ezek nem aposztrófok, hanem idézőjelek! A Replace függvény kicseréli a számokban levő magyar formátumú vesszőt pontra, mert a makróban angol formátum kell.
Remélem, így már működik ez is (bár elvileg a másik formának is működni kellene...)
Üdv.[ Szerkesztve ]
Új hozzászólás Aktív témák
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Vírusirtó, Antivirus VPN kulcsok
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen