Hozzászólások
-
SzerzőBejegyzés
-
Szia!
Az Excel 365 ezt már tudja. (kb. fél éve) Biztonság kedvéért most újra kipróbáltam. Tehát ha a tételek bármelyike tartalmazza a leütött betűt vagy betűket, akkor azokra fog szűkíteni a listában.
Korábbi verziók pedig nem tudják, és nem is fogják.
Ja, és az online Excel is tudja.
Imre
365 függvények vannak benne, ezért kérdeztem.
Imre
Nem semmi, mennyi melót beleraktál Verax!
Kíváncsi vagyok Gergő reakciójára.Mindig érdekelt, hogy hogy kell egyedi Ribbon-t készíteni azon túl, hogy az Excel beállításaiban kavarok.
De soha nem szántam erre időt.Te melyik Custom UI (RibbonX) editor-t használod?
Szóval gratula,
Imre
Sziasztok!
Egy kicsit foglalkoztam a problémával, kizárólag a kétszintű legördülő listára koncentrálva, mert a többi dolog nem tűnik nehéznek, és talán meg is oldódott már.
A fő kihívás az, hogy a második táblában sorról sorra kell megjeleníteni a legördülő menüket. Az első oszlop szabálya egyszerű, lehet mindig ugyanaz, ami a gyümölcsök egyedi listája. A második oszlopban viszont feltétel mindig változhat annak függvényében, hogy milyen gyümölcsöt választottak az előző oszlopban.Azért kérdeztem, hogy milyen Excel-t használsz, mert a 365-ben lévő tömbfüggvények, jelen esetben a FILTER (SZŰRŐ) segítségével megoldható a feladat.
Összességében viszont meglehetősen magas szintű dolgokat kellett bevetni:
– Táblázattá alakítás
– Abszolút oszlopcímzés táblázatban
– Tömb függvények: EGYEDI, SORBA.RENDEZ, SZŰRŐ
– Tömb hivatkozás
– OFFSET függvény
– Adatérvényesítési listaszabály tömbhivatkozó formulávalEzek közül nem tudom melyeket ismered.
Az egész megoldást lépésenként leírni meglehetősen hosszú lenne.
Leírás nélkül meg kevés esély van a megértésre, ami kellene az implementációhoz.Javaslom, hogy nézd meg a csatolt munkafüzetet, és jelezz vissza, hogy egyáltalán erre gondoltál-e
Most „csak” felhasználói leírást tudok adni:Első lap
—————
1. Az első lapon lévő tartományt táblázattá alakítottam. Az a neve, hogy „raktar”
2. Ennek előnye, hogy a hozzáadott új sorokat automatikusan felveszi magába, nem kell a hivatkozásokat utólag bővíteni.
Sajátossága, hogy a táblázatra nevekkel lehet hivatkozni
3. A táblázat első oszlopából csináltam egy egyedi listát a harmadik lap (params) első oszlopába egy tömb formulával
Ez a tartomány adja az első lap első oszlopába a legördülő lista szabály forrását (params!$A$1#)
A # azt jelent, hogy az A1-nél kezdődő, bármeddig tartó tömb.
Ezzel az első lap legördülő menüje megvan. Ha új sort akarsz felvenni az első lapon, akkor csak az első szabad sorba kell kattintani a tábla végén, és a listamenüből választani egy elemet.
Ha új elemet akarsz felvenni, akkor csak gépeld be. A szabály megengedi. Ezután az új elem magától meg fog jelenni a params lap első oszlopában és az első lap legördülő listájában is.
Az adagszámot és a mennyiséget kézzel írjátok.A második lap
——————-
Ezt is táblázattá alakítottam, csak az automatikus kiterjedés miatt
1. Az első két oszlopban van a két szintű legördülő lista
2. Az első szint forrása szintén a params lap A oszlopába lévő tömb.
3. A második szint hordozza ugye a fő kihívást.
Ehhez egy másik, speciális „önkarbantartó forrásrendszert kellett építeni tömbképletekkel a params lapra.
Ez a C oszlopban kezdődik, és annyi oszlopa van, ahány egyedi gyümölcsnév van az első lapon.
Az első sorban ezt a listát látod elforgatva, formulával létrehozva. Hivatkozása: $C$1#
A fejléc alatt van egy eléggé összetett hivatkozás, ami dinamikusan listázza a fejlécben lévő gyűmölcshöz tartozó adagszámokat, amelyek még nincsenek selejtezve. Ezt egy SZŰRŐ függvény csinálja. Ebben vannak az abszolút táblázat hivatkozások is)4. A legördülő szabály a 2. szinthez
Ez volt a legnehezebb, mert itt követni kell, hogy az aktuális sorban kiválasztott gyümölcs adagszámait mutassa.
Ehhez ki kell keresni a választott gyümölcsöt a fenti táblázatrendszer fejlécében, majd ettől egyel lejjebb kezdődő tömb lesz a listaszabály forrása.
A formulát az adatérvényesítés szabályában találod. (OFFSET)
De játszogattam vele a params lapon fejlesztés közben is, az L1-ben látod.Majd jelezz vissza, hogy erre gondoltál-e!
Imre
Attachments:
You must be logged in to view attached files.Szia!
Egy kérdés: Milyen verziójú Excel-t használsz?
Imre
Még az is lehet, hogyan a VLOOKUP helyett FKERES kell, vagy a vessző helyett pontos vessző a paraméterek között.
AI? Azt a mindenit!
Hogy magyaráztad el neki, hogy mit szeretnél?
ChatGPT (OpenAI) volt, vagy az Office-on belüli Copilot?
Tehát akkor te nem ismered a fent említett függvényeket…Ezt írtam a B7-be:
=VLOOKUP(B5;hivatkozás!$A:$B;2;0)
Imre
Szia!
Kipróbáltam a B7-be írni egy VLOOKUP-ot.
Nem hibát adott, hanem a képlet maga maradt a cellában.
Ez azért van, mert a cella TEXT formátumra van állítva.Ha VLOOKUP beírása előtt General-ra állítod a típust, akkor jó lesz.
Legalább is nekem jó lett.Imre
Szia!
Én egyáltalán nem értek ehhez, nem is tudok segíteni, de esetleg PowerQuery-vel meg lehetne próbálni a feldolgozást.
Nézted már?Imre
Szia!
Nagyon szuperül definiáltad a feladatot! Ez egy két szintű legördülő listamenü.
A megoldást még 2015-ben publikáltam.https://excel-bazis.hu/tutorial/ketszintu-legordulo-lista-keszitese
Imre
Már ránézésre látszott, hogy ez lesz 🙂
Ha valóban megismerkednél az eszközzel mélyeben, akkor most szerencséd van, mert épp 30%-os akció lesz februárban a videótanfolyamaink oldalán. Itt találsz egy komoly anyagot a PIVOT táblákról.
https://videotanfolyam.pentaschool.hu/Imre
A feladat elsőre is érthető volt nekem, de így még egyértelműbb.
Megerősítem, hogy ez klasszikusan kimutatás (PIVOT tábla) feladat.
Lehet ugyan SZUMHA függvényezni is, de előbbi jobb és egyszerűbb szerintem ebben az esetben.Bármelyiket is választod, egy külön un. report tábla lesz az eredmény, ami kb. úgy néz ki, hogy első oszlopában van a termék ID-k egyedi listája, és mindegyik mellett egy második oszlopban a hozzá tartozó össz. darabszám.
Utánanéztél az általam javasolt megoldásoknak?
Eléggé hosszadalmas lenne így leírni lépésenként, illetve ezzel az egész bloggal és fórummal az a célom, hogy a felmerült kérdéseket az itt kapott iránymutatások alapján az illető önállóan meg tudja oldani, mert abból tanul igazán. Abból kevésbé, hogy lépésenként megkapja, mit csináljon. Tanár vagyok, ez van 🙂
Kivétel lehet ez alól az olyan probléma, ami jóval magasabb szintű ismerettel oldható csak meg. A PIVOT, illetve a te problémád nem ilyen.A PIVOT táblás megoldás kezdeti lépései
1. belekattintasz a táblád bármely cellájába
2. Beszúrás menü -> Kimutatás
3. OK
4. kapsz egy új oldalon bal oldalt egy üres valamit, jobb oldalon pedig a kimutatás összeállításához egy panelt, ahol fel fogod ismerni az oszlopneveket (Kimutatásmezők), illetve négy fehér, üres dobozt.
5. A termék ID mezőt vontasd bele a SOR dobozba. Ezzel megkapod az ID-k egyedi listáját. (Bár ha jól látom akár az Árunevet is odahúzhatod, mert 1:1 megfelelésűek)
6. A teljes készlet mezőt húzd az Érték (Szumma) dobozba és kész vagy
7. Ha az árú nettó összértékét is belehúzod az Érték dobozba, az előző alá, akkor azt is össze fogja adni termékenként, így nem kell szorozgatni az egységárral. Ez akkor ad egy harmadik oszlopot.Imre
Szia!
Első ránézésre ez egy klasszikus PIVOT tábla feladat. Magyar neve kimutatás.
Hegyekben állnak a leírások és videók erről az eszközről.Másik lehetőség a feltételes összegzés lenne (SZUMHA függvény)
Imre
Én is 32 bites verziót használok.
A teljesítmény különbség csak nagy méretű, kalkuláció-intenzív fájlonál jöhet elő.Ha már a függvények ennyire számítanak, akkor miért nem fontolod meg a 365 előfizetést?
21 óta is elég sok újabb függvány van, és lesz is, nem is akármilyenk…Imre
OK. De különben megoldódott az, amit akartál csinálni?
Szia!
Ne haragudj, de vagy én nem értek valamit, vagy te.
Megnéztem a csatolt fájlt. Egy Wiki oldalról behozod a magyarországi települések táblázatát.
Egyértelműen benne van, hogy melyik település milyen kategória és melyik vármegye.Munka1 lapon te H7-ben kiválasztod a várost, amihez CSAK egy típus és CSAK egy vármegye tartozik. Ezt te remekül meg is oldod FKERES-el a mellette lévő 2 cellában.
Nem értem hogy jön ide az INDIREKT?
Azt se, hogy a második táblázatban, ami a H12-nél kezdődik, miért csinálsz 3 legördülő listát akkor, amikor az első a város, amihez nem tartozhat több típus és több vármegye, amiből választani kellene.Ha nem ez lenne a sorrend, akkor már lenne értelme a feladatnak.
Például első oszlopban megyét választani, és a második szinten a legördülő csak azokat a városokat mutassa, amik a kiválasztott megyéhez tartoznak. Ha választasz várost, akkor a harmadik szinten szintén nem kell már legördülő, csak egy sima FKERES.Utóbbi verzióban ez egy 2 szintű, függő legördülő listamenü probléma, amire több lehetséges megoldás létezik.
Kettőről írtam cikket is itt a bázison. Lehet, hogy innen keverted be az INDIREKT-et, mert az egyikben ezzel van megoldva.De hangsúlyozom, a te általad vázolt sorendben nincs értelme, met ha kiválasztasz egy várost, akkor a hozzá tartozó típus csak 1 elemű és a megye is csak 1 elemű, tehát az FKERES elegendő megoldás.
Vagy valamit nem jól értek.
???Különben milyen Excel verziót használsz?
Imre
2024-01-17-01:26 Hozzászólás: [Resolved] Power Query dinamikus adatforrás dinamikus adattítpus #10377Valószínűleg nem értettem meg a problémát teljesen …
Mindenesetre jó hír, ha találtál megoldást.I
Sajnos nem fogsz találni rá varázslatos megoldást. A listából kiválasztott adat ugyanúgy csak egy sima érték, mintha begépelted volna.
Tehát csak cserével (Ctrl-H) tudod megoldani. Ezt lehet munkafüzet szinten is futtatni, tehát minden munkalapon cserélhető Pisti Bélára.Imre
2024-01-16-23:08 Hozzászólás: [Resolved] Power Query dinamikus adatforrás dinamikus adattítpus #10370Szia!
Ha jól értem, akkor a „revenue growth” és a „tax ratepercentage” oszlopok mindig ott vannak, de a többi az változhat.
Én megpróbálnám azt, hogy minden oszlopot először egészre állítanék, és utána explicit módon ezt a kettőt visszaraknám percent-re.Ehhez persze hozzá kell nyúlni a kódhoz. Van egy olyan függvény az M-ban, hogy Table.ColumnNames(#”Előző lépés”)
Ez egy listát állít elő a táblanevekből. Ezt felhasználva betehetsz egy egyedi sort a lépésekhez, ami ennek a listának minden elemét (each) Int64-re állítja= Table.TransformColumnTypes(#"Előző lépés", List.Transform(Table.ColumnNames(#"Changed Type"), each {_, Int64.Type}))
Kipróbáltam.
Nálad is jó?Ez után a két adott nevű oszlopot már szokásos módon átállíthatod egyébre.
Imre
Szia!
A probléma a # hivatkozással, illetve annak értelmezésével van.
A képletben lévő A2# az A2-ben kezdődő teljes tömbre vonatkozik, aminek 3 oszlopa van. Viszont neked ebből csak az első kell.
Tehát a most tanult OSZLOPVÁLASZTÁS lesz a barátod újra. A képletnek csak az elejét írom ide:=HA(SZÁM(XKERES(<strong>OSZLOPVÁLASZTÁS(A2#;1)</strong>;iD;szamvitel))...
Így az XKERES első paramétere az A2-ben kezdődő tömb első oszlopa lesz, és az XKERES-t mindegyikre megcsinálja az ID névtartományban, és az eredmény egy ugyanannyi elemű tömb.
mre
2024-01-05-16:14 Hozzászólás: [Resolved] N-edik találat visszaadása O365 szűrő és oszlopválasztás függvénnyel #10356Szia!
Köszi, hogy megosztottad.
Esetleg érdemes meggondolni, hogy az oszlopválasztás függvénynek ebben a konkrét esetben van-e jelentősége?
Szerintem akkor lenne, ha nem csak egy oszlopot szűrnél, hanem egy tartományt, és az eredmény sorok közül az n-dik előfordulás sorának bizonyos oszlopai. Mintha több n-dik FKERES lenne egymás utánSzóval szerintem most ennyi elég:
=HAHIBA(INDEX(SZŰRŐ(A1:A6;B1:B6=D1);D2);"nincs találat")
Különben az N-dik előfordulást a SZŰRŐ után lehet csinálni INDEX-el, ahogy Te csinálod, vagy SORVÁLASZTÁS-al.
Ha már O365 🙂Imre
Szia!
Nagyon érdekes. Én csak annyit próbáltam, hogy a makróval a vágólapra másolt objektum bele kerül-e a Vágólap applikációba.
Nekem nem került bele. Neked igen?
Ennek ellenére lehet, hogy mégis történik valami, és ez bezavar a makrófutásba.
Mivel ez egy Exceltől és ezért VBA-tól is független applikáció, az én tudásom szerint csak a manuális kikapcsolás jön számításba.
Ennek módját frissítésként beleírtam a szöveges cikkbe, a videó beágyazás előtt találod.
https://excel-bazis.hu/tutorial/a-nem-felejto-windows-vagolapImre
2024-01-01-17:38 Hozzászólás: [Resolved] Kép beillesztése fájlba, választott almappából minden képet #10344Esetleg megosztanád velünk, hogy mi volt a fond, és mi lett a megoldás?
Nem az egész kód, csak a lényeg.
Így tudsz visszasegíteni. 🙂2023-12-29-22:32 Hozzászólás: [Resolved] Kép beillesztése fájlba, választott almappából minden képet #10340Valami miatt nem férek hozzá, a link kattintásakor be akar jelentkeztetni, de nem fogadja el a Microsoft bejelentkezési adataimat. Különben ugyanazzal simán be tudok lépni a OneDrive-ra közvetlenül.
Szóval mi a jelenség? Mi van a képek helyén?
Gondolom a te kódodról beszélsz, tehát ezzel lehet valami gond?
ActiveSheet.Shapes.AddPicture MyPic, msoFalse, msoTrue, x, y, w, h
Helyi gépen nézve megcsinálja? Beilleszti a képeket, azok láthatók, csak Onedrive-on nem jelennek meg?
Ha kézzel teszel be képet, és feltöltöd, akkor látszódik? Ha így látszódik, akkor esetleg vedd fel rögzítővel, és próbáld az használni a makróban.
Milyen Excel verziót használsz?Imre
2023-12-27-23:52 Hozzászólás: [Resolved] Kép beillesztése fájlba, választott almappából minden képet #10338Szia!
Erre a feladatra rekurzív algoritmust szoktak használni, ami saját magát hívja meg, amíg talál alkönytárat.
Ehhez úgy láttam, hogy legtöbbször az FSO objektumot használják.
Én erről az oldalról vettem egy mintát:
https://exceloffthegrid.com/vba-code-loop-files-folder-sub-folders/
A konkrét megoldás:
Using File System Object (FSO) Late Binding – Method #2
Két Sub van benne. Az első csak egy felkészülés, adatok és pozíciók megadása, a második az, ami a rekurzió.
Egy kicsit hozzányúltam, hogy az első sub-ban megadott mappát vegye kiindulásnak, és az aktuális munkalapon az A1-es cellától lefelé, egymás alá listázza a mappa és almappák fájl útvonalait.
Ott nyúltam hozzá ahol magyar kommentet látsz.Sub loopAllSubFolderSelectStartDirectory() Dim FSOLibrary As Object Dim FSOFolder As Object Dim folderName As String 'Set the folder name to a variable folderName = "C:\Users\DELL\Documents\NovoData-Word-Excel\" 'Set the reference to the FSO Library Set FSOLibrary = CreateObject("Scripting.FileSystemObject") 'Az aktuális munkalap A1-es cellájától írja ki a fájlok útvonalait 'Elsőként törli az ott lévő tartalmat Range("A1").Select ActiveCell.CurrentRegion.Clear 'Another Macro must call LoopAllSubFolders Macro to start LoopAllSubFolders FSOLibrary.GetFolder(folderName) End Sub 'Don’t run the following macro, it will be called from the macro above Sub LoopAllSubFolders(FSOFolder As Object) Dim FSOSubFolder As Object Dim FSOFile As Object 'For each subfolder call the macro For Each FSOSubFolder In FSOFolder.subfolders LoopAllSubFolders FSOSubFolder Next 'For each file, print the name For Each FSOFile In FSOFolder.Files 'Insert the actions to be performed on each file 'Az aktuális cellába beírja az aktuális fájl útvonalát 'Majd lép akövetkező sorba ActiveCell.Value = FSOFile.Path ActiveCell.Offset(1, 0).Select Next End Sub
Ha bemásolod egy modulba, majd az első sub-ban megváltoztatod a gyökér mappát, utána futtathatod.
A többi már összerakható az eredeti kódod alapján.Imre
Hűha, de aktívak itt páran karácsony előtt! 🙂
Ha valóban csak 2019-es verziód van, akkor Verax vagy Delila megfoldása lehet jó
Ha esetleg lenne 2021 vagy 365, akkor három (vagy csak kettő) függvénnyel megoldható a probléma.Szóval?
Imre
Szuper!
Ha működik, akkor örülünk!
Szia!
Ugyan nem adtál választ arra, hogy jól tippelem-e a feladatot, de tegyük fel.
Ha nincs, és nem is tudsz szerezni 365-ót, akkor nagy szívás.Illetve ahhoz képest nagy, hogy mennyire egyszerű lenne 365-ben.
Csak ízelítőként, így lehetne átalakítani a borzalmadat normális kinézetűvé.
=CHOOSECOLS(WRAPROWS(TOROW(A3:A272);5);1;2;3)
Makrót biztosan nem írunk.
PowerQuery-s megoldáshoz tudok neked linkeket adni. Kipróbáltam őket, működnek. Az a baj, hogy nem pont ugyanazok, mint a te problémád, ezért kicsit hozzá kell nyúlni. Ha még semmit nem csináltál PQ-vel, akkor ez nem lesz egyszerű
https://radacad.com/convert-flat-list-to-table-in-power-bi-pivot-without-a-set-key-column-using-power-query
https://exceloffthegrid.com/power-query-unstacking-data-in-a-column/
https://gorilla.bi/power-query/transform-stacked-data-into-table/
https://www.thebiccountant.com/2019/02/28/unstacking-columns-in-power-bi-power-query-excel/Ezzel „csak” a halmozott formátum táblázattá alakítása lenne meg, ezután jöhetne a statisztika.
Ha jól értem, akkor csak a befejező időpontot kell vizsgálni, hogy hová esik?Imre
Szia téboly! 🙂
Megnéztem a csatolt Excel-t, de nem vagyok biztos abban, hogy mi a feladat.
Talán azért, mert minta eredményeket (manuálisan) nem írtál bele.Tippem:
Hívjuk a bal oldali ismétlődő blokkokat rekordoknak
Azt kellene megadni a színes részekben, hogy az egyes megadott időintervallumokban hány darab rekord található a bal oldalon?
Tehát pl. a sárga esetén H-P napokon 7:30 és 16h között hány rekord van a bal oldalon?
De mivel a rekordokban kezdő és vég idő van megadva, még az is kérdés, hogy melyiknek kell 7:30 és 16h között lennie? Mindkettőnek?Ha ezt kell csinálni, akkor ebben a formában az adatforrás szinte teljesen alkalmatlan a feldolgozásra.
Kivéve a manuális feldolgozást 🙂Adatforrás
Egy rekordon belül az adatoknak egymás mellett és nem egymás alatt kellene lenniük, így együtt alkotva egy olyan táblázatot, aminek a fejléce így néz ki:
Dátum, Nap, kezdési idő, befejezési időTehát a kötőjellel elválasztott, szövegesen megadott időket külön kell venni kezdő és befejező, valós időre.
A lentebb lévő rekordok tartalmaznak még plusz 2 elemet, amiben mindenhol az van, hogy:
„előírt terv alapján” és az, hogy „nem”
Ezek gondolom kihagyhatók, ami a statisztikát illeti.Átalakítás
Excel 365 függvényekkel elég gyorsan meg lehet csinálni az átalakítást.
Kérdés, hogy milyen verziód van?
Ha nem 365, akkor vagy manuális munka vagy makró, esetleg PowerQuery megoldás marad.Statisztika
A színes részeket meg úgy kellene előkészíteni, hogy a kezdési és befejezési idők külön cellákban legyenek.
Ezeket kell vizsgálni, hogy egy-egy rekord beleesik-e vagy sem. (Miután kiderült, hogy minek kell beleesnie)
Amíg kötőjel van az idők között, az sima szöveg lesz, ami mindenre alkalmatlan.Hát, elsőre ennyi.
Imre
Nagyon helyes, ez a jó irány!
Excel függvénnyel sehogy.
Makrót lehet rá írni.Imre
Szia!
Kicsit attól is függ, hogy Form control-t vagy ActiveX control-t tettél a lapra.
Én Form control-t tennék, ezért ebből indulok ki.Meg abból, hogy akkor valóban megvannak a checkboxok, gondolom hozzáigazítva a cellákhoz, meg van adva a szövegük is
Ezek alkotják az aktuális lapon a CHECKBOXES gyűjteményt.
Máshol nem lehetnek checkbox-ok
Ha ez igaz, akkor kijelölve a tartományt, az alábbi makró megcsinálja, amit szeretnél.Sub Checkbox_link() Dim i As Integer For i = 1 To Selection.Cells.Count ActiveSheet.CheckBoxes(i).LinkedCell = Selection.Cells(i).Address ActiveSheet.CheckBoxes(i).Interior.Color = RGB(255, 255, 255) Next End Sub
Nálam (365) a checkbox-ok alapból átlátszóak, ezért, ha az alatta lévő cellára linkel, akkor a TRUE/FALSE szöveg összeolvad a vezérlő feliratával.
Ezért tettem bele egy sort, ami a vezérlő háttérszínét fehérré teszi, így letakarja a cellát.Imre
Szia!
Az a helyzet, hogy un. egyszerű megoldást nem fogsz találni, ne is keress!
Ez egy meglehetősen összetett probléma, ami láthatóan te is tapasztalsz. Csak pár felvetés:
– egyszer „út” van, máskor „utca”, harmadszorra „u.”
– van szóköz vagy nincsen.
– van pont vagy nincsen
– Vannak más közterület típusok is, mint tér, körút, köz, stb. és ezeknek a verziói
– Lehetséges emelet + ajtó
– stb…Általános szabályként egyedül az mondható el, hogy minden cím esetén a közterület neve (út, utca, stb..) utáni részre van szükséged. Ráadásul az eredeti is kell, de csak a közterületig.
Ezt szövegből oszlopokkal, vagy villámkitöltéssel nem nagyon lehet megoldani.
Egyedüli lehetőség az, hogy egy külön táblába begyűjtöd a lehetséges közterület elnevezéseket, minden lehetséges verzióban, és egy külön cellában (oszlopban) az aktuális sorban ezek mindegyikét keresed. Ha bármelyiket megtalálta, akkor a találattól jobbra kell mindent kivenni, majd egy másik cellába egy másik formulával a kivett rész előtti szöveget kell kivenni. Ez utóbbi már egyszerűbb.
Az első az egy tömbképlet, vagy egy sokszoros elágazás.A megoldáshoz fontos lehet, hogy melyik Excel verziót használod.
Ja, és persze lehet makrózni is.
Imre
Valószínűleg 2 db is elég, próbálgasd!
Na, akkor megint örülünk! 🙂
Próbálj meg mondjuk 5 db „z”-t írni ezekbe a cellákba.
???Imre
Nem ebben a rendszerben alap a reakció egy segítő válaszra, hanem bármelyikben
Egyrészt a válaszadó kap visszajelzést, és ami ennél is fontosabb, hogy a fórum olvasói hitelesítve látják a megoldást, ha vissza van igazolva a kérdező által.Én ilyenkor a témát RESOLVED-ra állítom, így azonnal látszik egy keresőben is pl., hogy ezen a linken megoldás van.
Van egy másik dolog, amit kérnék: Egy kérdés kerüljön egy topic-ba. Ebben a topic-ban kettőt kérdeztél egyszerre, ez nem jó. Látod az egyik megoldódott, a másikat visszük tovább.
Köszönöm.
A maradó kérdésre visszatérve, az utolsó hozzászólásod alapján látom, hogy te azt csinálod, hogy elmented CSV-ben, aztán Exceben nyitod ki, hogy megnézd az eredményt. Ez nem jó így, mert a CSV fájlokat, amennyiben a nyelvi rendszer szerinti elválasztóval vannak tagolva (neked ez pontosvessző), az Excel úgy nyitja meg, hogy rögtön oszlopokra bontja és cellánlént autokonvertálja. Nagy számoknál 11 és 15 karakter között tudományosra, 15 karakter felett pedig még rosszabb a dolog.
Javaslom, hogy ezt olvasd el:
https://excel-bazis.hu/tutorial/15-karakternel-hosszabb-szamok-az-excelbenHa a mentett csv-t jegyzettömbben nyitod ki, akkor abban szerintem jók lesznek a hosszabb számok.
Hacsak nem volt közöttük olyan, ami alapbó hosszabb 15 karakternél.
CSV tartalmat csaj így szabad ellenőrizni, és az a másik rendszer, amely számára előkészíted, az is szövegesen fogja olvasni.A rejtett oszlopok dologra csak az a megoldás, hogy (ahogy fent is írtam) azt a munkalapot átrakod egy új mnukafüzetbe, majd kiveszed a szükségtelen oszlopokat és sorokat (mert van benne bőven), majd jöhet a mentés másként CSV-be.
Ezután már nem kell elmenteni ezt az új munkafüzetet.Imre
Szuper, pipa 🙂
Szia!
A PIVOT táblák esetén valóban előfordul ilyesmi, hogy a page filter vagy a szeletelő olyan tételeket mutat, amik már nincsenek az adatforrásban, de valamikor ot voltak, és hiába frissítesz, ezek ne tűnnek el.
A megoldás a PIVOT tábla beállításaiban (jobb klikk a pivot tábla bármely celláján) az „Adat” fülön található.
Az utolsó előtti opcióban (Mezőnként megőrzendő elemek száma) a legördülőt „Semennyi”-re kell állítani, majd frissíteni a kimutatást.A CSV mentés nálam működik a „Számla” lapról.
Az lényeges, hogy Text formátumú legyen az oszlop, de az nálad rendben van.
1. A lapról csináltam egy másolatot új munkafüzetbe
2. Mentés másként -> CSV (vesszővel tagolt)Ha magyar rendszered van, akkor pontosvesszővel tagolt CSV-t csinál (nekem)
A CSV mentés nem foglalkozik a Táblázattal és az elrejtett oszlopokkal sem.
Mindent kitesz, ami az A1, illetve a Ctrl-End-el elérhető utolsó cella között van.
Nálad ez nagyon máshol van, mint a táblázat vége, és van egy rakás rejtett oszlopod is, amik belekerültek a CSV-be.Imre
P.S
A két korábbi, függőben lévő Topic-ra kérlek, hogy válaszolj, hogy lezárhassam
(Külső hivatkozás és negatív számos kerekítés)Szia!
Azt írja az MS (és mások is), hogy amennyiben a hivatkozott külső fájl a hivatkozóval egy mappában vagy annak almappájában van, akkor a hivatkozás (annak tárolása) relatív lesz automatikusan, akkor is, ha a formulában abszolút cím látszik.
Ha a hivatkozó fájl mappáját és annak almappáját (ha abban van a hivatkozott) áthelyezed másik gépre, másik útvonalra, a frissítés során megtalálja a hivatkozott fájlt és átírja az útvonalat. (Amennyiben engedélyezed a szerkesztést).
Tesztelted ezt már?
A fájlnevet makró nélkül nem lehet dinamizálni (külön cellából venni), mert ahhoz az INDIREKT függvényt kellene használni, ami külső linkeknél nem működik zárt munkafüzetek esetén.
Imre
Különben valóban vannak problémák az informatikában a kerekítéssel, de az ott kezdődik, amikor két rendszer nem azonos kerekítési módszert használ, és összehasonlítva az eredményeket, nem értjük mi okozza a különbséget. Pláne ha tulajdonképpen ugyanaz a rendszer és azon belül két eszköz mutat eltérést.
Pl. az Excel a kereskedői módszert használja, a VBA (ami szintén Excel valahol) a Bankár módszert, és a PowerQuery is, ami szintén benne van az Excelben.
Na, ez már probléma szerintem is.
Hát, haragudhatsz az Excelre, de csak azt a szabályt követi, amit te magad is leírtál pár bejegyzéssel korábban az abszolút értékeknél.
Tágabban fogalmazva a többféle lehetséges kerekítési módszer közül a leginkább elterjedt un. Kereskedői kerekítést használja.
Tehát 0,5-től a nullától elfelé kerekít, alatta pedig a nulla felé.
Így tanultuk a suliban is, nem értem miért vagy most ennyire ki.
A felfelé kerekítés abszolút értékre értendő. Így működik oszt annyi.Te pedig szeretnéd (?), hogy … mit is szeretnél?
Hogy 1,1 től 1,9-ig minden 1 legyen?
Akkor írj egy formulát IF-el és ha a kerekítendő szám >=0, akkor ROUND, különben ROUNDDOWN.Részletesebben akár a Wikin is, de sok sok helyen.
https://hu.wikipedia.org/wiki/Kerek%C3%ADt%C3%A9sImre
De hát a 0,5-öt már felfelé kell kerekíteni. Ezt tanítják az iskolában.
Szerinted nem?
???Szia!
Mondjuk a fenti eredmény valójában 2.
=KEREKÍTÉS(0,5;0)-KEREKÍTÉS(-0,5;0)
Az első eredmény 1, a másodiké -1.
1-(-1)=2
Vagy lemaradtam valahol?
Imre
OK, értem.
Azért még vannak kérdéseim, de ezek igazából részletkérdések.
Ha valakit kitörölnek, akkor a helye üres marad addig, amíg új valakit hozzá nem adnak? Kicsit furi, de csak így tudom elképzelni az eddigiek alapján, ha egy rekordban a rejtett oszlopokat meg akarod tartani. Nem értem, miért ne lehetne az egész sort törölni? A többi sorban megmaradnak a képletek. Főleg, ha csak az aktuális sorra tartalmaznak hivatkozásokat.Ha újat vesz fel, azt a végére írja gondolom, vagy beszúrja, és akkor a formulákat fel kell fedni, hogy az új sorra is le lehessen húzni nem?
Vagy is ezt makró csinálja?Kicsit sántít nekem az elképzelés, de sokszor van ez így, hogy valaki egy konkrét részletre vonatkozó kérdést tesz fel, majd utána „csöpögteti” az információkat, amiből előbb utóbb kiderül, hogy mit is csinálna valójában, és néha az is kiderül, hogy már az elején tervezési hiba van, vagy nem is úgy vannak a valóságban az adatok, ahogy elküldte, stb…
Néha ez nekünk, segítőknek felesleges tornázásba kerül.Imre
Szia!
Ha jól értem, akkor az X-el jelölt sorokban szeretnéd az első 3 oszlopból törölni az adatokat úgy, hogy a sor megmarad, a rejtett oszlopokban lévő képlet is megmarad.
Biztosan kell ehhez makró?
Ha autoszűrővel szűrsz az első oszlopban az X-ekre, majd a 3 oszlop adatait kijelölöd és kitörlöd, az elég hamar megvanEz miért nem jó neked?
Különben hol tartasz makró ügyben? Készítettél már?
Ha ragaszkodnál a makrós megoldáshoz, az is lehetne úgy csinálni, ahogy fent leírtam, meg úgy is, hogy egy ciklus egyesével végigmegy az első oszlop minden cellája, és ha ott egy X-et talál, akkor kijelöli a megadott számú cellát, majd törli a tartalmat és lép a következőre.
Ez utóbbi sok rekord esetén lassabb.Imre
Sajnos ez valóban probléma.
Az én esetemben COUNTIF függvénynél burult ki a bili, hogy nem talált meg valamit, amit meg kellett volna.
Az időértékek tele vannak végtelen tizedestörttel.Különben nem csak az Excel-ben probléma ez, hanem a teljes lebegőpontos számábrázolásban ez a hiba benne van.
Résen kell lenni és kompromisszumokat kötni.
I
Miután válaszoltam, ki is próbáltam 🙂
Ahol 0,01 a difi, az maradni fog a cellában, ha 2 tizedesre formázom.
Ugyanezt adja ha kerekítek 2 tizedesre.De az egy század valós érték, ha összeadod az utolsó 2 oszlopot.
Kérdés, hogy te minek tekinted.
I
Szia!
Igen, problémák vannak az Excellel nagyon nagy, illetve nagyon kicsi számok esetén.
A nagyon kicsit lehet érteni a bármilyen tört egész rész utáni részének.Épp nemrég szívtam ezzel, amikor időértékeket kellett (volna) kezelnem, amik ugyebár másodpercig lemenve igen kicsi és hosszú törtek. Nekem bevált az 5 tizedesre kerekítés.
Ha egy kicsit utánanézel, akkor rengeteg cikk, probléma szól erről a neten.
A Microsoft saját leírása:
https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-resultA te esetedben (ahogy tapasztaltad) nem megoldás a kerekítés, mert valamerre hibás lesz a dolog.
– Egyik lehetőséged, hogy megadsz a szum képletben egy 0-hoz képesti tűrést, és ha azon belül van, akkor nullának tekinted.
– A másik megoldás az Excel beállításaiban lehet:
– Fájl -> Beállítások -> Speciális -> Megkeresed az „Ennek a munkafüzetnek a kalkulálása” részt, és beállítod, hogy
a kalkulációs pontosság a megjelenítéshez igazodjon. Ez adatvesztéssel fog járni, pl. 2 tizedes feletti részeket eldobja.Egészen konkrétan itt van:
https://learn.microsoft.com/en-us/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result#method-2-precision-as-displayed:~:text=Method%202%3A%20Precision%20as%20displayedImre
Nálam nincs hibaüzenet.
Elég kacifántos a dolog, de látom mit csinálsz.
A”Dolgozók napraszűrt” lapon lévő táblázatból képlettel emeled át az értékeket, majd a P6-ba átemeled az A6-ot.
Végül az A5-ben a P6-ot keresed az áthozott táblában. Nálam ez működik.
Az A6-ba bármelyik számot írom a tábla első oszlopából, az A5-be kihozza a nevet.Imre
Szia!
Próbálom értelmezni a kérdést.
A „GYEKMintalap” Q7-ben látok egy FKERES-t, ami #HIÁNYZIK-ot mutat.
Az a baj, hogy ezt mutatja, vagy az a baj, hogy neked nem ezt mutatja? (Lásd a kérdésed első sorát!)Gondolom az a baj, hogy #HIÁNYZIK, hiszen a keresett szöveg (Élhajlítás) benne van a Táblázat15 első oszlopában.
Csak azt mondd meg nekem, hogy miért írtál az FKERES 4. paraméterébe 1-est, ami csak akkor működik pontos egyezőségre (is), ha a keresési oszlop növekvőbe van rendezve. Szerintem oda 0-t akartál írni, ha (ahogy mondod) jól ismered az FKERES függvényt.Imre
2023-10-21-13:07 Hozzászólás: [Resolved] időrendi adatsorhoz tartozó változó adatok megjelenítése #10215Örülök, hogy sikerült! 🙂
2023-10-19-00:38 Hozzászólás: [Resolved] időrendi adatsorhoz tartozó változó adatok megjelenítése #10200Szóval akkor valami olyasmi, hogy van egy dátumod és egy vevőkódod, és ehhez keresed a másik táblában a vevőnevet, amikor a vevőkód ugyanaz, de a dátum a tól-ig dátumok közé esik. Ha nem talál ilyet, mert a dátum nagyobb minden „ig” dátumnál, akkor kell a vevőkód utolsó előfordulása, feltételezve, hogy a névváltások időben növekvően vannak regisztrálva.
Ha ez így van, akkor én kompozit kulcsot használnék.
A bal oldali táblába betennék egy oszlopot, ami összefűzi a vevőkódot a keresett dátummal, mondjuk egy kötőjellel
A jobb oldali táblába az első oszlopba beszúrnék egy olyat, ami a vevőkódot fűzi össze e „tól” dátummal.
A dátumok helyett a dátumsorszámok jelennek meg, de az nem baj.Ezután lehet FKERES (VLOOKUP) a kompozit kulcs alapján, de nem pontos, hanem közelítő egyezésre.
Így ha nem találja az adott dátumot, akkor a legközelebbi kisebbet adja vissza, neked meg pont az kell.Gond lehet, hogy a jobb táblának az új kulcs szerint rendezettnek kell lennie.
Csatoltam.
Imre
Attachments:
You must be logged in to view attached files.2023-10-18-21:45 Hozzászólás: [Resolved] időrendi adatsorhoz tartozó változó adatok megjelenítése #10198Szia!
Milyen verziójú Exceled van?
Jól gondolom-e, hogy praktikusan neked a vevőkód utolsó előfordulása kell?Imre
Szia!
Jó helyen tetted fel a kérdést.
Makróval szinte mindent meg lehet oldani.Körbejárandó kérdések
– A QR kód beolvasása után a kód hová kerül
– Hogyan ugrik fel automatikusan egy ablak a beolvasás után (A kód szerinti megkeresés nem gond)
– A legnagyobb falat lehet az elhelyezés
– Ha te választod ki a helyét a polcokon, az az egyszerűbb, de akkor fejből kell vágd, hogy most hol van hely neki
komolyabb megoldás, hogy mondjuk ki is rajzolja, hogy hol van hely és mekkora.
– Ha a programnak kell eldöntenie, na, az már nagyon komoly kérdés, nem egy egyszerű makrócska.
– A tableten futó Excel verzió képes-e makrókat futtatni (ezt én nem tudom, most nem néztem utána)Mindkét megoldás valójában adatbázis kezelés, de leprogramozható.
Vannak termékek, vannak polcok és van termék mozgás. Termékek méreteitől és súlyától függő elhelyezés, így a polcokon lévő hely is változik, de mindig az aktuálisat kell mutassa.
Emellett van egy megjelenítés az elhelyezéskor, meg esetleg akármikor megnézhető módon
Az első esetben a raktáron lévő termékeket kell nyilvántartani (gondolom lenne mozgás), azt, hogy melyik hol vanSzép feladat. Nem pár napos fejlesztés, inkább pár hetes, mire lehetne próbálni.
Mivel nem sok termék van, akár még Excelben is le lehet programozni.Szerintem.
Imre
2023-10-04-12:11 Hozzászólás: [Resolved] munkalap egy cellája nyomtatási oldalszámának megjelenítése képlettel #10175Szia!
Az Excel nem tud ilyet.
Nincs benne tartalomjegyzék funkció.Különben a végeredmény Excelben marad, vagy PDF lesz, vagy kinyomtatod, vagy mi?
Ha Excelben marad, akkor hiperlinkekkel is lehetne ügyeskedni, akkor nem számít az oldalszám, de egyesével manuálisan kell megcsinálni, vagy makrót írni, hogy az előzetesen valahogy megjelölt cellákhoz készítsen hiperlinkeket.Találtam egy makrós megoldást, ami nem pontosan azt csinálja, amit szeretnél, de kiindulásnak jó lehet:
https://www.mrexcel.com/board/threads/get-the-page-number-containing-the-selected-cell-from-a-sheet-in-excel-2010.710215/
ImreÖrülünk 🙂
Szia!
Ehhez kell csinálnod egy rendező (index) oszlopot, ami csak a hónap és nap részt tartalmazza évszám nélkül, majd a táblát ezen új oszlop szerint rendezni.
Ha mondjuk az „A” oszlopban vannak a dátumok, az A2-től, akkor B1-be az új oszlop nevét írod, mondjuk „index”, és B2-be pedig egy TEXT (SZÖVEG) függvényt.
=SZÖVEG(A2;"hhnn")
Majd ezt másolod az egész oszlopra, végül ezen oszlop szerint rendezed a táblát.Az már izgisebb kérdés, hogy egy adott dátum utániakat sorba rendezni úgy, hogy akik korábbiak, azok ugye növekvő sorban, de a végére kerüljenek a jövő évben.
Kitaláltam valamit. Persze ez is segédoszlop, mert más esély nincsen szerintem.
Kiteszed a bázis dátumot egy külön cellába, ehhez képest akarsz rendezni.
Segédoszlop képlet logika:
Ha a sznap hónap+nap része nagyobb, vagy egyenlő mint a bázis dátum hónap+nap része, akkor DÁTUM (0;hónap;nap)
különben dátum(1;hónap;nap)Ezután rendezed a táblát a segédoszlop szerint
A segédoszlopba 1900 vagy 1901-es dátumok kerülnek. A hónap/nap rész u.a, mit az eredeti szülinapoké.Tehát a korábbi hónap+nap-os dátumok év részéhez egyet hozzáad, ezzel a jövő évre kerülnek.
Kipróbáltam, működik!Most angolon áll az Excelem, nem állítom ezért vissza, de ez lett:
=IF(DATE(0;MONTH(A2);DAY(A2))>=DATE(0;MONTH($D$1);DAY($D$1));DATE(0;MONTH(A2);DAY(A2));DATE(1;MONTH(A2);DAY(A2)))
D1-ben van a bázis dátum, akár a Ma() függvény.
Imre
Szia!
Hát, nem semmi! Igazából horrorisztikus! 🙂 Gratulálok!!!
Azért jó, hogy bejöttek az új függvények!Köszi a megosztást!
Imre
Szia!
Nem hinném, hogy ezt 2010-ben meg lehetne csinálni, bár én sehol nem vagyok a legnagyobb formula gyártókhoz képest.
Nincs is elég pontosan definiálva a feladat.– Szókülönbséget szeretnél-e vagy bármilyen különbséget?
– Ha igen, akkor több szó eltérés is lehet-e, és akkor sorolja fel mindegyiket, ami nincs a másikban?
– Mindig azt néznéd-e, hogy A2-ben mi nem szerepel A1-ből, vagy fordítva is?Ezek csak teoretikus kérdések, mert megoldást nem nagyon tudok egy formulában.
Ha szókülönbséget néznél, akkor ugye az merül fel, hogy mindkét cellát a szóköz mentén szét kellene szedni, majd a két tömböt lehetne összehasonlítani.
Újabb, 365-ös függvényekkel meg lehetne csinálni a szókülönbséget.
Itt van például az, ami listázza azokat a szavakat, amik A1-ben benne vannak, de B1-ben nincsenek:
=FILTER(TEXTSPLIT(A1;" ");ISERROR(MATCH(TEXTSPLIT(A1;" ");TEXTSPLIT(B1;" ");0)))
Itt a FILTER és a TEXTPLIT az újdonság.
Imre
Szia!
Nem tudom, aktuális-e még, bár nem azért írok, mert tudom a megoldást, hanem azért, mert nem teljesen világos a folyamat.
Nem értem mi lehet az elején az, hogy „futtatom az Fkeresést…”Ahogy én tippelem:
1. Van egy Excel fájl, amit desktop Excelben kinyitsz
2. Ebben használsz egy vagy több FKERES függvényt
3. Az egyik FKERES url címeket hoz be valahonnan? Vagy az url címek az alap Excelben már benne vannak?
4. Az Excelben az Url-ek kattinthatók és bejön a kívánt oldal vagy bármi is az, amire mutat
5. Az egész táblát url-ekkel együtt bemásolod egy Google sheet-be
– Értékként vagy függvénnyel együtt?
6. A Googel sheets-ben a bemásolt url-ek kattinthatók, de DNS hibaüzenetet adnak.
7. Google sheets-be felmásolva az FKEES-es Excel-t, a linkek működnek.
8. Ha ezt utána letöltöd és Excellel megnyitod, nem jó a link.Hát kicsit elvesztem.
Excelből indulsz, ahol működik a link és Excelbe érkezel a letöltés után, ahol már nem?valószínűleg nem értek mindent a folyamattal kapcsolatban, mindenesetre furcas a jelenség, bármi is legyen az.
Gondolom már keresgettél sokat a témában.
A hibaüzenet azt jelenti, hogy az url-ben lévő domain nevet nem találja a DNS-ben.
De gondolom elé azt is kiírja, hogy a webhely nem található…Olyan, mintha az url szövege romlana el másolgatás közben.
Fogalmam sincs így messziről…
Imre
A 2021 sem tudja még azokat a függvényeket.
De tyuhajja, az a másik valóban működik.Iszonyú agyafúrt, irigylem, aki ilyet kitalál.
Félig értem is 🙂Örülök, hogy megoldódott.
Szia!
Ez egy valós probléma, vagy egy kihívás?
Sok érdekességet láttam már, ez a súlyosabbak közé tartozik 🙂Szóval a megoldás, amit kaptál, kikerestél, 365 függvényeket használ, amik a 2019-ben nincsenek benne. (MAP, TEXTSPLIT, LAMBDA)
Egy darab összegző függvénnyel, legyen az összetett kifejezés, 2019-ben nem tudok megoldást javasolni sajnos.
Ez nem jelenti azt, hogy nincs, de a pár rákeresés alapján én nem találtam olyat.A problémát az okozza, hogy az egy cellában lévőket szét kellene dobni kettőbe, ráadásul egymás alá, azaz új sorokat kellene csinálni nekik, amire az Excel nem képes.
A 365-ös megoldás dinamikus tömbbe rendezi valahogy az egész oszlopot, miközben az egyben lévő adatokat is szétdobja (TextSplit). Nem elemeztemTöbb lépésből álló statikus szerencsétlenkedés után össze lehet hozni valamit talán.
Viszont PowerQuery-ben szerintem össze lehet hozni a dolgot.
Egy ilyen megoldás is érdekes lehet?Imre
2023-09-07-16:04 Hozzászólás: [Resolved] Excel munkalap adatok másolása, többszörözése másik munkalapra #10115Örülök, hogy megoldódott.
Köszönöm, hogy megosztottad.
Ja, és Verax-nak is köszönöm 🙂
Itt is szokott néha előfordulni.Imre
2023-09-03-00:24 Hozzászólás: [Resolved] Excel munkalap adatok másolása, többszörözése másik munkalapra #10111Szia!
Azt hiszem, hogy értem a feladatot.
Nem nagyon bonyolult, de nem is nagyon egyszerű a feladat. Nézőpont és tapasztalat kérdése.
1-2 óra alatt teszteléssel együtt valószínűleg megoldható valakinek, aki le tudja programozni.Az a kérdésem, hogy mennyire értesz a makró programozáshoz, illetve a programozáshoz úgy általában?
Szóval próbáltál írni rá valamit, vagy csak szeretnéd, ha valaki megcsinálná neked?
Imre
Szia!
Köszi a témát!
Egy pici magyarázatot fűznék hozzá, ha valaki nem ismerős ezekben az újabb függvényekben:
1. A VÉLETLENTÖMB (RANDARRAY) létrehoz egy 1000 elemű, 1 oszlopos, 2 és 11 közötti véletlen egész számokból álló tömböt
2. Az EGYEDI (UNIQUE) ezekből kiveszi az ismétlődéseket, marad ki tudja mennyi
3. Az ÁTHELYEZ (TAKE) az egyediekből kivesz az első 4-et.A téma kimaxolásához javaslom ezt az olvasmányt:
https://www.ablebits.com/office-addins-blog/generate-random-numbers-excel-no-repeats/Hát az egész téma nem egyszerű, de hátha találsz egyszerűbbet közöttük.
Imre
Szerintem meg így vagy előrébb, de majd meglátod.
Örülök, hogy sikerült!
🙂Szia!
Ezzel a gondolatmenettel nem, vagy csak nagyon bonyolultan juthatsz a megoldáshoz.
Amit az ember az agyával simán meg tud csinálni, azt egy gép esetén másképp kell.Egy termékre van beszerzés és értékesítés.
Az aktuális raktárkészlet az adott termék össz beszerzési darabszáma, mínusz az össz értékesítési darabszáma.Ha igaz az, hogy a raktárkészlet lapon minden termék csak egyszer van, akkor az ott szereplő beszerzett mennyiségből kell kivonni az értékesítés lapon lévő eladott darabszámot ugyanarra a belső kódú termékre.
Ez egy sima SZUMHA függvénnyel oldható meg.
Tehát a raktárkészlet lap H oszlopába jön egy képlet, ami minden sorra megcsinálja a következőt=Beszerzett mennyiség – SZUMHA(eladás lap B oszlop; belső kód; eladás lap C oszlop)
Ahogy látod, arra megyek, hogy te csináld meg önállóan, ne csak dobjak ide egy kész képletet.
Mármint ha vevő vagy erre a módszerre 🙂Próbáld meg, és jelezd, hogy mi lett
Imre
Szia!
A makrós algoritmus jó, amit írtál.
De mielőtt nekiállsz te vagy valaki leprogramozni, próbáld ki azt a folyamatot:
Fejléc mintha ott sem lenne.1. Jelöld ki az egészet a fejléc nélkül
2. Ctrl-C
3. Egy másik helyre elforgatva illeszd be (Traszponálás)
4. A kapott 80 oszlopos és 42 soros tábla végére tegyél egy új oszlopot, amiben az első 21 sort beszámozod 1-21-ig, majd ezt megismétled a második 21 sorra. Így tehát, mindegyik sorszám kétszer lesz.
5. Ezután rendezd az egészet az új sorszám oszlop szerint (az első sor nem fejléc)
Az egyforma sorszámok egymás alá kerülnek, ráadásul a jósorrendbenKipróbálod?
Imre
Szia!
Valami történt a bejegyzés szerkesztővel egy legutóbbi frissítés után, meg kell majd néznem….
Szóval, köszi a kérdést és a megoldást is!
Bocs a kérdésért, de érted is, hogy mit csinál, vagy csak megtaláltad, működik, és örülünk?Egy kicsit lehet egyszerűsíteni és egyben némi magyarázat:
=BAL(A1;SZÖVEG.KERES("^";HELYETTE(A1;" ";"^";3))-1)
Az a taktika, hogy a HELYETEE függvénnyel kicseréli a szóköz harmadik előfordulását valami olyanra, ami biztosan nem fog előfordulni a szövegben. A megoldás a kalap karaktert választotta.
Ebből tehát csak egy lesz ezután, így könnyű rákeresni, hogy hol van, ezt csinálja a SZÖVEG.KERES és a SZÖVEG.TALÁL is.Ha megvan ez a karakter, akkor balról kell kivenni annyi -1 karaktert.
Imre
Ha magyar Excelt használsz, akkor a 24,6-ot (tizedes vesszővel) biztosan nem konvertálja dátumra.
Ha pont van, akkor igen. (24.6)
Ez is főleg akkor történik, ha te írod be, vagy egy letöltött, elsősorban CSV fájlt nyitsz meg.Ezek az információk pontosításra szorulnak, de én a CSV verzióra gyanakszom leginkább.
???Imre
Igen, egy feltételes vizsgálatot, azaz egy if-et kell beleírni.
Mielőtt eggyel növeled, megvizsgálod, hogy most egyenlő-e valamelyik szélső értékkel.
Ha igen, akkor a kezdő értéket írod bele, különben növeled eggyel.Kicsit konkrétabban:
Ha A10=12 akkor A10=1
Különben A10=A10+1Lefelé hasonlóan.
Szándékosan nem írom le VBA-ban konkrétan, hátha előfordul, hogy a számtalan VBA kód alapján, amiket eddig már beletettél,
vagy kis utánajárás alapján sikerül önállóan megcsinálnod.tanár vagyok 🙂
Imre
Ha jól értem, akkor YTD értéket akarsz számolni, azaz az év elejétől az aktuális napig.
Nem írtad le, hogy milyen számítás, ezért feltételezem, hogy összegzés.
Ha csak ezévi adatod van, akkor ez egy egy feltételen alapuló összegzés, azaz SZUMHA függvény.A feltétel az, hogy a dátum legyen kisebb, vagy egyenlő, mint a mai nap.
Valami ilyesmi:=SZUMHA(Dátum tartomány;"<="&ma();Összegzendő tartomány)
Imre
Szia!
Ehhez (sem) kell makró, ahogy Delila is sugallta.
A csatolás az a hyperlink akar lenni.Ha megvan, hogy melyik cellánál kezdődik a következő oldal, akkor csak ennyi a teendő, ha szép, gombnak tűnő dologgal akarod megoldani:
1. Az alakzatok menüből választasz mondjuk egy lekerekített téglalapot, megrajzolod.
2. Megadod a szövegét, megformázol rajta mindent
3. Jobb klikk -> Csatolás (Link)
4. Dokumentum adott pontja
5. Itt kiválasztod, hogy melyik cellához ugorjon.Imre
Szia!
Nagyon egyetértek Delilával.
Az üres cellák alapból jól láthatók, és ha még ki is emeled, akkor pláne.
Ez csak 18 oszlop.Nem gondolom, hogy makróval, inputbox-al kitöltetni egyenként jobb felhasználói élményt ad, mint csak simán beleírni az üres cellába. Most vagy később.
Gondolj bele, hogy ha éppen nem akarja kitölteni, akkor kimásolod az üreseket tartalmazó sorokat. Ez eddig OK.
Majd ha csak ezeket kitöltötte (szintén inputbox-os makróval?), akkor mihez kezdesz ezekkel?
Visszatennéd az eredeti tábla soraiba? Ehhez még azt is meg kellene jegyezni, hogy melyik volt az eredeti sorszám.Szóval megcsinálható, de annyi infó alapján, amit adtál, nem sok értelme van.
Imre
Pár éve készítettem egy videót, hogy PIVOT tábla felhasználásával hogyan kell UNPIVOT-ot csinálni.
Ezt találtad?
https://www.youtube.com/watch?v=ylb6hdzTfJgHa igen, akkor felfedezted az ExcelBázis youtube csatornáját. (Azaz az enyémet 🙂
Ennek módszernek az utolsó lépése statikus, tehát nem fog magától frissíteni.
Azóta már az Excelben megjelent a PowerQuery, amiben van beépített UNPIVOT, és ez viszont frissít, ha aza adatforrása táblázattá van alakítva.
Imre
Azt úgy kell megcsinálni, ahogy leírtam.
Ebben tettél előrelépést azzal, hogy a 0-1-2 lépést megcsináltad valahogy.
Innentől nehezedik a pálya. 🙂
A 3. lépésben azt kell megcsinálni, hogy a rossz/jó szövegeket összefűzni a kérdés sorszámával, így jelölve, hogy az adott jó vagy rossz válasz melyik kérdéshez tartozik.
Ezt a & operátorral lehet leggyorsabban megcsinálni.
Az utolsó, próba2 fájlban ez a G oszlopba kerül. =F oszlop& B oszlop
Ezzel az lesz, hogy pl. az G oszlopban az első kérdés soraiban ez lesz:
– rossz1
– jó1
– rossz1A 4. lépésben a H oszlopban azt kellene elérni, hogy egy kérdésen belül sorszámozzuk a jó/rosszx válaszokat.
Ez a legnehezebb pontja a bulinak.
Az a cél, hogy a sorszámozott csoportokon belül a rossz válaszok sorszámozását elölről kezdje mindig.
Erről készítettem egy videót pár éve.
https://www.youtube.com/watch?v=IwK60ek2WcE
Ha sikerül, akkor pl. a rossz1 első előfordulásához 1-et, a második előfordulásához 2-t fog adni, majd megy tovább a következő sorszámra.Az 5. lépésben az I oszlopba létrehozzuk az előző oszlopok felhasználásával a jó1, illetve a Rossz1..Rossz2…stb szövegeket csoportonként.
Ehhez megint csak össze kell fűzni, tehát:
=F oszlop & I oszlop
Eredményként az 1. csoportban ezek lesznek:
– rossz1
– jó1
– rossz2Ha idáig megvagy, akkor a tábla potenciálisan alkalmas arr, hogy az utolsó lépéseket PowerQuery-ben megcsináld.
Hát, én nem látom közelinek az áttörést. 🙂
Látom, hogy csináltál egy PIVOT táblát, de abba nem tetted bele az eredeti tábla fejlécét, így az első adatsort hiszi fejlécnek.PIVOT-al amegkapható eredmény nem az lesz, minta mit az előző fájlban megadtál mintaként, de talán használható úgy is, ezt te tudod.
A PIVOT táblát táblázatos elrendezésbe a Tervezés szalag Elrendezés menüjében lehet tenni.
OK, akkor függvénnyel nem fog menni.
Marad a makró vagy a PowerQuery.Én utóbbiban csinálnám.
UNPIVOT-olni kell az eredeti táblát, így kapsz egy 3 oszlopos táblát:
– Termék
– Ország
– Ár.Az oszlopokat már tudod szűrni.
Imre
Szűrsz a zödekre és a megmaradó sorok első cellájába beírod, hogy „jó”
Ezután még mindig szűrt állapotban lehúzod az aljáig.Ha a szűrést ezután feloldod, akkor csak a zöld sorokban lesz a „jó” szöveg.
Imre
Szia!
Egy kicsit mókolni kellett vele, de sikerült kitalálnom egy folyamatot, amivel az általad küldött minta alapján gyorsan megoldható.
A végső, lényeges lépéshez kellett a PowerQuery is.Kb így néz ki a folyamat:
0. Cellaegyesítést megszüntetni, majd kitölteni az üreseket a felette lévővel, az „A,B,C..” oszlopot törölni
1. Zöldekre szűrés és új oszlopba lehúzni, hogy „jó”
2. szűrni az új oszlop szerint az üresekre, és lehúzni oda, hogy „rossz”
3. Egy új oszlopba Összefűzni a sorszám és az előzőleg kitöltött oszlopot
4. Újabb oszlopban képlettel sorszámozni csoportonklént elölről kezdve a jó és rossz értékeket
5. Újabb oszlopban összefűzni ajó/rossz oszlopot az előzőleg megcsinált sorszámmal csak a rossz sorokban
6. PowerQuery-be importálni az eddigieket
7. Az utoljára megcsinált oszlop forgatása fejlécbe
8. Sorok rendezése
9. Jó válaszok oszlopának előre mozgatása
10 betöltésHa a valós adatfdorrás ugyanilyen, akkor 5-10 perc alatt megvan.
Imre
Szia!
Jól értem, hogy eredményként egy sort szeretnél, amiben két oszlop van?
Egyik a a kiválasztott termék, a másik a kiválasztott partner?
Sorokra szűrni OK, oszlopokra szűrni meg alapból nem nagyon lehet, de szerintem lenne menekülő út a makró előtt, ha esetleg 365 verziót használsz. Ott nemrég megjelentek újabb függvények, amivel meg lehet ezt csinálni.Ja, és tölts fel valami mintát is, hogy ne nekünk kelljen előállítani!
Köszi,
Imre
Szia!
Ezt a munkalap védelmével lehet elérni. A diagramoknak is van zárolt tulajdonsága, ami alapból be van kapcsolva
Ha a cellákat különben nem akarod védeni, akkor azoknak a zárolt tulajdonságát kikapcsolhatod.Imre
1. Kijelölöd a tartományt
2. begépeled a szöveget, ami az első cellában fog megjelenni
3. Ctrl+Enter-rel zárod leImre
Szia!
Táblázattá alakított tartomány fejléce nem tartalmazhat képletet, csak értéket.
Ez van.Lehetséges barkácsolások
– A táblázat fejléce felett egy árnyék fejlécet használsz, amiben lehetnek képletek, és a rendes fejléc sort elrejted.
A táblázat saját szalagján ezt meg lehet csinálni, csak egy pipa
Ennek csak optikai jelentősége van, nem fog fejlécként viselkedni, nem lehet autoszűrőt használni pl.– Eseménykezelő makró módosítja a fejléc celláit és értékként írja be
Ez szerintem túl „sokba kerül”. PL. meg kell tanulni, megcsinálni, kipróbálni, stb…– Nem használsz táblázatot.
Imre
Boldogság ! 🙂
Én az irodai gépemen néztem, amin történetesen 2019-es Excel van.
Most megnéztem, a forrásban xlsm fájlok vannak (a többi mellett)Nem számoltam meg, hogy összesen hány fájl van a mapparendszerben, de az biztos, hogy 97-et látott.
Ebből 43 db xlsm. (van közöttük egy csomó hullámjellel kezdődő nevű)Én nem tudok többet hozzátenni ehhez attól tartok…
Szia!
Csatlakoztam a fő mappához és nekem 97 sort olvasott be, azaz ennyi fájlt talált.
Nem tudok limitrőlAlapból minden fájlt beolvas, utána, az editorban tudod szűrni, hogy csak Excel fájlokat dolgozzon fel.
Nem tudom, hogy mi történik nálad.Másik gépen próbáltad?
Imre
Szia!
Én nem tudok ilyen limitről, és egy gyors keresgélés után a neten sem találtam.
Olyanról viszont tudok, hogy az útvonal egy fájlhoz nem lehet akármilyen hosszú.
Olyasmi rémlik, hogy Windows-ban 256 vagy 260 karakter a max.Nem lehet, hogy ez a baj?
Ha újat adsz valamelyik mappába, akkor azt hozzáfűzi az eredményhez?
Az összefűzést egyszer jól megcsinálja, de nem frissül, ha új fájlt teszel valamelyik mappába?
Szia!
Lehet erre VBA programot írni persze.
De én inkább a PowerQuery-t javaslom. Sokkal hamarabb megvan a fejlesztés ezzel.
Ismered?Imre
Szia!
Gondolom átkattintással hoztad létre a hivatkozást.
Amit bemásoltál, akkor van, ha a hivatkozott munkafüzet meg van nyitva.
Ez így elvileg nem adhat #HIV hibaüzenetet, ha a hivatkozott fájlt nem nevezted át közben.Kérdéses, hogy a hivatkozott fájl (vagy akár mindkét fájl) hol van fizikailag? A saját gépeden, vagy a hálózaton esetleg?
Ha hálózaton, akkor ez okozhat problémát.Javasolnék egy tesztet, hogy mi van akkor, ha mindkét fájl a te gépeden van. Szerintem akkor nem lesz hiba.
Ha esetleg ez lenne a helyzet, akkor a hellyel lehet baj. Én még nem találkoztam ezzel, de amikor rákerestem, akkor találtam egy ilyet, ami pont ate problémádat írja le az elején.
https://superuser.com/questions/629514/excel-linked-data-formula-turns-to-ref-upon-opening-workbookMegoldásként a Biztonsági központban javasolnak beállítást
Imre
Szia!
Csak sejtem, hogy mit szeretnél.
Az új oszlop jelenjen meg a másik lapon is, és abban legyenek benne a hivatkozások az előző lap most beszúrt oszlopának celláira, miközben a többi hivatkozás is működik.Ha ezt akarod, akkor ez nem fog menni olyan egyszerűen.
Mivel az oszlop beszúrás arrébb mozgatja az eredeti oszlopokat, a rájuk történő hivatkozások is megváltoznak. Ami eddig =MUNKA1!C1 volt, az innentől MUNKA1!D1 lesz. Az új C oszlopra pedig nem hivatkozik semmi. Tehát az Excel pont hogy leköveti, amit csináltál.Ha jól értem, akkor te azt szeretnéd, hogy a Munka2 C1-ben lévő képlet mindig a MUNKA1 C1-re mutasson, akkor is, ha MUNKA1-re beszúrsz a C oszlop elé egy új oszlopot.
Ilyen formulát ugyan lehetséges lenne készíteni (azt hiszem), de használni kellene benne az INDIREKT függvényt, ami 1000×1000 cellán fájdalmasan lassú lenne valószínűleg.
Ezért jobb híján, első lépésként használd Delila tanácsát, mindkét lapra szúrd be ugyanoda az oszlopot, majd a második munkalapon tedd bele a képletet, ami az első lap üres oszlopának celláit címzi.
Imre
Sziasztok!
Ez valójában egy szűrési feladat.
Ha 365-öt használsz, akkor a SZŰRŐ függvény lehet a barátod.
Ha korábbi verziót, akkor marad Delila makrója.Imre
Hoppá 🙂
Néhány gondolat:Én úgy csinálnám, hogy egy külön makrós fájlba tenném a vezérlést.
Ez azt jelenti, hogy ott van a makró és a munkatársak törzs adatai az email címükkel együtt.
Egy másik fájlban pedig a kérdőív sablon formában (üresen)A makró az elején megnyitja a kérdőív sablont, majd egy ciklussal végigmegy a munkatársi törzstáblán.
Minden cikluskörben
– kitölti a kérdőív elejét az adatokkal
– elmenti
– elküld egy levelet az aktuális munkatársnak, amibe becsatolja az elmentett kérdőívetAz email szövegét is előre le lehet tenni egy cellába a makrós munkafüzetben, de bele is lehet drótozni a kódba.
Javaslom, hogy sima text legyen, ne HTML, akkor kevesebb gondod lesz.
A megszólítást meg veheti a munkatársi törzstáblából megint.Hajrá!
Imre
Szia!
Ez csak makróval automatizálható.
Tudsz programozni Excelben?Imre
Próbáld ki 🙂
Szia!
Visszatöltöttem a fájlt.
Megoldás
36-37. sorban lévő képletek.Magyarázat
Az Excel nem dolgozik negatív dátumokkal. Esetleg úgy, ha átállítod 1904-es dátum formátumra, amit nem javaslok.De ha a perc értékeket átalakítod időre, majd szövegre, akkor jó lehet.
A) Egy perc értéket idő értékre (a megfelelő törtre) lehet alakítani, ha elosztjuk 24-el, majd 60-al.
Ezt szöveggé alakítjuk a SZÖVEG függvénnyel. Ha negatív a perc, akkor az abszolút értékével dolgozunk, és eléfűzzük a mínusz jelet.
=HA(B34>=0;SZÖVEG(B34/24/60;"óó:pp");"-"&SZÖVEG(ABS(B34)/24/60;"óó:pp"))
Másik megoldás, amit te próbáltál, hogy az osztogatás helyett az IDŐ függvényt használod, és a többi ugyanaz.
Itt az a trükk, hogy az IDŐ függvény perc része lehet nagyobb, mint 60.
=HA(B34>=0;SZÖVEG(IDŐ(0;B34;0);"óó:pp");"-"&SZÖVEG(IDŐ(0;ABS(B34);0);"óó:pp"))
Imre
Attachments:
You must be logged in to view attached files.Örülünk 🙂
-
SzerzőBejegyzés