- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- iPhone topik
- Megérkezett Európába a Moto G55 5G és Moto G35 5G
- Google Pixel topik
- Samsung Galaxy S24 - nos, Exynos
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- One mobilszolgáltatások
-
Mobilarena
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
-
the radish
senior tag
Excel munkafüzet aránylag sok karaktert (1100) tartalmazó cellájának txt formátumban történő mentését követően a végeredmény elején és a végén idézőjel látható. Viszont ez csak a végeredmányben, azaz a txt fájlban, van ott újból megnyitva excelben nem látható.Hogy letehetne úgy elmenteni, hogy ne legyenek ott a " jelek?(Ha kevesebb a karakter, akkor minden ok. )
Megvan -
Dr.NX
addikt
Köszönöm mindenkinek, szivacs1987-é nem működött, de ny.janos és FFeri50 megoldása is használhatónak bizonyult.
-
Fferi50
Topikgazda
válasz
the radish #53693 üzenetére
Szia!
Be kell tenni még egy ciklust, pl. így:Sub vba_concatenate()
Dim rng As Range
Dim i As String
Dim SourceRange As Range
Dim x As Integer
For x = 1 To 50
Set SourceRange = Range("I" & x & ":O" & x)
For Each rng In SourceRange
i = i & rng
'& ""
Next rng
Range("R" & x).Value = Trim(i)
Next
End Sub
De mutatok egy másik módszert is:Sub concat()
Dim SourceRange As Range, rowrange As Range
Set SourceRange = Range("I1:O50")
For Each rowrange In SourceRange.Rows
Cells(rowrange.Row, "R").Value = Join(Application.Transpose(Application.Transpose(rowrange.Value)), ";")
Next
End Sub
Itt csak a forrástartományt és a cél oszlopot kell megadnod. A Join függvény második paramétere az elválasztó, ezt veheted "" (nullstring) értéknek is.
Üdv.
Ps. Azt, hogyan jelennek meg a sorok, a szerkesztőprogram kénye-kedve dönti el. -
the radish
senior tag
Sziasztok!
Alábbi makrót szeretném kiterjeszteni az első 50 sorra:
Sub vba_concatenate()
Dim rng As Range
Dim i As String
Dim SourceRange As Range
Set SourceRange = Range("I1:O1")
For Each rng In SourceRange
i = i & rng
'& ""
Next rng
Range("R1").Value = Trim(i)
End Sub
(I-O oszlopoban található adatok összefűzése az R oszlopba, 1-50 sorig)
+1: miért nem tudom rendes kódként, sortörések nélkül ide beilleszteni?
Előre is köszönöm! -
ny.janos
tag
Szia!
Egy másik lehetséges megoldás (mivel az indirekt függvény VOLATILE tulajdonsággal rendelkezik, ezért lassíthatja a működést):
=INDEX($A$2:$A$21;SOROK($A$2:A2)*3-2)
Az utolsó előtti paraméter (3) azt adja meg, hogy minden hányadik sor elemét kéred, a -2 pedig attól függően szükséges, hogy a 3. elem egyben az-e amit első eredményként kapni szeretnél, vagy azt megelőző sorban szereplő adatra van-e szükséged. A képletben az első sor eredményével kezdődik a felsorolás (3-2 = 1).
-
Dr.NX
addikt
válasz
szivacs1987 #53688 üzenetére
Köszönöm, holnap kipróbálom!
-
szivacs1987
aktív tag
Szia,
Igaz ez egy fapados módszer, de én így szoktam csinálni.
Felveszek egy új oszlopot, amiben a képlet
=MARADÉK(SOR();7)
a mintában a 7-es azt jelenti, hogy minden hányadik sort akarom
a képlet azt csinálja, hogy a sorszámot elosztja 7-e, és a maradékot adja vissza, tehát egymás alatt 0-6 ig lesznek a számok, majd megint 0-6 ...
majd erre az oszlopra beállítok egy szűrőt, hogy melyik számot mutassa csak, és mivel az azonos számok jelen esetben mindig 7 sornyira lesznek egymástól, így szűrés után csak minden 7. sor lesz látható.
Ezt már lehet másolgatni.képletes módszer:
felveszel egy új oszlopot
képlete:
=INDIREKT(ÖSSZEFŰZ("A";((SOR()-3)*7)+3))
magyarázat:
"A" amelyik oszlopban vannak az eredeti adatok
-3 amelyik sorban az 1. képlet van
*7 minden hányadik sort akarjuk
+3 az eredeti adatok 1. eleme hányadik sorban van -
Dr.NX
addikt
Sziasztok,
kis segítség kellene.
Egy oszlopból szeretnék kinyerni minden n-edik sort, mondjuk kimásolni egy külön sorba.
Tehát az A oszlopban 1,2,3,4,5,6,7,8,9, nekem csináljon a B oszlopban egy új adatsort, mondjuk minden harmadik értéket: 1,4,7, stb.Próbáltam keresni függvényeket, de amit találtam OFFSET fv-t pl. itt
az hibát dobott, próbáltam magyarul (OFFSET helyett ELTOLÁS, ROW helyett SOR), úgy sem ment.
Annyira nem értek az excelhez, makrókat sem tudom hogy kell csinálni.
Magyar Office 365 telepített verzió.
Köszi, ha valaki irányba tud állítani! -
tgumis
tag
Sziasztok!
Van egy munkafüzetem amiben tökéletesen működik a felhasználói adatok lekérdezése munkafüzet megnyitása után:
Private Sub Workbook_Open()
Application.ScreenUpdating = False 'képernyő frissítése kikapcsolás
Sheets("Felhasználói_adatok").Visible = True
environ_variables
Sheets("Felhasználói_adatok").Select
Sheets("Felhasználói_adatok").Visible = False
Sheets("Megrendelő").Select
Range("A14").Select
Application.ScreenUpdating = True 'képernyő frissítés visszakapcsolás
End Sub
Próbáltam egy másik munkafüzeben is de ott ez a hibaüzenet fogad.
Pedig minden ugyan úgy van a munkalap neve ls. Próbáltam, hogy rejtve van a felhasználói adatok munkalap és úgy is ha nem. -
ny.janos
tag
Szia Mutt!
Egy hónapokkal ezelőtti esetre térnék vissza, amibe most újra belefutottam, ezért végeztem egy kis kutakodást, hogy mikor és hogyan jön elő a hiba, illetve milyen esetekben nem.
Az itt linkelt fájlban leírtam az információkat. Nem tudom, hogy neked mennyire hasznos, esetleg ha van időd hibabejelentéssel foglalkozni (nekem úgysem menne az angoltudás hiányában), akkor esetleg segíthet.
Üdv.
-
babe98
csendes tag
Sziasztok!
meg lehet azt oldani, hogy ebben a sorban:
Selection.Replace What:="2024.01", Replacement:="2025.01", LookAt:=xlPart _ ...stb
a "2024.01" fix szöveg helyett a cserélendő szöveget az A1 cellából vegye? Ha igen akkor hogyan?
köszönöm előre -
Fferi50
Topikgazda
Szia!
Ha O365 van nálad, akkor a SZŰRŐ függvénnyel megadhatod a nevet.
Pl.=SZŰRŐ(Munka1!$B$1:$B$4;(Munka1!$C$1:$C$4)="karácsony")
Ezután a név beírásakor egymás alatt hozza a szűrőfeltételnek megfelelő értékeket.
Hogy számolni hogyan lehet vele, az egy másik kérdés.
Ha ennél korábbi Exceled van, akkor megpróbálhatod a HA függvényt:
pl.=HA(Munka1!$C$1:$C$4="ruha";Munka1!$B$1:$B$4;"")
Ebben az a bibi is benne van, hogy ami nem felel meg a feltételnek ott üres cellát fogsz látni a név beírásakor.
Egyébként a Névkezelőben függvények is használhatók a név megadásakor, pl. az=ELTOLÁS($a$1;0;0;DARAB2($A:$A);1)
a nem üres cellák tartományára fog hivatkozni az A oszlopban és cellába íráskor, törléskor "automatikusan" változik a meghivatkozott cellatartomány.
Üdv. -
lappy
őstag
Sziasztok
Meg lehet-e oldani úgy a névkezelőt hogy az egyes csoportokba egy feltétel alapján vegye fel.
egyik oszlopban vannak a tárgyak és mellette a másik oszlopban pedig a csoportnevek (amik megegyeznek a névkezelő nevével) -
Krogoth
senior tag
Helló.
Két munkalap, mindkettőn 1-1 chechbox. Megoldható, hogy ha az egyik munkalapon levő boxot bejelölöm, akkor a másik lapon levő box is jel9lődjön automatikusan? -
ny.janos
tag
válasz
bozsozso #53676 üzenetére
Az a kérdés fogalmazódott még meg bennem, hogy vajon a már helyes formátumra alakított adataidat mire használod, illetve a csv fájlod mindig az összes releváns adatot tartalmazza-e, vagy azok esetleg mindig új (pl. napi, heti vagy havi) adatokat tartalmaznak? Ezekkel önállóan dolgozol, vagy ezek mind ugyanannak az adathalmaznak a részei lesznek-e, amivel utána valamilyen műveletet végzel / statisztikát gyártasz belőle?
Ha nem csak egyetlen fájlból nyert adatokkal dolgozol a későbbiekben, akkor a PQ nyújtotta lehetőségeket nem csak az adatok átalakításában kellene kihasználnod! -
ny.janos
tag
válasz
bozsozso #53674 üzenetére
...Mindegy akkor megcsinálom mindig az átalakítást...
Ezt most nem egészen értem. A PQ-nek pont az az előnye, hogy ha a forrásadataid struktúrája azonos, akkor csak egyszer kell az átalakítást elvégezned, utána ha a csv fájlod megváltozik, elegendő frissítened a lekérdezést, az átalakítás automatikusan megtörténik.
Alapesetben annyit kell tenned, hogy a csv fájlt felülírod az újjal, hiszen ugyanabban a mappában fogja keresni ugynazon vevű fájlt a lekérdezésed.
Ha akadálya lenne annak, hogy ugyanabba a mappába / ugyanazzal a fájlnévvel mentsd el a csv fájlodat, akkor paraméterként javasolt felvenned az elérési utat és a fájlnevet és azt hivatkozni meg a lekérdezésben (ez azonban már alaposabb PQ ismeretet feltételez, menüszalagról ezt nem fogod tudni megoldani). -
bozsozso
őstag
válasz
ny.janos #53670 üzenetére
Köszi a javaslatot, ezt is megnézem. Úgy látom hogy alapvetően minden esetben annál a kb. 10 oszlopnál meg kell csinálnom az átalakítást. Az excel spec. beállítások módosítása meg azért nem jó, mert folyamatosan állítgatnom kell. Mindegy akkor megcsinálom mindig az átalakítást valamelyik módszerrel.
-
Fferi50
Topikgazda
-
ny.janos
tag
válasz
bozsozso #53662 üzenetére
Szia!
Én nem bántanám az excel speciális rendszerbeállításait, ehelyett ha nem magyar formátumban vannak a számok, akkor a PQ átalakítás során az érintett oszlop fejlécében a formátum ikonra kattintasz, majd a legutolsó pontban (nyelvterület használata) kiválasztod a tizedes törtet illetve a megfelelő nyelvterületet (leggyakrabban GB vagy USA).
Én munkahelyi környezetben azzal szoktam még találkozni, hogy a vállaltirányítási rendszerben a felhasználó nem állítja át a személyes beállításokban a szám és dátumformátumot, ezért merül fel utána az igény az átalakításra. Azonban ha már a vállalatirányítási rendszerben megfelelő formátumot állít be a dolgozó, akkor nincs szükség a PQ-vel történő átalakításra.
-
atyca
senior tag
válasz
Fferi50 #53668 üzenetére
Meg, nem jó.
Piheno-ra átírva nem találja az adatokat, nincs formázás.
A beosztáskészítő nagyjarészt itteni segítséggel készült.
Sajnos nem vágom, hogy honnan húzza be az ünnep-szombati munkanap-pihenőnap adatokat.
Csak ezt találtam:
=DÁTUM($A$1;FKERES($A$2;Irányítás!$AH$3:$AJ$15;2;0);1)
A1 mezőben az év, az A2 mezőben a hónap szerepel.
-
bozsozso
őstag
Sziasztok,
Van egy elég nagy csv állomány ";"-vel tagolt. Adatok beolvasásával csinálok normál excel táblát belőle. A probléma az, hogy a számok "."-al vannak elválasztva és nem pedig ","-vel. Ezt beolvasáskor tudom valahogy egyből átalakítani számmá vagy csak a "." csere","-re vel majd szám formátum beállítással? OFFICE 365-ben egyből a power Query-t dobja fel és ott alakítom így át csak mindig ki kell választanom hozzá a megfelelő oszlopokat.
Előre is köszönöm ha van valami javaslat.
-
Fferi50
Topikgazda
válasz
MrChris #53650 üzenetére
Szia!
Az egyes szintekhez tartozó értékeket külön-külön tartományba helyezed.
Ezután a VÁLASZT és HOL.VAN függvényekkel meg tudod adni, honnan vegye a másik szintet az adatérvényesítés.
A D2 cella adatérvényesítési képlete:
=VÁLASZT(HOL.VAN($C$2;$G$1:$G$2;0);I1:I4;J1:J4)
Az E2 cella adatérvényesítési képlete:=VÁLASZT(HOL.VAN($C$2;$G$1:$G$2;0);K1:K3;L1:L4)
Ha megváltoztatod a várost, akkor annak megfelelően változik az adatérvényesítés tartománya.
Üdv. -
MrChris
nagyúr
Újabb kérdésem lenne, legördülőben kiválasztok egy elemet (pl: Bp, Győr, Debrecen), amihez egy újabb legördülő van kapcsolva (ha Bp. van kiválasztva akkor kerületeket lehet választani I., II., III..., Győrnél városrészeket), tehát így két szintű. Viszont lenne egy harmadik legördülő is, ami szintén a városokhoz lenne kötve azaz, ha Bp van kiválasztva akkor pl a budapesti vízfolyásokat (pl. Duna, Rákospatak, Ördögárok) lehetne abban kiválasztani. Két legördülőt nem tudtam egyszerre egyre rákapcsolni. Ezt hogyan lehet megcsinálni?
Remélem érthetően írtam. -
Fferi50
Topikgazda
válasz
karlkani #53644 üzenetére
Szia!
Egy adatsor elemeinek ugyanazon a munkalapon (egymás mellett/alatt) kell lenniük. Egy következő adatsor elemei lehetnek másik munkalapon.
De az nem megy, hogy az adatsor egyik elem az egyik munkalapon, a másik egy másik munkalapon van.
Tehát a példád szerint a 10, 10, 20 adatsornak azonos munkalapon kell lennie.
Kombinált diagramot kell csinálnod, kb így:
A harmadik adatsor csak az összeget tartalmazó cella, beállítása nincs szín, csak a felirat. A tengely is színtelenre van állítva.
Üdv
-
karlkani
aktív tag
Sziasztok!
Kell csinálnom egy perecdiagramot (jelenleg) három adatból. Az adatok két külön lapon vannak. Csak úgy tudtam megoldani, ha egy lapra másoltam őket. Én vagyok b@lf..., vagy nem lehet enélkül?
A perecen %-os formában vannak megjelenítve, azt szeretném, ha középen számmal kiírná a három cella összegét.
pl.: 10, 10, 20
A percen 25%, 25%, 50%, középen pedig 40.Köszönöm!
-
MrChris
nagyúr
Legördülő listát szeretném szűkíteni a már szerepelt elemeket eltávolítva. Például település listából kiválasztom Bp 1. kerületet akkor a következő sorban a legördülőben már ne lehessen ezt választani. Ha meg BP 1. kerület helyett egy másik települést választok akkor az visszakerüljön a választhatók közé. Tehát a legördülőnek minden eleme csak egyszer szerepelhet. Ezt hogyan lehet megvalósítani?
-
Mutt
senior tag
-
andreas49
senior tag
Szia,
Újra futtattam, de most kijelőltem azokat a mezőket, amik tartalmaznak ilyen dátumot. Az első konvertálta, de úgy veszem észre, hogy kötőjel nélkül írta be a napokat, mivel a nap 3 számjegyű lett. A második kijelt mezőnél megállt hibával, ahol 2 hónap szerepel, ott hibával leáll "eredmeny = lapnev & ". " & Replace(honapok(0), "#", "") & ". " & napok(0) & " - " _
& Replace(honapok(1), "#", "") & ". " & napok(1)" résznél -
Mutt
senior tag
válasz
andreas49 #53631 üzenetére
Szia,
Az aktuális munkalapon próbálja meg átalakítani a dátumokat a kijelölt cellákban.
Sub DatumAlakit()
Dim adatok As Range, adat As Range
Dim lapnev As String
Dim honap As String, nap As String, eredmeny As String
Dim magyarHonap, angolHonap
Dim c As Long, karakter As String * 1
angolHonap = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
magyarHonap = Array("jan#", "feb#", "már#", "ápr#", "máj#", "jún#", "jûl#", "aug#", "szept#", "okt#", "nov#", "dec#")
lapnev = Trim(ActiveSheet.Name)
Set adatok = Intersect(ActiveSheet.UsedRange, Selection)
For Each adat In adatok
nap = ""
honap = ""
eredmeny = adat
'csak akkor fusson le ha még nincs évszám
If InStr(1, adat, lapnev) = 0 Then
'karakternként végigmegyünk a cella tartalmán
For c = 1 To Len(adat)
'ha szám van akkor a nap tömbbe tesszük, ha betû a hónap tömbbe
karakter = Mid(adat, c, 1)
Select Case UCase(karakter)
Case "0" To "9", "-"
nap = nap & karakter
Case "A" To "Z"
honap = honap & karakter
End Select
Next c
End If
'angol hónap nevek magyarra cserélése
For c = 0 To UBound(angolHonap)
honap = Replace(honap, angolHonap(c), magyarHonap(c), Compare:=vbTextCompare)
Next c
'végeredmény összerakása
Dim honapok, napok
If Len(honap) > 0 And Len(nap) > 0 Then
honapok = Split(Left(honap, Len(honap) - 1), "#")
'ha van hónap akkor használjuk
If IsArray(honapok) Then
If UBound(honapok) > 0 Then
'ha több hónap van, akkor több nap is kell
napok = Split(nap, "-")
eredmeny = lapnev & ". " & Replace(honapok(0), "#", "") & ". " & napok(0) & " - " _
& Replace(honapok(1), "#", "") & ". " & napok(1)
Else
eredmeny = lapnev & ". " & Replace(honapok(0), "#", "") & ". " & nap
End If
End If
End If
'adat.Offset(, 1) = eredmeny 'teszteléshez ezt a sort aktiváld, a következõd kommenteld be
adat = eredmeny
Next adat
End Sub
Nem tudom, hogy mennyire megy a te adatsorodon. Érdemes előbb egy teszt fájlban kipróbálni.
üdv
-
-
Fferi50
Topikgazda
válasz
andreas49 #53631 üzenetére
Szia!
Ha jól gondolom, ezek a "dátum formák" szöveges értékek az adott cellában, mivel az Excel/VBA a dátumot/időt konkrét számértékként kezeli. A mutatott értékek pedig intervallumot jelentenek.
Honnan jön az év? Az aktuális munkalap neve tartalmazza? Vagy valahonnan máshonnan lehet kinyerni?
Egyébként akár a Keres - Cserél Excel funkció is használható lehet.
Üdv. -
andreas49
senior tag
Sziasztok
Szeretnék egy olyan VBA-t kérni, amely az alábbi feladatot automatizálja:
Munkalap aktuális mezőjébe az alábbi két fajta dátum forma szerepel: 10–15 June, ezt szeretném olyan formátumra hozni, hogy 'aktuális munkalap neve'. & jún. 10-15. azaz pl.1954.jún.10-15. A másik forma: 30 April–8 May, ami 1954. ápr. 30 - máj. 02
Az is megfelel, ha az aktuális munkalap aktuális mezőjében történik meg a dátum átalakítás egy kirakott gomb VBA indításával, de komplettebb, ha az aktuális teljes munkalapon egyszerre történik meg a dátum átalakítás.
Megoldható? Köszi a segítséget előre is. -
VGYke
addikt
válasz
Fferi50 #53628 üzenetére
Köszönöm szépen! Pedig jártam azon a helyen, de elkerülte a figyelmem. Nálam mondjuk a Lekérdezések & Kapcsolatok alatt nem a Kapcsolatok, hanem Lekérdezések alatt volt a megoldás, jobb egérgomb és tulajdonságok:
Így legalább, megtudtam azt is, hogy a lekérdezés nem működik, excel felhőben tárolás és böngészőből megnyitáskor. Ezt az üzenetet küldi:
-
Fferi50
Topikgazda
Szia!
Ezt találtam a Help-ben:
"A külső adattartományokat automatikusan frissítheti a munkafüzet megnyitásakor. A külső adatok mentése nélkül is mentheti a munkafüzetet a fájl méretének csökkentése érdekében.
Jelöljön ki egy cellát a külső adattartományban.
Válassza az Adatok > Lekérdezések & Kapcsolatok > Kapcsolatok lapot, kattintson a jobb gombbal egy lekérdezésre a listában, majd válassza a Tulajdonságok lehetőséget.
A Kapcsolat tulajdonságai párbeszédpanel Használat lapján, a Frissítés vezérlő alatt jelölje be az Adatok frissítése a fájl megnyitásakor jelölőnégyzetet.
Ha a munkafüzetet a lekérdezés definíciójával együtt, de a külső adatok nélkül szeretné menteni, jelölje be az Adatok eltávolítása a külső adattartományból a munkafüzet mentése előtt jelölőnégyzetet."
Üdv. -
Fferi50
Topikgazda
válasz
attiati #53625 üzenetére
Szia!
Próbáld ki a következőt importálás előtt:
Egy üres excelben - Beállítások - Speciális - Rendszerbeállítások szerinti elválasztók használata elől a pipát kiveszed. -Tizedesjel helyére beírod a . (pontot). Leokézod. Bezárod az Excelt majd újra megnyitod.
Beimportálod az adatokat. Ezután megcsinálod: Beállítások - Speciális - Rendszerbeállítások szereinti elválasztók használata elé pipa. Oké.
A beimportált számoknál a pontok vesszőre fognak változni.
Üdv. -
-
attiati
veterán
-
attiati
veterán
Hogyan lehet dátummá alakítani ezt a formátumot?
11/07/2024
Tömeges adatom van. Karaktercsere nem oké. A sorrenddel van a baj. Évszám kellene az elejére.Le lehet letiltani hogy a 6.6-ot automatikusan átalakítsa jún. 6-ra?
Weboldalról kiexportált CSV. -
VGYke
addikt
Sziasztok! Egy makrót tartalmazó excel xlsm-ként mentve, majd megosztva és a megosztási hivatkozás birtokában böngészőből megnyitva, futnak benne a makrók?
Mert vagy nem, vagy elrontok valamit. -
föccer
nagyúr
válasz
Keef_Lee #53616 üzenetére
O365-ben elvileg működik, 2013-ban nem. Most nem tudom megsinálni, de az elvet és a függvények az alábbiak lesznek.
2 segédoszlopot kell csinálni. Vagy külön munkafüzetben és akkor meghivatkozod a két alapadatot tartalmazó munkafüzetet, vagy összemásolod a két alapdatot 1 munkafüzetbe és csinálsz egy segéd munkalapot.
A lényeg.
Függ.halmozás() függvénnyel összefűzöd egy vektorba a 2 név oszlopot. Ezt beágyazod egy egyedi() függvénybe, hogy az ismétlődéseket eltávolítsd az ismétlődéseket. Ezen segédoszlop mellé felveszed a másik segédoszlopot, amibe szumha függvénnyel összeadod az egyes nevekhez tartozó összes teljesítményt.
üdv, föccer
-
atyca
senior tag
Sziasztok!
Az mitől lehet, hogy a feltételes formázás nem látszik az online megnyitott excelben?
excel
online
Köszi előre is minden segítséget! -
Keef_Lee
senior tag
Segítséget kérek
Van két fájlom. Mindegyikben névsor az első oszlop.
Mindegyikben teljesítés a második oszlop. (Eltérő időszak teljesítései a két fájlban)
Szükségem lenne a személyek össz. teljesítéseire.
(Úgy, hogy a névsorból hol az egyik, hol a másik fájlban előfordulhat, hogy néha hiányzik egy-egy személy, aki nem teljesítette valamelyik időszakot.) -
Mutt
senior tag
válasz
ny.janos #53610 üzenetére
Szia,
BCTI videója hasznos volt nekem is, a lényegét tudtam eddig Marco Russo-tól, de itt jobban ki lett fejtve.
...Van egyáltalán összefüggés az adatmodellbe töltés és a sorbarendezés között?..
Van. Amikor adatmodell-be teszük az adatokat, akkor egyben a hatákonyság növelése miatt tömörítve lesznek. Az oszlopokat külön-külön tárolja (tabular format) és tömöríti a Vertipaq engine.
A videóban a tömörítés típusait is elmagyarázzák, de a lényeg az hogy az ismétlődések csak egyszer kerülnek letárolásra és ha sok ismétlődés van akkor nagyot lehet itt nyerni.A sorbarendezésre viszont ez a tömörítés károsan fog hatni, mivel elvesztjük az "egyedi értékek" tárolásakor a sorrendet. Ami azért nem gond amikor dolgozunk az adatmodellel, mert a képletek/kapcsolatok nem sorrend szerint dolgoznak hanem tartalom/érték alapján (pl. lényegtelen hogy amikor megszámoljuk vagy összeadjuk az értékeket, akkor azok növekvő vagy csökkenő sorban vannak, az eredmény ígyis-úgyis ugyanaz). A videóban 9:10 körül ugyanezt mondják.
A videóban az eredeti problémára/kérdésre a megoldás szerintem az, hogy amikor a Vertipaq rendszer újra összerakja a tömörített táblákból az eredményt, akkor azzal a táblával kezd ahol a legkevesebb egyedi érték volt és rakja mellé az egyre több értékeket tartalmazó táblákat. Az ottani példában valószínű a régió (Region) volt a legkevesebb elemű (talán 4 db) , aztán a jön a termék (product) és utánna az állam (state) és így tovább.
A sorbarendezés termeszetesen fontos dolog nekünk embereknek, így kell és használjuk is, de csak ott ahol van értelme. Vagyis:
1. a végső eredmény (CSAK Excel munkalapra töltés esete ez, Power BI esetén vizualizációk esetén teljesen felesleges) előállításakor az utolsó lépésben,
2. olyan köztes lépéseknél amikor fontos a sorrend, pl. egy olyan csoportosítás előtt amikor nem csak összegzünk hanem az összes adatot is beletesszük a csoportosításba és abból mondjuk a legelső sort akarjuk kiemelni/tovább vinni. pl. a fenti videóban ha tudni szeretnénk termékenként az utolsó államot ahol eladtuk azt, akkor ha dátum szerint csökkenő sorba rendezünk, majd termék alapján csoportosítunk akkor a belső táblában az első rekord a legrissebb eladás adatait fogja tartalmazni termékenként.Amivel furcsasággal találkozom az hogy adatmodellbe töltéskor nem csak a sorok, de az oszlopok sorrendjét is elveszítem. Céges fájlban van kb. 400 ezer sor és vagy 60 oszlop, de Kimutatás/Pivot kibontásakor mindig ABC sorrendben jönnek az oszlopok.
üdv
-
ny.janos
tag
Power Query ismét.
A minap olvastam arról az exceloffthegrid.com oldalon (néha az alapokat sem árt átvenni, főleg ha innen-onnan szedtem össze a PQ tudásomat, nem szervezett oktatás keretében, így sok a hiányosságom), hogy az adatok betöltésekor – főként ha sok adat betöltéséről van szó – érdemes bejelölni az Adat felvétele az adatmodellbe jelölőnégyzetet. Eddig annyit tudtam erről, hogy PowerPivot esetén ven szükség rá (erről Mutt már többször is írt a fórumban - de én magam még sosem használtam). Viszont akkor is jelölhető, ha nem használunk Power Pivotot és értelme is lehet a használatnak.
Aztán pár nappal később láttam egy videót (BCTI), mely a PQ sorbarendezésének néha érthetetlen voltáról értekezett.
2016-os excelben nem tudom egyértelműen előidézni azt ami a videóban látható, ugyanakkor korábban már nem egyszer találkoztam azzal, hogy az adatok sorrendje megváltozott.
@Mutt: neked vannak információid a fentiekről? Van egyáltalán összefüggés az adatmodellbe töltés és a sorbarendezés között? Vagy az adatmodellbe töltéstől független a sorbarendezési kérdés és csak én kombináltam össze fejben, hogy azért csökken a fájl mérete az adatmodellbe töltés használatával (ahogy Mark írta), mert az adattárolás kevesebb adattal történik, ahogy az a BCTI videójában látható? Köszi.
-
r6man123
senior tag
Sziasztok!
Facebook űrlap érdeklődőket töltök / töltenék le. CSV file-t kapok a Facebook-tól, amibe így néz ki:
11/27/2024 6:19am;GipszJakab;gipszkajab@gmail.com;Fizetett;kampany;E-mail;Információ megadva;Unassigned;;+3670111111;Ebből a listából nekem semmi másra nincs szükségem, csak az email címekre (600 ilyen sorom van). Hogyan tudnám vagy úgy lekonvertálni ezt a CSV-file-t, hogy a ; -nél minden adat külön oszlopba kerülne? Vagy hogyan / milyen módon tudnám simán egy ctrl+c-vel kimásolni a mail címeket?
Köszi köszi!!! -
ny.janos
tag
válasz
andreas49 #53601 üzenetére
Szia!
Az MNB oldaláról történő árfolyamkereséseket én meguntam egyszer, ezért PQ-t akalmazok a lekérdezéshez.
Az excel-bazison van egy ingyenes anyag erről.Én az alábbi kódot alkalmazom (értelemszerűen ha más időszaki árfolyamokra vagy kíváncsi, vagy más devizanemek is kellenek, akkor módosítható).
let
Forrás = Web.Page(Web.Contents("https://www.mnb.hu/arfolyam-tablazat?deviza=rbCustom&devizaSelected=HUF&datefrom=2020.01.01.&datetill=2029.12.31.&order=1&customdeviza%5B%5D=CHF&customdeviza%5B%5D=EUR&customdeviza%5B%5D=USD&customdeviza%5B%5D=GBP&customdeviza%5B%5D=RUB")),
Data0 = Forrás{0}[Data],
#"Oszlopok átnevezve" = Table.RenameColumns(Data0,{{"CHF svájci frank 1", "CHF"}, {"EUR euro 1", "EUR"}, {"GBP angol font 1", "GBP"}, {"RUB orosz rubel 1", "RUB"}, {"USD USA dollár 1", "USD"}}),
#"Típus módosítva" = Table.TransformColumnTypes(#"Oszlopok átnevezve",{{"", type date}, {"CHF", type number}, {"EUR", type number}, {"GBP", type number}, {"RUB", type number}, {"USD", type number}}),
#"Oszlopok átnevezve1" = Table.RenameColumns(#"Típus módosítva",{{"", "Dátum"}})
in
#"Oszlopok átnevezve1"Üdv.
-
RoBos
senior tag
válasz
Fferi50 #53600 üzenetére
Szia,
félig meddig jó lenne, mert a Kft.-vel működik, de sajnos Zrt. is vagy a listámban. Egy olyan függvénypár kéne, ami konkrétan az utolsó szót szedi ki a cellából, ami így lehet bármi (kft vagy zrt) és ami előtte van függetlenül, h hány szóból áll a cégnév azt egy másik cellába kiszedi. Ez lenne nekem a lényeg bármilyen cégnévvel. -
Fferi50
Topikgazda
válasz
andreas49 #53601 üzenetére
Szia!
Nem tudom, hogy miért fontos neked a feldolgozásnál az ÉÉÉÉ.HH.NN formátum, mivel a dátumot a rendszer számként tartja nyilván - csak a megjelenítés változik a formázási szabályok szerint.
Mivel a bemásolásnál a dátumot tartalmazó oszlop szöveg, ezért dátummá kell alakítani, ami operációs rendszer függő is.
Nálam ez a képlet vált be a D4 cellában, ami lefelé húzható:=DÁTUMÉRTÉK(HELYETTE(BAL(A4;SZÖVEG.KERES(",";A4)-2);"november ";"11."))
Nyilván más hónapot a neki megfelelő számmal kell helyettesíteni és figyelembe kell venni, hogy a rendszerdátumban vannak-e szóközök, vesszők, annak megfelelően kell a helyettesítéseket megcsinálni.Az első két cella általános formátumú, a többi formátumot megváltoztattam ÉÉÉÉ.HH.NN formátumra - DE ne feledd, azokban a cellákban is szám van a formátum mögött!
Üdv.
Ps. Nem egészen értem, hogy az A4 cellában levő szöveget miért nem eszi meg egy az egyben a DÁTUMÉRTÉK függvény, annak ellenére, hogy az is egy rendszer dátum formátum.... akkor egyáltalán nem kellene variálni. -
andreas49
senior tag
Sziasztok,
Az MNB oldaláról lehet hivatalosan árfolyamokat lekérdezni, de a kimásolás után nem boldogulok a dátum átalakítással olyan formátumra, amivel tudok tovább dolgozni.
Ez pl. november: [link] és ilyen formátum kellene: ÉÉÉÉ.HH.NN
Köszi a segítséget előre is.
Új hozzászólás Aktív témák
Hirdetés
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Medion Erazer Beast X40-hez vízhűtés (MD 60961) (ELKELT)
- BESZÁMÍTÁS! Samsung Galaxy A34 5G 128GB mobiltelefon garanciával hibátlan működéssel
- ÁRCSÖKKENTÉS Lenovo ThinkPad P51s, P52s, T570, T580 eredeti Lenovo, belső akkumulátor eladó
- Bomba ár! Dell Latitude E7440 MAGYAR - i5-4GEN I 8GB I 256SSD I 14" FHD I HDMI I Cam I W10 I Gari!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest