- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- Luck Dragon: Asszociációs játék. :)
- [K2]: A vagyonvédelmi rendszerszerelővé válás rögös útja
- droidic: A Coffee Lake titkos nyolcmagos processzora – CC150
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Samsung Galaxy S24 FE - tapasztalatok
- Argos: PH!arckép
- weiss: Pant* rant
- sziku69: Szólánc.
-
LOGOUT
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
-
p5quser
tag
Sziasztok!
Hogyan kaphatnám meg az E1 cellában lévő "C" értéket, ha a D1-ben lévő dátumot választom ki?
A D1-hez legközelebb eső kisebb érték kéne, de kimaradhatnak napok és a sorrend sem mindig egyezik. A dátumok számként vannak rögzítve.
Előre is köszönöm! -
3DFan
aktív tag
válasz
Fferi50 #53196 üzenetére
Szia!
Nem tudtam, hogy tömbképlet, nem látni kapcsos zárójeleket a képleteden. Az újabb verziók már nem használják? 2016-os verzióm van.
A tömbös zárásssl sem működik, sőt. Úgy maradt a képlet a cellában mintha F2-vel szerkeszteném, de közben már kiléptem a cellából. Furcsa.
Korábban ilyet nem csinált a program. -
Fferi50
Topikgazda
Szia!
Azért nem sikerült, mert nem szám van az oszlopban, így nem tudja összeadni a SZUMHATÖBB függvény.
A feltételeket figyelembe véve az alábbi függvényt lehet használni:
I3 cella képlete:=INDEX(INDEX($D$1:$F$28;0;HOL.VAN(K2;$D$4:$F$4;0));MAX(($A$7:$A$28<=I$2)*($B$7:B28>=I2)*($C$7:$C$28=J2)*SOR($A$7:$A$28)))
A belső INDEX függvényt mindig az első sortól kell indítani, mert a MAX függvény eredménye annak a sornak a száma, ahol a feltételeknek megfelelő érték szerepel.
A belső INDEX függvény meghatározza a külső INDEX függvény számára, melyik oszlopból kell kivenni az értéket, a MAX függvény pedig megadja a sornak a számát.
A táblában csak a fontos bejegyzések vannak.
Ezt a képletet használhatod a számokat tartalmazó táblázatokra is.
Üdv. -
Fferi50
Topikgazda
Szia!
Az egyéni számforma legyen:# ##0,##" mm"
Utána állíts be feltételes formázást a tartományra a kijelése után:
Feltételes formázás - új szabály - a formázandó cellák kijelölése képlettel:
A képlet: =A1-INT(A1)=0 - ide a tartományod első cellájának címét írd.
A formátum: Számformátum - egyéni :# ##0" mm"
majd elfogadod.
Ekkor az egész számok tizedesvessző nélkül fognak megjelenni, mert a feltételes formázás felülírja az általános formázást.
Üdv. -
3DFan
aktív tag
válasz
Fferi50 #53130 üzenetére
Szia!
Próbáltam alkalmazni a képletedet egy másik táblázatra is, remekül működik, csak a Normál oszlopból nem ad vissza helyes eredményt, csak nullát.
Ha csak számot írok oda, akkor azt visszaadja.
Tudsz rá megoldást?
Az oszlop adatai szétszedhetők két oszlopba.
Köszönettel. [kép] -
3DFan
aktív tag
Sziasztok!
Cellát szeretnék egyéni formázni úgy, hogy az érték után megjelenjen a "mm". Egy -két tizedesre végződő ill. egész számok kerülnének a cellába.
Vagy felesleges nulla marad ott, vagy a tizedesvessző..
0 és # használatával nem megy. Köszönettel. -
bomizo
csendes tag
Sziasztok!
Segítséget kérnék az alábbi probléma megoldásában:
Adott egy dinamikusan változó (mindig bővülő) lista (A oszlop), mely ismétléseket tartalmaz:
A oszlop
alma
alma
körte
alma
körte
Hogy lehet ebből egy legördülő listát létrehozni úgy, hogy a duplázódásokat kiszűrjem, azaz a legördülő lista csak alma, és körte elemeket tartalmazzon. (illetve ha a lista kibővül új elemmel, akkor abból is csak egyet hozzon?)
(irányított szűrő esetén, ha az A oszlopot változtatom, újra létre kell hoznom az irányított szűrőt, ezt szeretném elkerülni, azaz ha változik az A oszlop, változik a legördülő lista is) Makró nélküli megoldás érdekelne.
Köszönöm! -
Llew
senior tag
Sziasztok!
Kernék egy kis segítseget.
Van egy tablazat aminek az első oszlopaiban terméke ill annak arai vannak megadva.
Mellette x oszlopban az hogy adott alkalommal adott termekből mennyi lett rendelve. A rendelesi oszlopok tetejen pedig egy képlettel egy előre meghatarozott keretösszegből a rendelesek alapjan visszamaradó es még elkölthető összeget számolja.Tehet egy ilyen keplet
=[keretösszeg]-(($1.termekara*darabszam)+($2.termekara*darabszam)+...)Eddig ez jól is működött, de most bővült a termeke szama es abba a problemaba ütköztem, hogy 130 sornal hosszabb a tablazat és ezt mar a keplet nem kezeli. 130-ig jo a keplet, újab sor hozzadasanal inaktiv lesz.
Hogy lehet ezt megoldani?
-
Fferi50
Topikgazda
válasz
föccer #53182 üzenetére
Szia!
Ha policy, akkor azt a rendszergazda meg kellene mondja, hogy mennyi inaktívitás után dobja a hálózat a kapcsolatot.
Csak 1 ötlet. Mi lenne, ha időnként egy pár karakteres fájlt írna ki a hálózati meghajtóra.
[link] itt van a közvetlen fájlkezelésre vonatkozó help.
Ezzel legalább tesztelni lehetne azt is, hogy mennyi az időtolerancia, ha másként nem derülne ki.
Pl:Sub kiir()
Dim MyStr As String
MyStr = "A" & Time$
Open "TESTFILE" For Output As #1
Print #1, MyStr
Close #1
End Sub
Üdv. -
föccer
nagyúr
válasz
Fferi50 #53181 üzenetére
Hálózatról nyitom meg és önmagában fut. Ebben az eljárásban nem nyit meg más fájlokat.
Viszont ha nem dolgozom a gépen, csak hagyom számolni, akkor lecsatlakozik a hálózatról (gondolom valami policy beállítás lehet) és ha mentene, akkor nem találja a hálózati meghajtót és hibával leáll.
~70Mb-os fájlról van szó, nem raknám be a ciklusba a mentést, hogy ne legyen idle a hálózati tár felé. Ciklus ezres nagyságrendben fut, ezért ezt kizárnám.
üdv föccer
-
Fferi50
Topikgazda
válasz
föccer #53180 üzenetére
Szia!
Jól értelmezem? Helyi gépen van egy fájl, ami hózati meghajtón levő fájlt nyit meg és makrót futtat rajta.
Vagy a futtató fájl is a hálózati meghajtón van?
A hálózati meghajtó betűjelesként fel van installálva vagy "hosszú névvel" éred el, illetve hogyan csatlakozol fel?
Tisztázni kellene, hogy a hálózati kapcsolat miért szakad meg. Pl a rendszergazda mentéseke futtat, stb.
Ha érzékeli a hibát, akkor lehet várni addig, amíg a kapcsolat helyre nem áll. Nem egészen értem, miért kell újracsatlakoztatni.
Üdv. -
föccer
nagyúr
Hello!
Hálózati meghajtóról nyitok egy fájlt, amin egy hosszú makró fut (esetenként 1-2 óra). Ha meló végén indítom el, akkor menet közben lecsatlakozik a hálózatról a gép és az Application.Save hibát dob és megáll.
Sejtésem szerint macroban max azt lehet megoldani, hogy hiba esetén menjen tovább, de magát a hálózati újra csatlakozást nem nagyon.
Bármi ötlet? Ha megkérdezem a rendszergazdáékat, kihullik az összes hajuk. Arra is csodálkoznak, ha a total commanderben használom a gyors elérési füleket.
üdv, föccer
-
Szia!
Igen, ez egy összesítő tábla, végül is kimutatáshoz hasonló. Negyedévente 9 fájl, külön 9 fájl terv adatokhoz, valamint a bázishoz is negyedévente 9 fájl tartozik.
Tehát 2024Q4-re be lesz linkelve 36 tábla 2024-hez, 36 tábla 2023-hoz (már be van linkelve), valamint 9 tábla a tervhez, ez összesen 81 fájl van "megszólítva". Természetesen fájlonként több adat van átvéve, akár különböző munkalapokról is.
Ezek most direkt linkek, munkatársam az új negyedéves adatok linkjeiben az útvonalat kézzel írja át, és ez elég sokáig tart neki. Ezt gondoltam quick&dirty módon dinamikus linkeléssel megoldani, nem akartam elmenni makró és PQ irányba. Csak hát úgy látom, nem biztos, hogy megúszom, túl egyszerű lett volna. Ugyanakkor nem értem, miért nincs ilyen lehetőség az Excelben, szerintem annyira kézenfekvő lenne.
-
-
underdark
aktív tag
Üdv
Azt hogy tudnám megszámolni, hogy egy oszlopban mennyi különböző dolog van?
példának itt 3
alma
körte
alma
dinnyeKöszi
-
Mutt
senior tag
válasz
Yutani #53162 üzenetére
Szia,
Jól sejtem hogy kimutatást/összegzést akarsz csinálni a különböző cégekre és csak az adatokat akarod behúzni könnyedé, hogy a kész formulák kiadják az eredményt?
Ha igen, akkor szerintem próbáljuk meg Power Query-vel megoldani, ha a fájlok felépítése hasonló.
Két lekérdezést tudok most elképzelni:
1. Mappából a lehetséges fájlnevek kilistázása.
2. A kiválasztott fájlon adatátalakítás szükség szerint.üdv
-
Mutt
senior tag
válasz
ablutor #53156 üzenetére
Szia,
Ha tudsz mutatni 1-2 képet a mostani fájlról, főleg az első munkalapról (ott van a struktrúra) és egy másikról (ott szerintem csak Pivotok/Kimutatások vannak) az tudna segíteni nekünk.
Érzésem szerint van az első munkalapon egy Excel táblád (valószínű színes rácsos, amin ha álsz akkor a Table design menűsorban tudsz más színűvé tenni). És a többi munkalap pedig kimutatásokat tartalmaz (pl. évszám szerint rendezve az adatokat vagy egy másikon szerzők szerint rendezve).
Ez esetben ami gondot okoz, hogy az első munkalapon lévő oszlopoknevek (többnyire az elsősor tartalma) kulcsok, amik alapján tud dolgozni a Pivot. Ha átírod, akkor egy refresh során azon oszlopok amelyek neve megváltozott elfognak a kimutatásból tünni (rosszabb esetben a frissítés hibával leáll). A megoldás fapados:
ezeket a pivotokat újra le kell gyártani, de kb. a második után már rutin lesz ha nézed közben az eredeti/működő változatot.Javaslatok. Legyen egy backup a működő fájlról. Kezd el módosítani az első munkalapon az oszlopok nevét, adj hozzá/törölj ha kell. Legyen minden oszlopban vmilyen adat (nem kell minden sorban, csak legyen minta majd). Menj a következő lapra kattints bele az egyik Pivotba, fent a menűsor végén lesz két új elem (Pivot és Pivot Design talán). Az elsőben van a vége felé hogy bekapcsolhasd, hogy milyen mezőkkel dolgozik a Pivot.
(Vagy akár használhatod a makrót a https://www.contextures.com/excel-vba-pivot-table-field-list.html#allptpf oldalról.)Ha nyomsz egy frissítést, akkor el fognak a rows/columns/values esetleg filter részből tűnni az átnevezett oszlopok. Egyszerűen csak fentről húzd be az újabb névvel őket.
Nézzük meg ezzel mire jutunk.
üdv
-
Mutt
senior tag
válasz
gborisz #53158 üzenetére
Szia,
Megnéztem a fájlt és csak egy apró probléma van vele. A harmadik lépés nem az előtte lévőre, hanem a legelsőre (a Forrás nevűre) hivatkozik, ahol még nem történt meg típuskonverzió.
Csak annyit kell csinálnod, hogy a szerkesztőlécben a Table.RenameColumns utáni "Forrás"-t, ami az első lépés neve lecseréled a másodikkal. Mivel annak a nevében van szóköz, ezért hashtaggel (#) kell kezdened és utána zárójelekben megadnod a lépés nevét, vagyis #"Típus módosítva" kell.
A Power Query makrószerűen dolgozik, az egymás után megadott lépéseket hajtja végre. Általában az újabb lépés bemenete az előző kimenete. Alapból minden függvény első paramétere az előző lépés neve, de itt lehetséges hogy nem mindig az előző lépés eredményét használjuk fel a következőben.
Tipikus példa szokott lenni amikor sok adat esetén a Table.Buffer-el memóriába tesszük az eredmény táblát és késöbbi lépésekben erre hivatkozunk vissza.
Egy másik fontos tudnivaló inkább csak az M-kódban látszik, ami
let -el kezdődik (kivével ha UDF-et csináltunk) és in-el végződik. Az in után megadott lépés neve lesz az eredmény, amely nem kötelező hogy az utolsó lépésé legyen. (Perverz módon meglehet adni az első, többnyire Forrás/Source nevű lépést is.)
Ez többnyire teszteléskor/fejlesztéskor hasznos, amikor a további átalakítások bizonytalanok. Ha vki ilyenben gondolkodik, akkor jobb megoldás a lekérdezés duplikálása hivatkozással (reference), ami az eredeti lekérdezés eredményéből indul ki.üdv
-
-
ny.janos
tag
válasz
ny.janos #53053 üzenetére
Bár a kérdésem korábban már megválaszolásra került itt a fórumban, ma pont ezen problémát taglaló videóba futottam bele, ezért gondoltam érdekességképpen megosztom (bár nem tudom hányan foglalkoznak a jelenlévők közül behatóbban a PQ-vel, Muttnak pedig úgysem fogok újat mondani).
-
Fferi50
Topikgazda
válasz
Yutani #53169 üzenetére
Szia!
Egy példa, ami alapján el lehet indulni: A képletet a makró irja be a B2 cellába!!!A munkalap kódlapjára (lapfülön jobb egérgomb - kód megjelenítése) az alábbi makrót kell beilleszteni:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E1:H1")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Range("B1").Formula = "='" & Range("E1").Text & "\[" & Range("F1").Text & "]" & Range("G1").Text & "'!" & Range("H1").Text
Application.EnableEvents = True
End Sub
Ha változtatod az F1:H1 cellákban levő adatot, akkor változik a képlet a B1 cellában és megjelnik az új eredmény. Ebben a formában kell beírni, azaz az útvonal végére nem kell \ és kell a fájl kiterjesztés.
Figyelem, hibakezelés nincs benne. Először töltsd ki a négy cellát és utána másold be a makrót, különben hibaüzeneteket fogsz kapni.
Makróbarátként kell menteni!
Üdv. -
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #53167 üzenetére
Szia!
Igen, ez így van. Az INDIREKT csak megnyitott forrás munkafüzetnél működik. "Direkt hivatkozásnál" elég a frissítés.
Mostanában nem foglalkoztam az áthivatkozások dinamikussá tételével. Az INDEX is csak a "Direkt" hivatkozást szereti.
Úgy emlékszem régebbről, hogy tudtam valamilyen módon dinamizálni a hivatkozást, de elő kell szednem a hátsó fertályból. De az is lehet, hogy a Google "anyánk" gyorsabban segít.
Mindenként IINDIREKT nélkül kell. Makróval biztosan megy és nem kell hozzá megnyitni a fájlokat. A képletet kell átírni makróval a dinamikus adatoknak megfelelően.
Üdv. -
válasz
Fferi50 #53163 üzenetére
Ez a régi probléma
B1
=INDEX("'" & "C:\Users\Fire\Documents\[" & A1 & "]Munka1" & "'" & "!$A1";1)
C1
=INDEX(INDIREKT(B1);1)Ez most csak azért működik, mert megnyitottam a Munkafüzet1-t, ha nem lenne, akkor nem működne, HIV hiba lenne C1-ben, mert az INDIREKT nem működik nem megnyitott munkafüzetnél.
-
válasz
Fferi50 #53163 üzenetére
Ha így írom, működik (nem a pontos elérési út, csak hasonló):
=INDEX('\\dfsroot\controlling\tagvallalatok\negyedeves\CEG1\[CEG1_2024Q2.XLSX]kimutatas'!$G$13;1)
Ha emígy írom, nem működik:
B4 cella tartalma: CEG1 (ezzel váltom ki a cégneveket)
=INDEX("'\\dfsroot\controlling\tagvallalatok\negyedeves\"&B4&"\["&B4&"_2024Q2.XLSX]kimutatas'!$G$13";1)Tehát ha összefűzött stringet teszek az INDEX paraméterébe, akkor csak az összefűzött stringet jeleníti meg a cégnévvel, és nem a másik munkafüzet G13 cellájában lévő értéket.
#53164 föccer: Hát makrózni nem tudok, sosem csináltam. Az INDEX-nek nagyon örültem, mert az INDIREKT után ez működni látszott, csak hát jelenleg a dinamikussá tétele nem megy.
-
föccer
nagyúr
válasz
Yutani #53162 üzenetére
Hűűű, ha jól sejtem, akkor vagy adatfrisstés kell neked, vagy makrózni kell.
Függvények csak adatfrissítésen keresztül fognak tudni olyan file-ból frissíteni, ami nincs nyitva.
Vagy makróból mgnyitod a szükséges fájlokat, kiszeded belőle a szükséges adatokat és bezárod ami nem kell.
-
Sziasztok Excel guruk!
Olyan egyszerű problémám van, hogy két Excel fájl között nem találom a dinamikus linkelés megoldását. Az kiderült, hogy az INDIREKT nem jó nekem, mert csak nyitott munkafüzeteknél működik, így eljutottam az INDEX függvényhez, amit soha nem kellett korábban használnom.
Az INDEX függvénnyel át tudok hivatkozni statikusan a másik munkafüzetbe, és meg is jelenik rendben az adat, de én szeretném ezt dinamikussá tenni olyan módon, hogy az elérési út egyes elemeit megadott cellákból szeretném venni (háttér: különböző cégek adatai egy mappastruktúrában vannak elmentve megadott szabály szerint, az elérési útban a mappák és Excel fájlok nevében a cégek nevét és időszakokat kell cserélgetni).
Tehát amikor megcsinálom összefűzéssel az elérési utat és beteszem az INDEX paraméterébe (;1 a végén, mert nem tömb, csak egy cella), akkor nem a hivatkozott cella értékét adja vissza a függvény, hanem a linket mutatja. Túrtam a netet, de nem találtam rá semmiféle megoldást, aztán eszembe jutott, hogy a jó öreg PH-n biztosan van Excel guruk által látogatott topik. És van!
Szóval ha valaki találkozott már ezzel a problémával is van rá megoldása, nagyon megköszönném, ha megosztaná velem!
(Keresgéltem a topikban, de nem találtam ilyen bejegyzést. Vagy csak rosszul kerestem...)
-
Fferi50
Topikgazda
válasz
ablutor #53160 üzenetére
Szia!
Lemásolod a működő fájlt és a másolatban csak az első munkalapon meghagysz pár tételt ( természetesen akár teljesen kitalált értékkel) , a többiben pedig a mintát, hogy minek kell lennie a munkalapon a pár tétel alapján (amit elvileg meg is csinál a másolat is).
Ezt a másolatot felteszed mintának valahova (vagy elküldöd privátban). Megpróbáljuk kimazsolázni, mi lehet a megoldás. -
Fferi50
Topikgazda
válasz
ablutor #53156 üzenetére
Szia!
Biztosan volt benne makró. Az első lapon a lapfülre állva nyomj egy jobb egérgombot. Utána válaszd a kód megjelenítése opciót. Ha ott látsz szöveget, azt másold ki és küldd el privátban. Ha nem látsz, akkor a bal oldali lenyílón válaszd ki a Worksheet-et. Ha csak Sub - End Sub két sort látsz, akkor nem ott van a makró (vagy el van rejtve).
Üdv. -
ablutor
csendes tag
válasz
Fferi50 #53102 üzenetére
üdv
köszönöm a választ, a könyveim azok rendben vannak csak aki azt segített megoldani már nem érem el (külföldre ment) én naivan azt hittem ,hogy a könyvek jellemzőit átirom a lemezekre jellemző információkra akkor működni fog ...pl. az iró -helyet - az együttes neve, a könyv címe - lemez címe...és igy tovább, de "természetesen "...NEM igy lett.! ha jól emlékszem "pivot"táblával ( ??) oldotta meg és a Fontos utasítás az volt, hogy CSAK az első munkalapon kellett mindig beirnom az új "szerzeményt" vagy kijavítani ha valami hibát vettem észre ... és az "végigment" minden munkafüzeten...szóval kicsit naiv voltam úgylátom, mégegyszer köszi -
föccer
nagyúr
Van valami korlátja a excel memóra használatának? 1,5 GB memóra foglalás fölé megy, akkor teljesen szétesik, nem rajzolja ki a screent, nem számol, de még sokszor mentésre sem tudom rávenni, vagy hogy a kurzort fogadja és ki lehessen jelölni a cellákat.
Teljesen szétcseszett egy komplett riportoló rendszeremet. Szerencsére 2016-2023.ig megvannak az adatok, csak a 2024-eset kell átelelnőríznem. Lehet egyszerűbb, ha újra legenerálom az alapdatokat
Microsoft® Excel® a Microsoft 365-höz MSO (2402 buildverzió16.0.17328.20346) 64 bites
Köszi
-
eszgé100
őstag
Sajnos minden alkalommal 0-rol kezdtem, de a vege ez lett tegnap este:
forras:
let
Source = Excel.Workbook(File.Contents("C:\Users\xxxxx\OneDrive - xxxxxxxxx\Desktop\source (1).xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"ID", Int64.Type}, {"Name", type text}, {"Date", type date}, {"Qty", Int64.Type}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Date"}),
#"Sorted Rows" = Table.Sort(#"Removed Columns",{{"ID", Order.Ascending}}),
#"Merged Queries" = Table.NestedJoin(#"Sorted Rows", {"ID"}, #"self-refer", {"ID"}, "self-refer", JoinKind.LeftOuter),
#"Expanded self-refer" = Table.ExpandTableColumn(#"Merged Queries", "self-refer", {"Comments"}, {"Comments"})
in
#"Expanded self-refer"
Merged query:Tegnap delutan meg az eredeti adatokkal probaltam es teszteleskor miutan az forrasban a sorrendet megforditottam vagy mas oszlop alapjan rendeztem a refresh utan osszevissza toltodtek be a sorok. Ekkor meg azt gondoltam, hogy megduplazodtak, es mar csak otthon lattam, mikor a fenti peldaval probaltam, hogy a sorok szama azonos, viszont a sorrend teljesen random az elso nehany refresht kovetoen, ezert hozzaadtam egy rendezest meg a merge elott. Igy barmelyik oszlopot is atrendezve mindig ugyanezt az eredmenyt latom es a forrast is lehet boviteni illetve roviditeni.
Ma kiprobalom elesben, es irok, hogy minden ok volt-e?
Koszonom az extra tippet
-
Mutt
senior tag
válasz
eszgé100 #53146 üzenetére
Szia,
...egyiket kovetve sem jartam sikerrel.
Mi történik a te esetedben? M-kódot tudod mutatni az első queryhez, ami az eredeti forrásfájlból dolgozik?Mindegyik video ugyanazt magyarázza el, vagyis hogy:
1. egy query-vel elkészíted a kommentek nélküli változatot, amit betöltesz egy munkalapra.
2. hozzáadod a szükséges oszlopokat a frissen betöltött táblázathoz, majd ezt a táblázatot is betöltöd Power Query-be és kijösz Power Query-ből úgy hogy ezt csak kapcsolatként (Close and load -> Only create connection) töltöd be
3. Visszamész Power Query editorba és az eredeti lekérdezésben állva összefűződ (Home -> Merge Queries) azt a másodikkal (amiben van a komment és csak kapcsolatként él).
4. Kibontod az új oszlopokat az összefűzés után.
5. Close and Load-al visszamész Excelbe, ahol duplán lesznek az új oszlopok. Tőrlőd a végéről a duplikáltakat.A videokról egy kis észrevétel:
1. Egyik sem hangsúlyozza igazán de kell egy kulcs mező ami alapján meg lehet találni a két helyen az azonos sorokat. Mindegyik esetben van egy ID oszlop, de PQ esetén akár több oszlop is használható elsődleges kulcsként.
2. A második videót kerüld, addig amíg M-kód közvetlen szerkesztésében nem vagy jártas.
3. A harmadikban szereplő oktató megbízható (mindhárom video helyes megoldást ad ettől függetlenül).Amit lehetne finomítani - főleg ha nagy adatsorod van - hogy a második query csak a kulcsmezőket és a kommenteket tartalmazza, minden egyéb adat csak a memóriát eszi feleslegesen, de ez minimális dolog.
üdv
-
eszgé100
őstag
Sziasztok!
Sales forecastbol szeretnek adatokat kinzerni Power Queryvel.
A forras fajlban viszonylag rendezve vannak az adatok, Power Query editorban szepen ki tudom szurni ami kell nekem.Problemam ott kezdodik, hogy a kinyert adatok tablazatahoz szeretnek manualisan hozzaadni meg ket oszlopot, amibe aztan manualisan szeretnek bevinni adatokat, jo lenne, ha frissites utan is elerhetoek lennenek.
A fenti videok alapjan probaltam beallitani self-refering tablazatokat, de egyiket kovetve sem jartam sikerrel. Van valakinek bevalt modszere, hogy hogyan kellene az ilyet csinalni?
Elore is koszonom.
-
Fferi50
Topikgazda
válasz
Findzs #53141 üzenetére
Szia!
A képlet a feltételes formázásban magyarul:=VAGY(CELLA("sor")=SOR();CELLA("oszlop")=OSZLOP())
Kijelölöd a tartományt, ahol érvényesíteni kívánod a kijelölést.
Ezután Kezdőlap - feltételes formázás - új szabály (ezt a menüszalagon egyből kiválaszthatod). Majd az új szabály párbeszéd ablakban:
A formázandó cellák kijelölése képlettel. Értékek formázása, ha ez a képlet igaz mezőbe bemásolod a fenti képletet.
Beállítod a formátumot (cellák kitöltésénél).
Majd az egészet leokézod.
Ezután a VBA-ban:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.Calculate
End Sub
Munkalap fül jobb egérgomb - kód megjelenítése
A bal oldali lenyílóban levő Generált átváltod Worksheetre. A megjelenő két sor közé beírod ezt:
Target.Calculate
(Semmi enter vagy ilyesmi!!!)
Vagy csak simán bemásolod a fenti három sort.
Visszamész a munkalapra és lőn!Üdv.
-
Findzs
addikt
Köszi
Bevallom, hogy angolul (mivel nem igazán tudok) eszembe sem jutott keresni
Ezen videó alapján próbáltam megcsinálni de se új munkalapon se abban amiben dolgozom nem csinál semmit. Pedig pontosan követem az utasításokat. már vagy 20x próbáltam.
Eleve mikor beillesztem a kódot a helyére és okézom a kiválasztott színnel azt írja hogy ez egy képlet írjak elé aposztrófot. De ha írok akkor sem csinál semmit a munkalap ugyan olyan mint előtte.
-
Findzs
addikt
Sziasztok!
Lenne egy kérdésem:
Hogyan lehet egy excel (2016) táblázatban az adott sort amiben dolgozom jobban láthatóvá tenni?
Azt a cellát amiben ép dolgozom is csak egy zöld alig vastagabb körvonallal jelzi. A sor elején pedig épphogy sötétebb a sort jelölő sorszám. Nagyon zavaró több órás munka közben.
Keresetem a neten már többször is de nem találtam még hasonló kérdést sem.Köszönöm
-
Owlet
újonc
Nagyon szépen köszönöm a segítséget, ma is tanultam valami hasznosat! Tökéletesen működik
-
Akit esetleg érdekel: 2 promo
-
Mutt
senior tag
Szia,
Neked kell sorba rendezni a dátumokat, erre van több megoldás is. A QuickSort elég gyors nagyobb adatsoron is.
Én még annyit kavartam, hogy ha előfordulnának ismétlődő szabad dátumok, akkor azt egy collection-el előbb kiszűrtem.
Private Sub FillDates2()
Dim ws As Worksheet
Dim cell As Range
Dim greenColor As Long
greenColor = RGB(0, 204, 102)
Set ws = ThisWorkbook.Sheets("2025")
Dim datumokColl As New Collection 'collection esetén csak egyedi értékek maradnak meg
Dim datumokArr() 'majd ebbe a tömbbe másoljuk át a kapott értékeket
Dim c As Long
On Error Resume Next 'collection leáll ha duplikáció van, így átugorjuk ezt
For Each cell In ws.UsedRange
If cell.Interior.Color = greenColor And IsDate(cell.Value) Then
datumokColl.Add cell.Value, CStr(cell.Value)
End If
Next cell
On Error GoTo 0
'ha van szabad dátum akkor lehet tovább menni
If datumokColl.Count > 0 Then
'a szabad dátumokat egy tömbbe kell másolni, létrehozzuk a megfelelõ méretû tömböt
ReDim datumokArr(1 To datumokColl.Count)
'átmásoljuk a collection tartalmát a tömbbe
For c = 1 To datumokColl.Count
datumokArr(c) = datumokColl(c)
Next c
'növekvõ sorba rendezzük a dátumokat
Call QuickSort(datumokArr, 1, datumokColl.Count)
'comboxhoz adjuk a dátumokat
For c = 1 To UBound(datumokArr)
Me.ErkezesiDatum.AddItem Format(datumokArr(c), "yyyy.mm.dd")
Me.TavozasiDatum.AddItem Format(datumokArr(c), "yyyy.mm.dd")
Next c
End If
End Sub
'https://stackoverflow.com/questions/152319/vba-array-sort-function
Public Sub QuickSort(vArray As Variant, inLow As Long, inHi As Long)
Dim pivot As Variant
Dim tmpSwap As Variant
Dim tmpLow As Long
Dim tmpHi As Long
tmpLow = inLow
tmpHi = inHi
pivot = vArray((inLow + inHi) \ 2)
While (tmpLow <= tmpHi)
While (vArray(tmpLow) < pivot And tmpLow < inHi)
tmpLow = tmpLow + 1
Wend
While (pivot < vArray(tmpHi) And tmpHi > inLow)
tmpHi = tmpHi - 1
Wend
If (tmpLow <= tmpHi) Then
tmpSwap = vArray(tmpLow)
vArray(tmpLow) = vArray(tmpHi)
vArray(tmpHi) = tmpSwap
tmpLow = tmpLow + 1
tmpHi = tmpHi - 1
End If
Wend
If (inLow < tmpHi) Then QuickSort vArray, inLow, tmpHi
If (tmpLow < inHi) Then QuickSort vArray, tmpLow, inHi
End Subüdv
-
Owlet
újonc
Sziasztok!
Készítek egy időpontfoglaló "makróegyüttest", melyben a szabad időpontokból a felhasználó tud érkezési és távozási dátumot választani. A szabad időpontok a munkalapon zöld háttérszínnel rendelkeznek.
Ablak inicializáláskor beolvassuk a szabad időpontokat:
Private Sub FillDates2()
Dim ws As Worksheet
Dim cell As Range
Dim greenColor As Long
greenColor = RGB(0, 204, 102)
Set ws = ThisWorkbook.Sheets("2025")
For Each cell In ws.UsedRange
If cell.Interior.Color = greenColor And IsDate(cell.Value) Then
Me.ErkezesiDatum.AddItem Format(cell.Value, "yyyy.mm.dd")
Me.TavozasiDatum.AddItem Format(cell.Value, "yyyy.mm.dd")
End If
Next cell
End Sub
Ez rendben fut, a ComboBox-ban láthatóak a szabad időpontok, viszont azt nem tudom megoldani, hogy az időpontok a legrégebbitől a legfrissebbig legyenek listázva.
Jelenleg így néznek ki a dátumok:Nem is értem, alapértelmezetten mi alapján rendezi ezeket sorba. Mert nem hónap szerint és nem is nap érték szerint. Van erre valami ultimate egysoros megoldás? Vagy akár több?
Előre is köszönöm a segítséget : )
-
Delila_1
veterán
Makróval megoldható.
A képen az eredeti tábláról azE:G
oszlopokba tettem egy másolatot, az összefűzés láthatósága miatt.
Nálad az A és B oszlopok lesznek összefűzve a C-ben. A makró ezt az oszlopot értékként saját magára illeszti.A makró:
Sub szinez()
Dim sor As Integer, usor As Integer, hossz1 As Integer, hossz2 As Integer
usor = Range("A" & Rows.Count).End(xlUp).Row
Range("C2:C" & usor) = Range("C2:C" & usor).Value
For sor = 2 To usor
hossz1 = Len(Cells(sor, 1))
hossz2 = Len(Cells(sor, 3)) - hossz1
Cells(sor, 3).Characters(Start:=1, Length:=hossz1).Font.Color = -16776961
Cells(sor, 3).Characters(Start:=hossz1 + 1, Length:=hossz2).Font.Color = -65536
Next
End Sub
-
Fferi50
Topikgazda
-
3DFan
aktív tag
Sziasztok!
Táblázatból szeretnék egy adatot kinyerni több kritérium figyelembe vételével. [kép] .
Az Emelkedés értéke több méretcsoportban is szerepel.
Hogyan lehet ezt megoldani? Köszönettel. -
melan
senior tag
Sziasztok! Egy táblázat adott oszlopainak tartalmát (ami szöveg) szeretném összefűzni úgy, hogy az egyes oszlopokból származó szövegek adott színűek. (Tehát pl. A oszlop szövege pirosan, a B oszlopé kék legyen az összefűzött szövegben.) Ez hogyan oldható meg?
-
Mutt
senior tag
válasz
gborisz #53123 üzenetére
Szia,
Az adatsorod tizedespontot használ, miközben magyar Excel-t használsz, ahol tizedesvessző van, ezért szövegnek maradnak a számok.
Egyik megoldás a nyelvterület megadása a második lépésben. A zárójel elé írd be ezt: , "en-US"
Ha ez nem megy (túl régi az Exceled), akkor egy lépés kell a típus módosítás elé, ahol a tizedespontot vesszőre cseréljük. Jobb oldalt a Forrást kijelölöd, majd a 3 oszlopot ahol a törtszámok vannak, majd Kezdőlapon az értékek lecserélése (angolban Home -> Replace values) ablakban a pontot vesszőre cseréled.
Ezek után a típusot már a nyelvterület nélkül rendben fogja megismerni a PQ.üdv
-
Fferi50
Topikgazda
válasz
gborisz #53123 üzenetére
Szia!
Szerintem azok nem számok, hanem csak annak látszó szövegek (a Minta sorban egyértelműen látszik). Át kell alakítani számmá. Nem elég a cellatípust számra változtani.
Pl. beírsz egy üres cellába egy db 1-est. Ezt Copy majd a tartományt kijelölve irányított beillesztés - a műveleteknél szorzás. Utána a cellát kitörölheted.
Bocs a lekérdezés szerkesztésben is megváltoztathatod az oszlop formátumát - azt hiszem átalakítás és ott kiválaszthatod a számot.
Üdv. -
gborisz
tag
Nagyon köszönöm, ez már így közel jár ahhoz, amit szeretnék
A refresh gomb nálam szürke, de google kidobta a CTRL-ALT-F5 gombot, ellenben amire nem tudok rájönni, hogy ha a cellatípus 2 tizedes számra van állítva, akkor miért mutat 3 tizedest (mindkét fülön), esetleg erre valami tipp?
Köszönöm
-
gborisz
tag
Nagyon köszönöm mindenkinek a válaszokat, neki fogok ülni megnézni :>
-
Mutt
senior tag
válasz
gborisz #53117 üzenetére
Szia,
Power Query-hez az M-kód ennyi:
let
Forrás = Csv.Document(File.Contents("D:\a.txt"),[Delimiter="#(tab)", Columns=4, Encoding=1250, QuoteStyle=QuoteStyle.None]),
#"Típus módosítva" = Table.TransformColumnTypes(Forrás,{{"Column1", Int64.Type}, {"Column2", type number}, {"Column3", type number}, {"Column4", type number}}),
#"Oszlopok átnevezve" = Table.RenameColumns(#"Típus módosítva",{{"Column1", "Pontszám"}, {"Column2", "Koord1"}, {"Column3", "Koord2"}, {"Column4", "Magasság"}})
in
#"Oszlopok átnevezve"Az első sorban látható hogy a D: meghajtóról olvassa be az a.txt-t ezt kell átirni a kódban (újabb PQ változatokban ezt máshogy is lehet módosítani.
A munkafüzetben egy új lapot hoz létre az adatokkal (esetemben az új lap neve "a"), amiket az INDEX függvénnyel lehet a végső munkalap celláiba írni.
A2-ben a képlet:
=INDEX(a!$A:$A;SOR())
C2-ben=INDEX(a!$B:$B;SOR())
és igy tovább.A 12-es sortól pedig jönnek a lehetséges többi adatok.
A12-ben a képlet:=HA(SOR()-6>DARAB2(a!$A:$A);"";INDEX(a!$A:$A;SOR()-6))
Itt figyeljük, hogy van-e a másik lapon még adat és az elcsúszott sorszámot is módosítjuk.
A képletek lemásoljuk az első száz sorig és meg is van.Ha van új adat, akkor az a.txt fájlt felülírjuk és a Power Query menüben található frissítést megnyomjuk.
üdv
-
Mutt
senior tag
válasz
gborisz #53117 üzenetére
Szia,
Ismétlődő feladatok automatizálására két lehetőség is van.
1. Makró használata. Akár fel is veheted a lépéseket, amit mutattál ahhoz a rögzítés is jó lesz.
2. Power Query 2013hoz még telepíteni kell innen.
Youtubeon van jó pár video txt fájl beolvasására. Pl. https://www.youtube.com/watch?v=FLzKnNmE4MsÜdv
-
Fferi50
Topikgazda
válasz
gborisz #53117 üzenetére
Szia!
Milyen Ctrl+C - Ctrl+V?
Excelben megnyitod a szövegfájlt. Ha egy oszlopba jön be a szöveg, akkor Adatok - Szövegből oszlopok - tagolt - a Tab eleve be van jelölve, OK (több párbeszéd ablakon végigmész).
Ha eleve több oszlopba jön be, akkor ráállsz a B oszlopra, Beszúrás.
Ha ez nem felel meg, akkor tegyél fel mintát légy szíves.
Üdv. -
gborisz
tag
Sziasztok! Magyar Excel 2013-ban kellene valahogy ezt automatizálni, mert unom már a CTRL+C CTRL+V -t.
- Egy sima txt-ben van mondjuk tabbal elválasztva 4 szám: Pontszám (egész szám), Koord1 (szám két tizedesre), Koord2 (szám két tizedesre), magasság (szám két tizedesre).
- Minimum 6 sor van a txt-ben, de néha lehet több is (mondjuk max 100)
- ezeket kellene a megfelelő cellába bemásolni, ahogy a képen látszik (a txt első 4 sora az excel 2-5 sorába a B oszlopot átugorva a pontszám után, a további sorok (5-től) ugyanígy a 12-ik sortól lefelé az excelbe (14-től opcionális, ha csak 6 sor volt a txt-ben))Próbáltam utána guglizni, de nem sikerült úgy megfogalmaznom, hogy értékelhető találatot kapjak, minden tippet köszönök.
-
föccer
nagyúr
Sziasztok!
MS környezetben van valami hasonló mint a google űrapok? Link birtokában bárki kitöltheti. Fontos lenne az a funkció is, hogy táblázatokba lementi a választ és kiküldi róla az emailt is.
Köszi
üdv, föccer
-
-
ny.janos
tag
Sziasztok!
Az elmúlt időszakban nem volt időm foglalkozni a válaszokkal, csak most tudtam rá időt fordítani.
Köszönöm a megoldási javaslatokat mind Fferi50-nek (#53054), mind Mutt-nak (#53061). Mivel olyan megoldást kerestem, amely a PQ M kódban „egyszerűen” alkalmazható, ezért Mutt megoldását jegyzem fel magamnak. (Makróban nem vagyok otthon és nem is szeretnék azt alkalmazni, mert később nem tudok hozzászagolni, ha valami változtatásra lenne szükség. Ettől függetlenül a javaslatot köszönöm.)
Valahogy éreztem én, hogy Mutt lesz az, aki tuti fog megoldással szolgálni és nem is tévedtem. Ha egyszer a tizedét tudni fogom PQ-ben, mint ő, akkor nyulat lehet velem fogatni örömömben.
-
Fferi50
Topikgazda
válasz
#42308056 #53107 üzenetére
Szia!
A webest nem ismerem, az O365-ben a következőt csináltam:
A beállítások - speciális részben az Enter lenyomására a fókusz áthelyezése jelölőnégyzetet be kell pipálni, utána megmondhatod merre "ugorjon ki" a cellából az enter után.
Ha nincs bepipálva, akkor nem ugrik ki a cellából és ha ezzel párhuzamosan a cellaformázásnál be van jelölve, hogy sortöréssel több sorba, akkor jön elő ez a jelenség.
Remélem tudtam segíteni.
Üdv. -
#42308056
törölt tag
Sziasztok!
Webes excel kitalálta hogy ő mostantól több sorba tördeli a szöveget ha entert ütök a cellában. Hol lehet ezt a baromságot kikapcsolni?
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #53105 üzenetére
Szívesen!
-
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #53101 üzenetére
Szia!
"Csak" annyi a baj vele, hogy amit Mutt írt az angol Excelben van, ahol a tizedesvessző a pont és az ezres elválasztó a vessző.
Magyarban a tizedesvessző vessző, ezres elválasztó a szóköz.
Ezért így néz ki "magyarul" a formátum:[>=1000000]#,0 " millió Ft";[>=100000]##0 " ezer Ft";## ##0" Ft"
Üdv.
Ps. Ami - a szöveges részt kivéve - egyezik a te formátumoddal.
Ezért nem mindegy, milyen Excelt használunk (angol, magyar és verzió stb.) -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #53101 üzenetére
Tárgytalan.
-
Fferi50
Topikgazda
válasz
ablutor #53100 üzenetére
Szia!
Sajnos ennyi információ birtokában nem lehet megoldást kínálni a problémádra, pláne nem step by step leírást. Ahhoz ismerni kell a munkafüzeted szerkezetét, az egyes munkalapokon levő adatok szabályait (mikor és miért kerül oda adat) stb.
Tehát látni kellene az egész munkafüzetet.
Aztán lehet, hogy elég néhány képlet, esetleg esménykezelő makró, de lehet, nagyobb lélegzetű a megoldás.
A könyvesre ugyanez, látatlanban csak annyit lehet mondani, meg lehet csinálni pontos ismeretek birtokában.
Ezt a "munkát" meg kell rendelni, átadni az alapadatokat és megadni a követelményeket. Aztán ki tudja, elég-e egy Sétáló János erre a célra.
Természetesen senki nem kívánja tőled, hogy saját munkafüzeteidet nyilvánosan tedd közzé, de a leírtak nélkül nem megy a megoldás.
Üdv. -
Hibás formátum, nem tudja értelmezni az Excel...(copy-paste-eztem a "kódod")
Ha ez megint valami 365 specifikus dolog (bevallom, nem néztem utána, hogy a formátumokba is belenyúltak-e 365-ben vagy sem), akkor OK, de O2021-ben nem használható, ez pl. igen:[>=1000000]#,00 " M Ft";[>=100000]#,00 " E Ft";#" Ft"
Új hozzászólás Aktív témák
- Facebook és Messenger
- Samsung Galaxy Z Flip7 - kis fogyás is sokat jelent
- AMD GPU-k jövője - amit tudni vélünk
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- Hegesztés topic
- Luck Dragon: Asszociációs játék. :)
- Milyen videókártyát?
- Azonnali fotós kérdések órája
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Vírusirtó, Antivirus, VPN kulcsok
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Bomba ár! Lenovo ThinkPad T480s - i7-8GEN I 16GB I 256GB I 14" WQHD I HDMI I Cam I W11 I Gari!
- BESZÁMÍTÁS! Lenovo Legion 5 17ACH6H Gamer notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3060 6GB WIN11
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
- Bomba ár! Lenovo X1 Yoga 2nd - i7-7G I 8GB I 256SSD I 14" WQHD I HDMI I W11 I CAM I Garancia!
- BESZÁMÍTÁS! Asrock H310CM i5 9400F 16GB DDR4 240GB SSD 1TB HDD RTX 2060 Super 8GB Zalman Z1 700W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest