-
Fototrend
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
-
0P1
aktív tag
Ja, most olvastam, hogy leirtad te is, hogy nem fog beleférni
Egyébként szerintem Excel 2016-ban talán halandók számára érthetőbb megoldaás, ha beirjuk Get&Transform-ba, hogy {1..10000}, táblává alakitjuk a listát, transzponálás, és minden oszlop kijelőlése -> oszlop egyesités elválasztó megadásával . Ennek elpnye, hogy magában a PQuerybe belefér akár 10.000-ig is a szám, vagyis egyéb műveleteket tudsz vele végezni, anélkül hogy elvesztenéd a 6774-nál nagybb számokat, persze, ha visszaadod Excelnek az egész listát változatlan formában , akkor belép az Excel 32767-es korlátja .
Ezt kiküszöbölendő rá lehet nyomni egy oszlop felosztást (split columns) , visszaadás előtt[ Szerkesztve ]
-
0P1
aktív tag
"A lenti képletek mindegyike ugyanazt éri el - ha A1-ben szövegként van tárolva a szám, akkor abból számot csinál anélkül hogy az értékét megváltoztatná -, a kettős tagadás a legrövidebb és leggyorsabb megoldás:
=A1*1
=A1+0
=--A1
=A1*-1*-1"Szerintem ezek közül mindegyiknél gyorsabb a value() függvény, ami semmi műveletet nem vlgez, hanem csak számot csinál a szövegből
-
0P1
aktív tag
válasz szatocs1981 #38022 üzenetére
Jelöld ki a forrás táblázatot : Adatok - Adatok beolvasása és átalakitása - Táblázatból vagy tartományból
Állitsd be az adott oszlopra a kivánt szűrést, és Bezárás és betöltés. Ezután, ha a forrás táblázat módosul, csak rá kell frissiteni a cél táblázatra.
Az eredeti tartalomra való "linkelés" nem megoldható makró nélkül. -
0P1
aktív tag
válasz dellfanboy #38000 üzenetére
Legegyszerűbb, ha az eredeti értéket használod, Format cells, Custom, és yyyy/mm .
Igy persze megmarad az eredeti datetime érték, csak ÉV/HÓNAP-ként fogja megjeleniteni .
HA szövegként akarod, akkor =YEAR([Date])&"/"&MONTH([Date])
-
0P1
aktív tag
válasz Fferi50 #37909 üzenetére
Szia!
Igen, tudom, hogy tartományban keresésnél számit, de az gyakorlatilag egy külön függvény (jobban mondva függvénytúlterhelés),és ha elolvasod az előzményeket, láthatod, hogy itt nem arról a változatról volt szó, hanem a pontos értékkeresésről,ahol nem számit a sorrend, vagyis pontosan ugyanúgy műxik, mint az INDEX/MATCH kombó. (Igen, azt leszámitva, hogy FKERES-sel csak a keresési tartomány első oszlopában tudsz értéket keresni, INDEX/MATCH-el akármelyikben).
-
0P1
aktív tag
-
0P1
aktív tag
Ja most olvasom, hogy 2010-hez kell, ez a funkció 2010-es PPivotban nem elérhető, csak 2016-osban.
Akkor PowerQuery bővítménnyel oldható meg.CSinálj egy új üres lekérdezést, és írd be ezt :
= List.Dates
Add meg a paramétereket (Kezdő dátum, számláló, lépés )
és invoke-old a függvényt . Alakítsd táblává a listát, majd adj hozzá egy hét napja oszlopt (Add column/ DAte/Day/Day of week - Oszlop hozzáadása / Dátum / Nap / Hét napja) . Ebben az oszlopban szűrd ki a szombatot és vasárnapot. (egyéb manipulációkat is csinálhatsz)Ezután, attól függően, hogy PowerPivot, vagy hagyományos Pivotot (kimutatást) akarsz használni, két lehetőséged van:
1. Ha PowerPivot, akkor Close and Load to (Bezárás és Betöltés ) : Only create connection (CSak kapcsolat létrehozása) és add hozzá a Data Modelhez (Add this Data to the Data Model legyen bepipálva ). És innentől ugyanaz, mint amit az előző hsz-emben írtam.
2. Ha van PowerQuery bővítmény, akkor nincs feltétlenül szükség PowerPivotra sem, hagyományos kimutatásban is használhatod ezt a testreszabott idősort. Ehhez először be kell olvasnod a fő adttábládat is PowerQuery, majd összemerge-elnéd az idősoroddal, és Close and load to / Only create connection (Ebben az esetben nem kell a Data Modelhez hozzáadni, mert hagyományos pivotban fogod használni)
Ezután Pivot létrehozásakor Use an extarnal Data Source (Külső adatforrás használata) és itt ki tudod választani a most létrehozott összemerge-elt lekérdezésedet, amiben immár benne van az egyéni idősorod is.
De én inkább az első módszert javaslom.
-
0P1
aktív tag
válasz GreenIT #37884 üzenetére
Szia,
Gondolom , kimutatáshoz / diagramhoz kell az idősor. A sima Pivotban nem lehet, de PowerPivotban igen. (2010-hez külön bővítményként tölthető le) . Csak létrehozol egy dátum táblát (Dátumtáblázat/Új)
http://jegyzetek.biprojekt.hu/Datum-tabla-az-Excel-2016-ban
Majd kiszűröd hét napja oszlopban a Szombatokat és Vasárnapokat (És meg egyéb egyéni testreszabásokat is csinálhatsz). Aztán beállítod az eredeti tábládhoz a kapcsolatot a most létrehozott egyéni időtábládhoz, és onnantól kezdve ugyanolyan módon használhatod ezt egyéni idősorként, mint hagyományos pivotban.
-
0P1
aktív tag
válasz macilaci78 #37885 üzenetére
Vagy, ha jól olvasom, mivel Excel 2016 is van:
Adatok -> Beolvasás és Átalakítás /Táblázatból. -> Oszlop felosztása > Elválasztó alapján
Add meg a vesszőt elválasztónak, majd Bezárás és betöltés. -
0P1
aktív tag
Szia ,
Az Office 2007 mainstream support már lejárt.
"Az Office 2007 (12-es verzió) nem része többé az alapvető támogatásnak, és nem lett tesztelve Windows 10 rendszeren. "
Az igaz, hogy az eredeti Win10 builden még elfutott (bár tesztelve nem volt, és a Microsoft nem vállal garanciát érte, és támogatást sem nyújt) de a további működés nincs garantálva, akármelyik OS frissitéssel elszállhat bármikor, ez teljesen természetes egy lejárt támogatású termék esetében.
-
0P1
aktív tag
válasz Vision #37376 üzenetére
Szia, jól értem, hogy Excelbe akarsz MNB árfolyamokat lekérdezni? Akkor miért SOAP-pal próbálkozol, miért nem inkább az Excel Get&Transform-ot (Adatok beolvasása és átalakitása) használod ? Azzal szerintem sokkal egyszerűbb, mint SOAP-al és VBA-val szenvedni. . Úgy alakitod, ahogy akarod, úgy paraméterezed, ahogy akarod, be tudod joinolni egyéb querykbe, és akkor ki se kell dobnod munkalapra, akár a Data Modelbe be tudod olvasni, stb ...
Ha megirod, konkréten milyen paraméterezéssel akarod meghivni és milyen formában szeretnéd megkapni a kimenetet,akkor tudok segiteni. Ha ragaszkodsz a SOAP-hoz, abban sajnos nem tudok, én is próbálkoztam vele pár éve, de pár órás próbálkozás után hagytam az egészet a fenébe, inkább Get&Transform-mal pár perc alatt összedobtam, amit akartam
-
0P1
aktív tag
válasz Firehand #37231 üzenetére
Ez nem a táblától/makrótól függ, (az gondolom az egérkattintás eseményt figyeli)hanem az OS / Office környezettől. Igy, ha a touch koppintást egérkattintásként emulálja a környezeted, akkor "működni" fog.
De amúgy Office 2007-ben nincs nativ touch mode, az csak 2013-tól felfelé van.
Touch eventeket alapból tudtommal nem támogat nativan a VBA, (főleg nem a 2007-es verzió ) -
0P1
aktív tag
válasz ph2012 #37226 üzenetére
Igen, szűrő. Elég sok módon be lehet kapcsolni. Álljl rá a tábla fejlécére, és kapcsold be a szűrőt, (nem rtad, hanyas exceledvan, de gondolom,, megtalálod, egy tölcsért keresss vagy szúrj be táblát, vagy formázd tábláva a tartományt (ezek is automatikusan bekapcsolják a szűrőt)
Hogy mit lehet vele csinálni? Szűrni különféle feltételekre. Hogy mikre, az adott oszlop adattpusától függ.
-
0P1
aktív tag
válasz csanyiadam #37219 üzenetére
Szia, ez inkább MacOS kérdés, mint Excel
Az operációs rendszer alapértelmzett delimiterét álltsd vesszőre.System Preferences > Language & Region:Advanced > General.
Sajnos macOS elég gagyi , itt nem lehet külön delimitert állitani, mint windowsban. Ha a tizedes elválasztód ".", akkor "," a delimiter, ha "," , akkor ";"
-
0P1
aktív tag
válasz vandeminek #37182 üzenetére
a pivotban a value fields settings-ben ne Sum aggregáló függvényt használj, hanem Min-t, Max-ot vagy Average-et (esetedben teljesen mindegy, hogy melyiket, ugyanaz lesz az eredmény, híszen az adott hónapban állandó a támogatás összege) .
-
0P1
aktív tag
válasz marteeka #37159 üzenetére
Nem, értékmezőbe nem tudod rakni, mivel ez logikai képtelenség lenne, hiszen
1:N
kapcsolat van a pivot és az adatforrás sorai között , ezért csak valami aggregáló függvényt lehet betenni értékmezőbe."Ezt csak úgy tudom egy sorba tenni, ha ezt a bizonyos megjegyzés oszlopot az értékmezőbe veszem fel"
Miért csak úgy tudod megtenni? Nem, úgy nem tudod megtenni (a fentiek miatt ). De ehelyett vedd fel inkább sor mezőbe, állitsd klasszikusra a layoutot (Pivot Table options / Display) , és szedd ki a subtotalokat a mezőbeálltásokból. Máris egy sorban lesz a megjegyzés a hozzátartozó értékkel.
[ Szerkesztve ]
-
0P1
aktív tag
válasz Illusion1010 #37151 üzenetére
1. J1-be beirod, hogy =H1-G1, és lehúzod a képletet. (vagy táblát használsz, és akkor nem kell húzogatnod semmit)
2. Kijelölöd az egész munkalapot, és létrehozol egy ilyen feltételes formázási szabályt (Home/Styles/Conditional formatting: -> New rule, rule type: use a formula to determine which cells to format):
=$J1>=9
és formázásban zöldre állitod a kitöltést.3. Ugyanúgy, mint 2. pontban egy másik szabály:
=$J1<9
és formázásban pirosra állitod a kitöltést. -
0P1
aktív tag
válasz toth_janika #37145 üzenetére
Ha a tábládban az oszlop nevek "Telepítés dátuma" és "Számlázás kezdete"), akkor:
Telepítés dátuma oszlopba írd be: =MAX([@[Telepítés dátuma]],[@[Számlázás kezdete]])
Természetesen ez így körökörös hivatkozás hibát fog dobni, ha nem állítod be előtte az iteráció engedélyezését (Fájl/ beállítások / Képletek)
Vagy egy mésik oszlopba írd be, és utána irányított beillesztés / érték -kel másold be a telepítés dátuma oszlopba, igaz, így két lépés, de nem kell iterációt engedélyezni,[ Szerkesztve ]
-
0P1
aktív tag
válasz Delila_1 #36368 üzenetére
Bocs a késői válaszért. Excel 2016-ban ott van a MINIFS, MAXIFS, AVERAGEIFS, MEDIANIFS és egyéb feltételes aggregáló függvények tetszőleges számú feltétellel. Korábbi verziókban nem vagyok biztos.
Én már csak a CONCATENATATEIFS-et (vagyis inkább TEXTJOINIFS-et) hiányolom ...
-
0P1
aktív tag
válasz Delila_1 #36277 üzenetére
Excel 2016-ban valóan ott van ez a funkció, (Adatok, Beolvasás/ átalakitás, ), de korábbbi verziókban Addin nélkül a Külső adatok átvétele menüpontban a Microsoft Query érhető csak el, ami gyakorlatilag PowerQuery/Beolvasás&Átalaktás elődje, de jóval korlátozottabb tudású és kevésbé felhasználóbarát.
-
0P1
aktív tag
válasz Ghoosty #36276 üzenetére
Hopp, ezer bocs, utánanéztem és tényleg kell neki IE9 vagy későbbi böngésző. Azért lepődtem meg rajta, mert nekem Win10 van, és mégis megy, (úgy tudtam, abban már nincs is IE, csak Edge, de most látom, hogy van, csak jól el van rejtve) Az a vicces , hogy a standard Excel 2016-ba éptett Get&Transformnak, ami lényegében pontosan ugyanazt tudja , mint a korábbi Exceleken a PowerQuery add-in, nem kell IE. Ez valami szokásos Microsoftos húzás. Persze örüljünk, hogy legalább valahogyan elérhető korábbi Excelekre is, nem csak Excel 2016-ra a feature.
-
0P1
aktív tag
válasz Delila_1 #36274 üzenetére
Excel 2016-hoz vagy O365-höz nem kell semmit se telepiteni, azóta szerves része az excelnek , magyarban Beolvasás/Átalaktás az Adat menüben, angolban Get&Transform Databan (csak korábbi verziókhoz kell egy kis add-in). De IE nem kell hozzá semmiképpen, ott valamit Ghoosty félreértett.
[ Szerkesztve ]
-
0P1
aktív tag
válasz Delila_1 #36272 üzenetére
CSakhogy excelben autoszűrővel, kijelöléssel, másolással, beillesztéssel ezt a néhány egérkattintást mindig meg kéne ismételni.
Ezzel viszont pontosan le lenne automatizálva az egész, csak némileg egyszerűbben és gyorsabban, mint VBA-val. CSak egyszer kell megcsinálni, és utána elég mindig csak egy refresht nyomni, ha le akarja futtatni. Az ugyanúgy egy gombnyomás, mint elinditani a makrót[ Szerkesztve ]
-
0P1
aktív tag
válasz föccer #36267 üzenetére
Erre érdemesebb Get&Transformot használni, azt pont ilyenek automatizálására találták ki. És ez annyira egyszerű feladat, hogy scriptelni se kell, csak pár egérkattintás az egész.
Olvasd be a táblát (Data/Get&Transform/From Table), állttsd be a négy szűrést a négy oszlopban (ugyanúgy műxik, mint a régi autoszűrő funkció, válaszd ki a két oszlopot, amiket át akarsz másolni (Manage Columns/Choose Columns) aztán Close&Load. Ennyi. -
0P1
aktív tag
válasz Ghoosty #36264 üzenetére
Ha véletlenszerűen szeretnéd, akkor használhatod az Excel Get&Transform funkcióját . Meg lehet oldani persze worksheet függvénnyel is, de szerintem a Get&Transform szebb .
Ha az oszlop megnevezéseid Termék neve, Sorozatszám és Státusz, akkor Data / Get& Transform / From table az első munkalapon lévő táblán, aztán Advaced editorba vágd be az alábbi queryt:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
AddedIndex = Table.AddIndexColumn(Source, "Index", 0, 1),
BufferedRandomNumberList = List.Buffer(List.Random(Table.RowCount(AddedIndex))),
AddedCustom = Table.AddColumn(AddedIndex, "Random", each BufferedRandomNumberList{[Index]}),
SortedRows = Table.Sort(AddedCustom ,{{"Random", Order.Ascending}}),
#"Filtered Rows" = Table.SelectRows(SortedRows, each [Státusz] = "reg"),
#"Grouped Rows" = Table.Group(#"Filtered Rows", {"Termék neve"}, {{"Random", each List.Min([Random]), type number}}),
#"Merged Queries" = Table.NestedJoin(#"Grouped Rows",{"Termék neve", "Random"},AddedCustom,{"Termék neve", "Random"},"NewColumn",JoinKind.LeftOuter),
#"Aggregated NewColumn" = Table.AggregateTableColumn(#"Merged Queries", "NewColumn", {{"Sorozatszám", List.Min, "Sorozatszám"}}),
#"Removed Columns" = Table.RemoveColumns(#"Aggregated NewColumn",{"Random"}),
#"Sorted Rows" = Table.Sort(#"Removed Columns",{{"Termék neve", Order.Ascending}})
in
#"Sorted Rows"És utána Close&Load. Ki fogja dobni egy új munkalapra a termékneveket, egy random módon megtalált lehetséges sorozatszámmal, ahol a státusz "reg". Ha megnyitáskor automatikus frissitést szeretnél , pipáld be a "Refresh data when opening the file" checkboxot a connection propertiesben (de természetesen frissstheted manuálisan is.
-
0P1
aktív tag
válasz butch3r #34962 üzenetére
Pedig általában a 64 bit szokott megoldás lenni ilyesmire.
Ha egy bizonyos fülről akarod beszedni mindegyik workbbokból, akkor felesleges beolvasnod az összes munkafüzet összes munkalapját. Érdemes egy UDF-et csinálnod rá. Este vagy holnap reggel írok rá instrukciót, hogyan kell.
-
0P1
aktív tag
válasz föccer #34944 üzenetére
Excel 2016-ban van MINHA és MAXHA függvény, azok pontosan azt csinálják, amit szeretnél, teljesen egyszerűen, kacifántos tömbképletezés nélkül. (lehet több feltételt is megadni, angolul MINIFS és MAXIFS, de valamiért mégsem MINHATÖBB-re és MAXHATÖBB-re magyarították). Sőt, van AVERAGEIFS is (ÁTLAGHATÖBB)
-
0P1
aktív tag
válasz macilaci78 #34920 üzenetére
Ha mindenképpen függvénnyel akarod, akkor ez működhet:
Ha A1 cellában az adatod:
=SZORZATÖSSZEG(KÖZÉP(0&A1;NAGY(INDEX(SZÁM(--KÖZÉP(A1;SOR($1:$40);1))*
SOR($1:$40);0);SOR($1:$40))+1;1)*10^SOR($1:$40)/10)Ez kiszedi a szám karaktereket , és összefűzi őket egy decimális számmá. Ha 40-nél hosszabb is lehet a karaktersorozat, akkor $40 -et módosítsd ennek megfelelően. (ha elegendő kevesebb, akkor csökkentheted, ha hosszabb kell, akkor növeld, de feleslegesen túl nagy értéket ne adj meg, mert ez minél nagyobb, annál lassabb lesz.
Az excel számkezelési limitjét viszont ne lépd át, a számpontosság 15 számjegy, efelett elkezd normál alakban tárolni és kerekíteni ! Szóval nem lehet 15-nél több számjegy a karakterláncban. Ha ennél több számjegy van a
sztringben, akkor csak Delila makrós megoldása a járható út. -
0P1
aktív tag
válasz Slaci321 #34867 üzenetére
Szia
Alakítsd táblává a tartományt, és ezt írd D2-be (ha a C oszlopodat "Valami"-nek nevezed el):
=HA([@Valami]<>C1;SZÖVEGÖSSZEFŰZÉS(";";0;A2:INDIREKT("A"&SZÖVEG(KERES(9.99999999999999E+307;1/([Valami]=[@Valami]);SOR([Valami]));"0")));"")
ps: a SZÖVEGÖSSZEFŰZÉS függvény csak Excel 2016-tól műxik. Delimiternek (listaelválasztónak) azt adsz meg amit akarsz (én ";"-t adtam meg)
[ Szerkesztve ]
-
0P1
aktív tag
válasz pigster #34668 üzenetére
Nahh, csak mert te annyira haszontalannak tartod a beolvasás/átalakítás funkciót (amivel valójában ki lehet váltani a különböző worksheet függvények egymásba ágyazásával összerakott képletek 99,99%-át teljesen érthető, józan paraszti ésszel felfogható módon, a VBA makrók 90 %-át, a Microsoft Query-t szinte teljes egészében , SQL lekérdezéseket, web queryket, a hagyományos adatimportálás funkciót, a PowerPivotot, meg sok egyebet, ami eddig sehogy vagy rendkívül körülményesen volt megoldható, csak egy kicsit szemléletmódot kell váltani - a baj, hogy a felhasználók többsége - akik nem lettek külön betanítva és átnevelve - nem is tudja elképzelni, hogy ez mire képes, ezért meg sem fordul a fejükben a használata, a régi beidegződések miatt rögtön worksheet függvényekhez nyúlnának, vagy rosszabb esetben VBA-hoz, MS Queryhez, PowerPivothoz ) :
Ezért nem bírom megállni, leírom ugyanennek Excel 2016-os megoldását is (és ezt mostantól minden esetben meg fogom tenni, amikor időm engedi, amíg rá nem szokik a felhasználók többsége az új funkciók használatára ) :
Átalakítás/Oszlop felosztása/Elválasztó alapján/Szóköz/A bal szélső előfordulásnál.
Oszlop 1.2 eltávolítása -> Bezárás és betöltésNem felhasználóbarátabb és egyszerű felhasználók számára érthetőbb módszer, mint a fenti képletezés?
Megszámoltam, összesen 10 egérkattintás, teljesen grafikus felületen, minden felhasználónak eléggé egyértelmű módon, billentyűzethez hozzá se kell érni és sokkal kulturáltabb az egész megoldás számtalan okból, nem kell se cella, se strukturált hivatkozásokkal bajlódni, másolgatni a képletet, egyszer kell csak megcsinálni ezt a pár egérklikket, aztán műxik magától . Megmarad az adatforrás eredeti állapotában, de kidobja a felhasználónak az általa kért konverzió eredményét. De ez csak egy nagyon apró példa, ugye általában sokkal komplexebb dolgok vannak, amiket viszont hasonlóan pofonegyszerűen meg lehet oldani (sőt: ami lényeg oldatni! a felhasználókkal) az next-gen excel feature-ökkel.[ Szerkesztve ]
-
0P1
aktív tag
válasz pigster #34663 üzenetére
Bocs, ha kicsit ingerültebben válaszoltam, de én viszont pont abba a csoportba tartozom, akik az excelnek a jelenleg legdinamikusabban fejlődő szolgáltatásainak törzsfelhasználója, és rendszeresen küldjük a Microsoftnak
a feature suggestion-öket, és nagy örömünkre szolgál, hogy szinte minden hónapban bekerül egy-egy olyan funkció, amit régóta kérünk a Microsofttól. Persze még mindig sok minden hiányzik, de az irány egyértelműen jó.Számformátumokkal, táblázatokkal(listákkal) nem tudom, mi a gondod, ott sok fejlesztési lehetőséget nem látok. Feltételes formázással sincs sok bajom, bár az nemkritikus számomra (nem nagyon szoktam formázni, csak ha nagyon muszáj)
"amikor egy adott probléma megoldását keresem az interneten - és kiderül: nincs rá megoldás!"
Ha minden elképzelhető , valaha valamelyik felhasználó által felmerült igényt beépítenének az excelbe, akkor képzeld el, hogy milyen lenne.
Sajnos így is rengeteg felesleges feature van benne történelmi okokból, a 90-es években számtalan hülyeséggel telezsúfolták az excelt, és sajnos a meglévő dolgoktól nem lehet szabadulni a kompatibilitás fenntartása miatt."a nemrégiben felmerült adatbeolvasásos témát inkább tartom rétegigénynek - nekem eddig ha kétszer volt rá szükségem"
Akkor te nem vagy vállalati hardcore excel felhasználó, de hidd el, a vállatoknál (akik az elsődleges célpiaca az Excelnek) ez kiemelten fontos téma jelenleg,
óriási összeget tudunk megtakarítani a Self-service BI-vel , ami által nem kell progromazót vagy SQL szakit ültetni minden egyes júzer mellé, hanem egyszerűen betanítjuk őket ezeknek az új excel funkcióknak a használatára.
Ezekkel ugyanis már tényleg olyan szinten leegyszerűsített módon meg lehet oldani olyan kompley dolgokat, amihez korábban IT szakember segítéségre volt szükség."Mindenesetre gyakrabban kell, mint a core alkalmazásban szereplő ELTÉRŐ.UÁR, ÉCSRI, UTOLSÓ.SZELVÉNYDÁTUM és hasonló függvények."
Hát, igen, rengeteg baromság van benne, de mint írtam az előbb, sajnos ezektől nem lehet szabadulni. De nem kéne tovább halmozni a szemetet
" Adatérvényesítésnél: Lista -> Forrás: =INDIREKT("táblázatneve[Oszlopnév]"), nem ám "simán" INDIREKT nélkül megadva.
- Táblázatoknál kumulált összeg esetén: =SZUM(INDEX([Havi egyenleg];1):[@[Havi egyenleg]]), csak azért, mert itt nem lehet "abszolúttá" tenni egy hivatkozást. Eléggé top problémák között van a fórumokban a táblázatok struktúrált hivatkozásainak problémaköre"Ezek tényleg jó példák, ezek közül van, ami engem is zavar, de annyira nem, hogy emiatt feature suggestiont írjak (vannak számomra sokkal égetőb hiányosságok is) . De ha téged igen, akkor megteheted, ha elég felhasználótól kapják meg, akkor orvosolni fogják.
-
0P1
aktív tag
válasz pigster #34661 üzenetére
"Sajnos az újabb és újabb Excelekbe mindenféle ökörséget beletesznek,"
Látom nincs sok fogalmad arról, hogy miket tesznek bele az újabb és újabb Excelekbe. Az Excel pontosan mostanában éli át legnagyobb fejlődési szakaszát, éveken át (2003-2013 között) gyakorlatilag semmi értelmes funkcióval nem bővült a tudása, de előtte is nagyon lassan fejlődött, nagyon elkényelmesedett a MS, miután 1995 körül gyakorlatilag monopolhelyzetbe került a táblázatkezelők piacán.
Mostanában viszont havonta jönnek az igazán értelmes, sokak által várt funkcionális frissítések, amik valóban előjönnek mindennapi használat során. Hála annak, hogy végre odafigyelnek a felhasználói visszajelzésekre, és telemetriai módszerekkel gyűjtik a felhasználói szokásokat.
Valójában az lenne nagy ökörség, ha egy olyan dolgot tennének bele, amit például te kértél most, ha kicsit jobban belegondolnál, akkor rájönnél, hogy miért, ez egyáltalán nem Excelbe való. És amúgy rétegigény, a valós életben a legritkábban van ilyenre szükség, ilyen funkciókkal kár lenne telehalmozni a core alkalmazást.[ Szerkesztve ]
-
0P1
aktív tag
Na akkor Delila javaslata alapján módosítva :
Function SzámKivesz(strSearch As String) As String
Dim i As Integer, tempVal As String
For i = 1 To Len(strSearch)
If IsNumeric(Mid(strSearch, i, 1)) Or Mid(strSearch, i, 1) = Application.International(xlDecimalSeparator) Then
tempVal = tempVal + Mid(strSearch, i, 1)
End If
Next
SzámKivesz = tempVal
End Function -
0P1
aktív tag
válasz Delila_1 #34656 üzenetére
De pont az volt a cél, hogy string-ként deklaráljuk, mert ha szám, akkor beleütközünk az excel 15 számjegyes korlátjába, és kerekíteni fog a függvény (ha meg úgysem haladjuk meg, jó az előző válaszomban írt képletes változat is, akkor nem kell VBA)
A lehetséges elválasztók vizsgálata viszont jó ötlet, ez viszont csak a VBA-s megoldásban oldható meg, csak nem tudom, hogy tudom kinyerni VBA-val a tört elválasztót.
-
0P1
aktív tag
válasz Delila_1 #34655 üzenetére
Woww, ez szép, de abban 99,99%-ig biztos vagyok, hogy az eredeti NUMBERSTRING függvény (akármelyik táblázatkezelőből is származik) nem azt csinálta, hogy kibetűzte a beírt számot, számtalan okból kifolyólag is.
Bár jobban meggondolva, a függvény magyarítása alapján pigster lehet, hogy valami ilyesmit keres, ez nekem eszembe se jutott. (gondolom, nem sok gondot fordítottak a Microsoftnál arra, hogy értelmes magyar nevet adjanak egy rejtett, nem támogatott függvénynek). Te kitalálod a kérdezők gondolatait Szerintem inkább olyasmit csinálhatott, mint a SZÖVEG(), csak annyi korlátozással, hogy nem bármilyen értéket tudott szöveggé alakítani, hanem csak számot. De most már tényleg érdekel ennek a függvénynek az eredete, este utána kutakodok egy kicsit, porosodik valahol a padláson pár öreg quattro pro, Visicalc és Lotus 1-2-3 kézikönyvem, ezek közül lesz valamelyik (utóbbit még használtam is a 90-esek évek közepén, és nekünk még a fősulin is ezen tanították a táblázatkezelést) -
0P1
aktív tag
válasz olloczky #34606 üzenetére
Sziasztok, ez a feladat annyira megtetszett, hogy egy kicsit továbbfejlesztettem, ezen nagyszerűen lehet demonstrálni az Excel 2016 beolvasás/átalakítás funkciójának az erejét
Ide feltöltöttem:
Csak Excel 2016-al műxik, vagy 2010/2013-mal, de akkor PowerQuery bővítmény is kell.
Amit csinál: a "számok" oszlopba beírt számokat kikeresi a kenó nyertes számok között (1998.10.19-ig visszamenőleg, előtte levő sorsolásoknál nincs meg se a nap száma, se sorsolás dátuma) a https://bet.szerencsejatek.hu/cmsfiles/keno.html oldalról, és kidobja azokat a napokat/húzásdátumokat/kihúzott számokat, ahol az összes megadott számot kihúzták. Hibatűrő, vagyis véletlenül megadott duplikátumokat eltávolítja .
CSak be kell írni a számokat, a "Számok" táblába, és Adatok / Összes frissítése
Ha érdekel, leírom, hogy kell csinálni (valójában pár egérkattintás, nem több, mint 3 perc az egészet összedobni)Kicsit erőforrás igényes, de igény szerint lehet rajta optimalizálni
-
0P1
aktív tag
válasz DrojDtroll #34651 üzenetére
Az operációs rendszerben.
Windows esetén (angolban tudom, magyar windows most nincs közelben):
Control Panel - Change date, time or number formas - Additional settings - List separator
MacOS kicsit butább, ott nem lehet külön lista elválasztót megadni, ugyanaz, mint a tizedes elválasztó, amit itt tudsz beállítani :
System Preferences, Language & Region , Advanced -> Decimal separator
-
0P1
aktív tag
Ha 15 számjegynél többet is le akarsz kezelni, akkor viszont a kimenet nem lehet szám, csak sztring, ez viszont sztenderd worksheet függvényekkel csak nagyon komplikáltan oldható meg. Ebben az esetben sokkal egyszerűbb egy UDF VBA-ban:
Function SzámKivesz(strSearch As String) As String
Dim i As Integer, tempVal As String
For i = 1 To Len(strSearch)
If IsNumeric(Mid(strSearch, i, 1)) Then
tempVal = tempVal + Mid(strSearch, i, 1)
End If
Next
SzámKivesz = tempVal
End Function -
0P1
aktív tag
válasz Krogoth #34645 üzenetére
egy "kissé" komplikált képlettel megoldható
Ha A1-ben van az input, és a maximális hossza stringnek 40 karakter, akkor ezt írd be valahova:
=SZORZATÖSSZEG(KÖZÉP(0&A1,NAGY(INDEX(SZÁM(--KÖZÉP(A1,SOR($1:$40),1))*
SOR($1:$40),0),SOR($1:$40))+1,1)*10^SOR($1:$40)/10)Ez elvileg ki fogja szedegetni a szám karaktereket , és összefűzi őket egy decimális számmá. Ha 40-nél hosszabb is lehet a string, akkor $40 -et módosítsd ennek megfelelően. (ha elegendő kevesebb, akkor csökkentheted, ha hosszabb kell, akkor növeld)
Viszont vigyázat: Az excel szám kezelési limitjét ne döntögesd meg, a számpontosság 15 számjegy, efelett, elkezd normál alakban tárolgatni és kerekítgetni !
-
0P1
aktív tag
válasz pigster #34539 üzenetére
Szia, ez egy nem dokumentált, úgy nevezett "rejtett" függvény. Ezeket csak visszamenőleges kompatibilitási okokból hagyta bent a Microsoft (általában nagyon régi excel verziókból, vagy Visicalc, Lotus 1-2-3 szoftverekből öröklődtek ezek), azért, hogy a régi táblázatkezelő szoftverekben készített file-okat is meg tudja nyitni az excel.
Vagyis ezeknek a használata nem javasolt, (nem véletlenül vannak elrejtve). általában azért, mert ezeknek a funkcionalitását azóta kiváltotta a Microsoft valami más, fejlettebb függvénnyel .
Sajnos, akárhogy kerestem régi táblázatkezelős fórumokon (keresgélhetsz te is: "NUMBERSTRING spreadsheet function"-re keresgélj , én sehol nem találtam meg, hogy hogy működött régen ez a függvény, és azt sem, hogy melyik szoftverből öröklődött. Így sajnos ma már azt sem tudni, hogy egyáltalán mire szolgált pontosan annak idején. Valamikor a 80-as évekből jöhet, az biztos, mert 90-es évek elejétől azért megtalálni minden info-t a weben.
Ha nagyon érdekel a dolog, esetleg régi, 80-as években született számítástechnikai könyvekben keresgélhetsz.
De egyébként miért ragaszkodsz ennek a függvénynek a használatához? Esetleg valami kutatómunkát végzel a táblázatkezelők történetéről ?
Vagy valami konkrét feladatot szeretnél megoldani mai excelben? Akkor írd le kérlek, hogy mit szeretnél pontosan. A függvény megnevezése alapján szerintem ez valami olyat csinálhatott, hogy szöveggé alakította valami más adattípusú (pl szám) cella értékét. Ha ezt szeretnéd, akkor erre a TEXT() - magyarul SZÖVEG() függvény használatos .
Például
=SZÖVEG(1234;"0000000")
ezt a stringet adja ki : "0001234" , de komlikáltabb konverzió is megadhatsz, pl=SZÖVEG(1234567898;"[<=9999999]###-####;(###) ###-####")
eredménye (123) 456-7898 lesz -
0P1
aktív tag
válasz Zola007 #34642 üzenetére
Hát, ezek alapján elég nehéz még csak elképzelni is, hogy mit is szeretnél pontosan.
De ha jól értem, valami HTML oldalt szeretnél, beágyazott videókkal, képekkel, szöveggel. Érdeklődj a Word szakmai topicban, az alkalmas alapszintű HTML-re, de kérlek, majd fogalmazz pontosabban, hogy megértsék, mit is szeretnél.
Komplikáltabb web page-hez valami professzionális web designer eszközt javaslok. Pl Adobe Dreamweaver, Quante Plus, Aptana, Microsoft Expression Web, OpenBexi, BlueFish, CoffeeCup, Amaya, Microsoft Visual Web Developer, KompoZer, stb.
-
0P1
aktív tag
Igen, ez inkább matek, mint excel
Információhiányod van, mivel 6 ismeretlened van és 4 független egyenleted.
Az utolsó (2016 egész vére vonatkozó) ugyanis felesleges, az kiszámolható a rendelkezésre álló információkból.
Még legalább két független információ hiányzik, hogy egyértelműen megoldható legyen (pl 2 negyedév adata) -
0P1
aktív tag
Ugye két módon tudsz átvenni küldő adatot, a régi jó öreg Microsoft Query-vel vagy Excel 2016 Beolvasás/átalakítással (korábbi excelekben PowerQuery).
Javaslom az utóbbit használatát. Így (függetlenül a saját windowsod/exceled beállításaitól) röptében át tudsz alakítani bármilyen adattípust.
A lekérdezés szerkesztőben jobb egér az oszlopokon - típus módosítása - nyelvterület használata - adattípus : tizedes tört - területi beállítás : angol.
Így fel fogja ismerni, hogy az adatforrásod angol beállítást használ (a tizedes elválasztó pont), de az outputodhoz nem nyúl, az olyan formában marad, amit akarsz, vagyis maradhat vessző. Így nincs szükség külön oszlopra , és továbbra is frissülni fog percenként , de már az általad kívánt formában. Gondolom FFeri50 is ilyesmire gondolt a frissítő rutin módosítása alatt. (Microsoft query-vel ez sajnos nem oldató meg, azzal én is mindig segédoszlopokat használtam ilyenekre, de Beolvasás/átalakítással szerencsére minden megoldható) -
0P1
aktív tag
válasz #65388800 #34537 üzenetére
Nincs függvény a lineáris interpolációra. De vannak 3rd party excel add-inek, amikben van, vagy például itt is van egy UDF ilyen célra (csak másold be a kódot egy modulba):
http://wellsr.com/vba/2016/excel/powerful-excel-linear-interpolation-function-vba/
Vagy, meg tudod oldani makró nélkül is, rendelkezésre álló függvények használatával (ELŐREJELZÉS, HOL.VAN és ELTOLÁS) az alábbi módon:
=ELŐREJELZÉS([@[Új X]];ELTOLÁS(IsmertY;HOL.VAN([@[Új X]];IsmertX;1)-1;0;2);ELTOLÁS(IsmertX;HOL.VAN([@[Új X]];IsmertX;1)-1;0;2))
Ha a táblád "Új X" oszlopában szerepel az keresett Y értékhez tartozó X érték, és IsmertX tartományban vannak az ismert X-ek, IsmertY tartományban pedig az ismert Y-ok.
[ Szerkesztve ]
-
0P1
aktív tag
válasz DrojDtroll #34560 üzenetére
Mivel az excelben minden worksheet függvény kimenete mindig a cella tartalma, nem pedig akármilyen attribútuma, ezért természetesen ez lehetetlen.
-
0P1
aktív tag
válasz föccer #34569 üzenetére
"makróval ki lehet szedni a cella színét, de (tudtommal) függvénnyel ezt nem lehet megcsinálni"
De igen, GET.CELL() függvénnyel lehet különböző cellainformációkat kinyerni, a cella színét (background color) a 63-as argumentummal, viszont ez a függvény csak name managerben műxik, és nem frissül automatikusan.
itt a teljes argument lista :https://www.mrexcel.com/forum/excel-questions/20611-info-only-get-cell-arguments.html
-
0P1
aktív tag
válasz Delila_1 #34520 üzenetére
Hát elég nehéz képek alapján kitalálni, mit szeretne pontosan a kérdező, ezért is lenne jó, ha mindenki feltöltené valahova a filet.
Nekem mindenesetre az sehogy sem jött le az ábrából, hogy az alapadatokban is lenne "hét" oszlop, és az alapján is kellene összesíteni.
-
0P1
aktív tag
válasz joysefke #34508 üzenetére
"Végül nem sikerült összehozni amit OP1 írt,"
Hát nem, tudom, hogy miért nem, pedig műxik (valszleg ugyanazért, amiért a másik kérdésedben szereplő ={1, 2, 3} tömbkonstans megadása sem jött össze, valami gond lehet azzal módszerrel, ahogy te beviszed a tömbképletet.
"tehát egyszerűsítettem a problémát: Az útvonal megnevezésnek pontosnak kell lennie"
Nem kell leegyszerűsíteni a problémát, a fenti működik az útvonal nem pontos egyezése esetén is. Viszont én eddig úgy értelmeztem, hogy az Alapadatokban törzsadatok szerepelnek, vagyis nem szerepelhet ugyanaz az út többször is (ezért adtam meg MAX-ot, így többszörös találat esetén a maximálisat adta vissza, ami ugyanaz volt értelemszerűen, mint az egyetlen találat) .
Ha viszont többszörös előfordulás is lehetséges , és ilyenkor összegezni akarod a találatokat, akkor csak cseréld ki a MAX-ot SZUM-ra:{=SZUM(HA(HIBÁS(SZÖVEG.TALÁL(Alapadatok[Útvonal],[@Út])),HAMIS,Alapadatok[Szint]))}
Megosztottam a mintát (amíg nincs PH-s fájlmegosztás, marad a OneDrive :
"A =SZUMHA(X5:X28; SZÁM(X5:X28)=IGAZ) nullát dob ki (pedig vannak benne pozitív számok). Miért? Esetleg a SZÁM(X5:X28)=IGAZ kiértékelése azonnal megtörténik a teljes tartományra és HAMIS-at ad eredményül és ez a SZUMHA összes lépését leállítja?"
Nem, nem ezt történik. A SZÁM(X5:X28) függvény kiértékelése akkor és csak akkor lesz IGAZ, ha az X5 szám (függetlenül attól, hogy mi van X6:X28 tartományban). A probléma az, hogy SZUMHA függvénynek csak értéket, vagy operátort tudsz megadni, függvényt nem (legalább is ebben a formában nem, csak tömbképletezéssel).
De nem is lenne semmi értelme, mert a SZUMHA eleve csak akkor adja a számokat, ha azok számok
Így - ha csak teljes egyezést akarnál vizsgálni, és összegezni - akkor elég lenne egy SZUMHA függvény, ahogy Delila is írta (többszörös feltétel esetén SZUMHATÖBB kellene, de ilyenről nem volt szó az eredeti problémafelvetésedben)Ha pedig csak teljes egyezést akarsz, és nem szerepelhet az alapadatokban ugyanaz az út többször, akkor elég egy egyszerű FKERES, (szummázásra semmi szükség ), többszörös feltétel esetén INDEX + HOL.VAN kombináció.
Ha pedig szövegrészletre keresés, akkor meg az általam írt módszer működhet. Keresés esetén (1:n kapcsolat ) a MAX-os, összegzés esetén (n:m kapcsolat) a SZUM-os verzió. Természetesen szükség esetén ennek is meg lehet adni korlátlan számú feltételt.
De az ilyen jellegű feladatokra egyébként sokkal elegánsabb az Excel 2016 Beolvasás/kiértékelés funkcióját használni, mint akármilyen függvényeket (különösen, ha komplikáltabb dologról van szó) .
-
0P1
aktív tag
válasz joysefke #34507 üzenetére
={alma, körte, gamma}
képlettel természetesen hibát kapsz, mivel nincsenek ilyenek definiálva a névkezelőben. De ugyanígy hibát fogsz kapni pontosvesszővel is.
Vagy akkor is, ha egyszerűen, tömbképlet nékül azt írod be, hogy=alma
Ha a stringeket akarod megadni a tömbnek, akkor idézőjelbe kell tenned:={"alma","korte","alma"}
+CSE
Viszont az={1, 2, 3}
+ CSE -nek nem kéne hibára futnia. Biztos, hogy így írtad be? -
0P1
aktív tag
válasz joysefke #34502 üzenetére
Igen, lehet ilyet Excel 2016-ban, úgy hívják, hogy beolvasás/átalakítás funkció (Adatokban) és Összevonás/Lekérdezések egyesítése
tud left outer joint, right outert, innert, lefta antit, right antit és full outert is .CSakhogy te nem ilyet szeretnél, mert szövegrészletre keresnél, ilyet nem tud az SQL sem , és az Excel Beovasás/átalakítása sem (az egyébként tud mindent, amit az SQL is, sőt annál többet) . Ehhez az előbb általam írt tömbképlet szükséges . Más megoldás legalább is hirtelen nem jut eszembe. (vagy makró, de az még csúnyább megoldás)
-
0P1
aktív tag
válasz joysefke #34496 üzenetére
Hello,
{=MAX(HA(HIBÁS(SZÖVEG.TALÁL(Alapadatok!L:L,Edzésnapló!G4)),HAMIS,Alapadatok!N:N))}
Tömbképlet, tahát Ctrl+Shift+Enterrel vidd be. A kapcsos zárójeleket nem kell bemásolnod, azt az excel automatikusan kiteszi Ctrl+Shift+Enterre
Megjegyzés: így, hogy egész oszlopban keresel, ez elég lassú lesz, de nem tudom, meddig terjed a tartományod az alapadatokban. Javaslom módosítsd vagy tartományhivátkazosra, (természetesen abszolút hivatkozással ), de sokkal célszerűbb táblává alakítani a tartományt, és tartományhivatkozás helyett strukturált hivatkozást használni , valahogy így:
{=MAX(HA(HIBÁS(SZÖVEG.TALÁL(Útvonal[Útvonal],[@Út])),HAMIS,Útvonal[Szint]))}
Így nem kell bajlódnod a függvénymásolgatással, és azzal, hogy meddig terjednek a tartományaid, így lesz a teljesítmény is optimális, és a képlet is átlátható és strukturált.
[ Szerkesztve ]
-
0P1
aktív tag
válasz Aladaar #34459 üzenetére
Lehet, hogy félreérthetően fogalmaztam, az Excel 2016 óta elérhető beolvasás/átalakítás funkció mellett (2010-hez és 2013-hoz PowerQuery bővítménnyel pótolható, 2010-nél korábbi Excelek viszont már nem támogatottak) nincs szükséged segédtáblákra, és nyakatekert worksheet függvényekre se, így a munka" nevű worksheeted is teljesen kiküszöbölhető.
És én is így oldottam meg a feladatod. Ez a lényege az egésznek. Elismerem, hogy sok munka volt a sok nyakatekert függvényekkel, de beolvasás/átalakítás mellett nincs semmi ilyesmire szükség Ami kell: az input file (amit az rtf-ből bemásolsz) és a könyveléshez szükséges paramétereid, ( ami a "segédtábla" nevű worksheeten van).
Nem kel semmi egyéb, a beolvasás/átalakítás funkcióval át tudod alakítani a kívánt outputtá az inputodat, legyen az input bármennyire strukturálatlan illogikus szemét, és legyen a kívánt output bármilyen.
(azért bizonyos keretek között, valamennyi minimális logikának ezért kell a lennie a struktúrában, hiszen ellenkező esetben nem csak mesterséges, de természetes intelligenciával se lehetne feldolgozni az inputot)
Szóval, pliz felejtsd el amit csináltál eddig, csak azt add meg, hogy milyen struktúrájú legyen az output pontosan, amit aztán be tusdz olvasni a könyvelőprogramodba / integrált rendszeredbe (lehet bármilyen, bármi megoldható, tényleg .... )[ Szerkesztve ]
-
0P1
aktív tag
Na inkább megcsináltam gyorsan, mert nem válaszoltál, én meg nem leszek most netközelben .
Kattints a "Forrás" query-re, és browse-old be a forrás file-odat, ami olyan formátumú, mint amit megosztottál az előbb. ( kis fogaskerékre kattints a Source mellett)
Csak az "eredeti" és "segédtábla" munkalapok fontosak (azok legyenek benne, ilyen formátumban és ilyen névvel)
ezután frissíts a query. (Jobb egér - frissítés, vagy Adatok->frissítés -mind frissítése)
Megjegyzés: MKB SZÉP KÁRTYA Csoportos átutalás jóváírás azért üres ofset eseményhez, főkönyv
, partnerkód, ofset közleményhez oszlopok, mert a segédtábládban sincs ilyen rekord. (gondolom, még nem végleges)
Ha kitöltötted, akkor csak frissíts rá a queryre megint.Még egy észrevétel: a segédtáblát talán érdemesen külön file-ban tárolni, mert az "törzsadat" nem ugyanabban, mint a rendszeresen frissítendő tranzakciós adatokat.
Majd ha lesz egy kis időm, elmagyarázom lépésről lépésre, hogy állítottam össze (összedobni kb 5 perc, de ledokumentálni/elmagyarázni majdnem egy óra
-
0P1
aktív tag
válasz Aladaar #34456 üzenetére
Hello,
Nem , ehhez nem makró kell (azzal is lehet, de feleslegesen túl bonyolultan) , viszont a worksheet függvényezést, segédtáblázást is felejtsd el. Ehhez Beolvasás/átalakítás (Get&Transform) funkció kell. Azt többek között pont ilyen feladatokra találták, azzal kb 3-4 perc (pár kattintás) egy ilyet leautomatizálni. Cak egyszer kell megcsinálnod, utána csak a forrást kell kicserélned, és frissíteni az outputra. Excel 2016-ban (és O365-ben) benne van alapból, 2010-hez és 2013-hoz PowerQuery add-in szükséges .
Magyarul:
https://www.microsoft.com/hu-hu/download/details.aspx?id=39379
Angolul:
https://www.microsoft.com/en-us/download/details.aspx?id=39379
Írd meg, milyen nyelvű és verziójú az exceled és , és annak megfelelően megírom a lépéseket. Ha egy mintát fel tudsz tölteni, hogy pontosan milyen formátumú legyen az output (amit aztán rögtön be tudsz importálni a rendszeredbe) akkor pontosan olyanra tudom alakítani röptében a beolvasás/átalakítással .
-
0P1
aktív tag
válasz föccer #34454 üzenetére
transzponálgatás nélkül is megoldható:
Kijelölöd a táblázatot, Rendezés és szűrés->egyéni sorrend->Beállítások gomb -> balról jobbra (felülről lefelé helyett) -> OK -> kiválasztod, hogy melyik sor alapján rendezze (első) és OKszlovákul nem tudom, de angolul:
Editing, Sort&Filter/Custom sort/Options/Sort left to right -> select sort by row (first one) , OK
[ Szerkesztve ]
-
0P1
aktív tag
válasz Dufresne #34441 üzenetére
Excel 2016-ban (vagy O365ben) gond nélkül megoldható, 2010-ben és 2013-ban csak Power Query bővítménnyel. [link]
A lényeg, először olvasd be az adatforrást egy PowerQuery-be, (Excel 2016-hoz nem kell PowerQuery: Adatok->Beolvasás és átalakítás->táblázatból) távolítsd el a felesleges oszlopkat (kijelölöd őket, és "Oszlopok eltávolítása" gomb - az eredeti táblában persze megmaradnak az adatok, csak a queryből törlődnek) - Bezárás és betltés adott helyre->Csak kapcsolat létrehozása
Ezután hozz létre egy új Pivotot, aminek adatforrásként ezt a queryt adod meg. (Beszúrás->Kimutatás->Külső adatforrás használata, és válaszd ki az imént létrehozott queryt)És kész. Természetesen az eltávolított mezőket nem használhatod se szűrőként, se oszlop vagy sor adatként, se értékként a Pivotban, de ez gondolom, logikus.
Ha akarod, hagyományos pivot helyett használhatsz PowerPivotot is Excel 2013-ban (query betöltésekor hozzáadás adatmodellhez checkboxot be kell pipálni), de jelen esetben teljesen felesleges, ez megy a régi jó öreg mezei pivottal is.
[ Szerkesztve ]
-
0P1
aktív tag
lejárt a szerkesztési idő:
ezzel a betű színt mégsem tudod kiszedni, csak a a cella háttérszínét (én legalábbis nem találtam rá argumentumot)
Talán azt egyszerűbb lenne egy egyszerű UDF-fel:Function FontColor(CellColor As Range)
Application.Volatile
FontColor = CellColor.Font.ColorIndex
End Function -
0P1
aktív tag
Igen, ez általában memory allocation hiba. (kifutsz a rendelkezésre álló RAM-ból)
Igen, az esetek 90%-ban lehet optimalizálni, ehhez persze látni kéne a problémás file-jaidat.Főleg a 32 bites excelt sújtja ez a probléma, 64-bittel általában orvosolható (vagyis enyhíthető -még akkor is, ha amúgy nem bővíted a RAM-ot)
A 32 bites excel ugyanis max 2 GB memóriát tud lekezelni (virtuális memóriával együtt), de valójában, már 1 Giga RAM használat alatt is elszállhat, 64 bitesen nincs ilyen korlát. Így még akkor is segíthet a 64 bit, ha amúgy kevés a RAM-od, még ha lassan is, de végrehajtja a dolgot, legalább nem fagy bele, mint a 32 bites.
De a legegészségesebb persze az lenne, ha optimalizálnál is, RAM-ot is bővítenél, és áttérnél 64 bitre
-
0P1
aktív tag
-
0P1
aktív tag
válasz Delila_1 #34245 üzenetére
Na, azt hiszem félreérted. Ez nem Ferinek szólt. Ő csak készségesen befejezte, és olyan módon ahogy kérték. Amúgy elismerésem.
Hanem a kérdezőnek szólt, és annak a (valljuk be, eléggé elmebajos) ötletnek, hogy ezt a más módon amúgy pofonegyszerűen megoldható feladatot függvényekkel oldja meg, hátulról vakarva a fejét.
És annak, hogy ahelyett, hogy elolvasta / kipróbálta volna a felajánlott / valóban egyszerű és célszerű megoldást, inkább kioktatta látatlanban a választ adót. Hát ilyenkor nem biztatnám arra a felhasználót, hogy ragaszkodjon a butasághoz, hanem inkább rávezetném a helyes eszköz alkalmazására.
Mert persze meg lehet oldani szinte mindent, be lehet tekerni egy csavart késheggyel is, de minek, amikor feltalálták a csavarhúzót is?Mert ez akkor is tákolás, nem más. De nem feltétlenül pejoratív értelemben, mert brainstormingnak érdekes, azt elismerem, Amúgy peace
-
0P1
aktív tag
válasz Fferi50 #34241 üzenetére
Hello,
Igen, valami ilyen tákolásra gondoltam én is a "rendívül körülményes" módszer alatt, de nem voltam halandó kiagyalni , főleg , hogy van ezerszer egyszerűbb és átláthatóbb megoldás is (Beolvasás/átalakítás) Régen valóban ilyenekhez kellett folyamodni ilyen feladatokhoz, (vagy VBA-hoz , az ilyen függvényezésnél még az is szebb megoldás ), de ma már hála istennek nem vagyunk rászorulva.
[ Szerkesztve ]
-
0P1
aktív tag
válasz KaliJoe #34238 üzenetére
"Viszont én, ha csak egy mód van rá nem akarok változtatni az adatrögzítő tábla mostani - rögzítés közbeni - véletlenszerű elrendezésén. A segítség az, ha úgy tudsz mondani megoldást, ha az adatrögzítő tábla közben nem változik."
Amit írtam, az pontosan olyan megoldás De bővítmény nélkül csak Excel 2016-tól van bent ez a funkció
De ha 2010-esed van, akkor is megoldható PQuery bővítménnyel:https://www.microsoft.com/hu-HU/download/details.aspx?id=39379
-
0P1
aktív tag
válasz KaliJoe #34235 üzenetére
Szia, ezt worksheet függvénnyel csak rendkívül körülményesen tudod megoldani.
Javaslom inkább Excel 2016 Beolvasás és átalakítás funkcióját:
1 Jelöld ki A2:I23 tartományt, Beolvasás és átalakítás -> Táblázatból (táblázat rovatfejekkel)
2 Átalakítás/Első sor használata fejlécként ->Fejlécek használata első sorként
3 Átalakítás/transzponálás
4 Kezdőlap / oszlopk kiválasztása ->válaszd ki első és utolsó oszlopt
5 Ha akarod elnevezheted az oszlopokat tetszés szerint (jobb egér az oszlopon / átnevezés) pl Név-re és szavazatra
6 Rendezd csökkenő sorrendbe szavazat alapján ( a kis szűrő nyilacskával kattintva az oszlop fejlécén)
7 Beolvasás és betöltés adott helyreÍgy a káposzta is megmarad és a kecske is jóllakik . Megmaradnak eredeti adataid is, sőt, ha az alapadat változik csak rá kell frissíteni (jobb egér -> frissítés) a lekérdezésre
[ Szerkesztve ]
-
0P1
aktív tag
Megkaptam a filet.
Akkor még tedd be e következő lépeseket .
1. Miután összefűzted a táblákat, kattints az Átalakítás / Első sor használata fejlécként gombra.
2. Felvétel időpontja oszlopra tegyél be egy szűrőt ( nem egyenlő Felvétel időpontja - ezt ki tudod választani is a legördülőlistából, nem kell begépelned) és nem egyenlő null (ahogy látom, van, ahol van üres sorod)3. Elszámolás tényleges időpontja (ahol egyesített celláid vannak) oszlopra kattint, majd Átalakítás -> Kitöltés -> le
Ennek persze az a hátránya , hogy természetesen nem fogja tudni az excel, hogy azért null valahol az érték, mert cellát egyesítettél, vagy azért, mert nincs is elszámolás.
Megoldás: ne használj cellaegyesítést (ha dolgozni is szeretnél a táblával, nem csak kinyomtatni) Én személy szerint rácsapnék mindenkinek a kezére, aki cellát egyesít, teljesen ellentétes minden logikával.
-
0P1
aktív tag
Úgy értem, hogy a hagyományos oszlop/sor logikát és közvetlen cellahivatkozásokat felejtsd el.
Természetesen adatbázis táblákban (Excel táblákban) is vannak sorok és oszlopok, csak ott rekordoknak és mezőknek hívjuk, és egy kicsit máshogy működnek a dolgok
Használj táblákat és strukturált hivatkozást :
VLOOKUP-ot (FKERES-t) és hasonló őskövület függvényeket (SZUMHA, DATRABTELI és társai) szintén felejtsd el, használd az excel 2016 beolvasás/átalakítás funkcióit (Lekérdezések egyesítése/összefűzése, Csoportosítás, stb) .
[ Szerkesztve ]
-
0P1
aktív tag
Hát az tény, hogy eredetileg nem adatbáziskezelésre találták ki az Excelt, de ma már elég jól használható ilyen célra is.
Oszlop/sor logikát felejtsd el.
Amit még felejts el: ne használj range-eket, cellahivatkozásokat.
Minden adatod legyen táblába szervezve (Beszúrás -> Tábla) , és strukturált hivatkozásokat használj.
Jó, ha Excel 2016-od van (esetleg Excel 2010 vagy 2013, powerquery bővítménnyel)
Nem, OpenOffice-t felejtsd el, az teljesen alkalmatlan ilyen célra, csak MS Excel jöhet szóba. És MS Excelből is csak a teljes, Windows-os verzió.
Butított excelek, (Mac-es, tabletes (iOS, Android) , office online-os és UWP-s) nem támogatnak ilyen feature-öket.
64 bites legyen lehetőleg, főleg, ha nagy tömegű adattal dolgozol. -
0P1
aktív tag
válasz Krogoth #34212 üzenetére
De, lehetnek nyugodtan extra igényeid, Excel 2016-ban minden megoldható Viszont látnom kéne annak az excel file-nak a szerkezetét, hogy meg tudjam mondani, hogy mi a megoldás. Meg tudod valahogy osztani ? Az adatokat törölheted, ha titkosak, de egy sor maradjon bent minden munkalapon, kicserélheted valami dummy adatokra.
-
0P1
aktív tag
válasz Fferi50 #34201 üzenetére
Szia, ez szerintem nem azt csinálja, amit ReSeTer kért (én legalábbis nem így értelmeztem)
Ez így ebben a formában az adott cellában szereplő érték összes előfordulás számát adja ki az oszlopban, ha az három vagy annál több.
ReSeTer szerintem úgy szeretné, hogy azt adja vissza, hogy hány olyan cellatartomány van, ahol háromszor vagy annál többször szerepel AKÁRMILYEN érték egymás után (vagyis nem üres).
"Azt számolja, hogy hányszor fordult elő az, hogy egy oszlopban egymás után 3 vagy több cellában is szerepel bármi (szöveg) megszakítás nélkül."
34200-as válaszom ezt csinálja , de ha meg tudnád egy kicsit módosítani tömbfüggvénnyel, hogy ne legyen szükség egyáltalán segédoszlopra, az jó lenne
-
0P1
aktív tag
válasz ReSeTer #34199 üzenetére
Hát ezt két segédoszlop igénybevételével tudom a legegyszerűbben elképzelni :
Ha pl az A oszlopban vannak az adataid, akkor B2-be írd be:
=HA(ÜRES($A2),0,1)
és húzd le a képletetC4-be meg, hogy
=ÉS(SZUM(B2:B4)=3,SZUM(B1:B3)<3)
és húzd le ezt isAztán valahova írd be, hogy
=DARABTELI(C:C,"IGAZ")
Persze durva tömbfügvényezéssel a segédoszlopok is kiküszöbölhetőek
[ Szerkesztve ]
-
0P1
aktív tag
válasz ReSeTer #34193 üzenetére
Egy kicsit pontosítanád a kérdést?
Tehát azt szeretnéd, hogy ha háromszor vagy annál többször szerepel közvetlenül egymás után akármilyen érték (vagy ugyanaz az érték ? - ezt is pontosítsd) egymás alatt egy adott oszlopban, akkor megszámoljon, de mit? Az olyan cellákat, amik megfelelnek a fenti kritériumnak, vagy az ilyen cellatartományokat (range-eket) ?
[ Szerkesztve ]
-
0P1
aktív tag
válasz Juditta_56 #34191 üzenetére
Talán azért, mert ez csak Excel 2016 óta van, és abban is csak a 2016 májusi update óta
Egyébként más hiánypótló, régóta várt függvények is bekerültek azzal az update-tel, úgy mint :TEXTJOIN (magyarul SZÖVEGÖSSZEFŰZÉS) - ezt már nagyon régóta vártuk, így már végre lehet megadni akár range-et inputként
CONCAT (FŰZ) - hasonló az előzőhöz, csak kicsit limitáltabb tudással
IFS (HAELSŐIGAZ) - IF több feltétellel, a magyarítása kicsit érthetetlen számomra
SWITCH (ÁTVÁLT) - végre nem kell többszörös feltétel vizsgálat esetén (különböző kimenettel) egy halom IF függvényt egymásba ágyazni
Új hozzászólás Aktív témák
- Poco X3 Pro - hardverfrissítés
- Titokban új Ryzent kaptak a Socket AM5-ös alaplapok
- One mobilszolgáltatások
- Gumi és felni topik
- Kínai és egyéb olcsó órák topikja
- Opel topik
- Google Pixel topik
- Filmvilág
- Mostantól Tajvanon kívülre is viheti 2 nm-es node-ját a TSMC
- Elon Musk kezébe adnák az amerikai TikTokot
- További aktív témák...
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Vírusirtó, Antivirus, VPN kulcsok
- Eladó Steam kulcsok kedvező áron!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig