- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S23 Ultra - non plus ultra
- Apple iPhone 17 Pro Max – fennsík
- Xiaomi 14T Pro - teljes a család?
- Megérkezett végre a várva-várt órafrissítés
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Szerényebb panelt kap a OnePlus 15
- Samsung Galaxy Watch7 - kötelező kör
- Filléres telefonok érkeztek a ZTE-től
-
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
-
föccer
nagyúr
PQ-t nem szeretnék behozni. Verziószámot holnap megnézem.
1: ez a koplet egy dinamikus, legördíthető menünek az adatfeltöltését csinálja. 4 különböző oszlopból kell összeszedni az adatokat, ezért van többször ugyan az. LET-et lehetett volna használni, szoktam is, bár most most valami gebasz volt vele (#54655) .
2: szűrő függvény utolsó paramétere jól dolgozik, ha a visszatérési tömb üres. Viszont ha a szűrő kiindulási tömbje üres, akkor hibát ad vissza, nem fut le és nem üres tömbként tér vissza. Ezért kell külön-külön minden oszlop kigyűjtését HAHIBA függvénnyel védenem. A 4 oszlopból 1-2 ami használva van, de előfordul a 3. oszlopban is adat, illetve lehet a 4.ben is. Elképzelhető, hogy a 4, oszlop üres, és akkor az egész képlet érték hibát dobna.
3: ez a csoportosításoso föggvényt nem ismerem, bár férfiasan bevallva O365-öt csak elvétve használom, csak ha itthonról be kell lépnem.
4: napi frissítés van az adatbázisban, ugyan nem sokban, de változnak az alapadatok. Illetve 35 különböző üzem adatai vannak bent és ezek az előszűrők üzem szintű paraméterezéssel vannak kigyűjtve, ergó a mindennapi használat során, üzemváltásoknál is változik a legördíthető lista elemei.
Egyébként csütörtökön van demo bemutatója a cuccnak, holnap rakok fel UI-ról screenshootot.
Köszi, hogy foglalkoztál vele.
föccer
-
dm1970
aktív tag
Szia!
Hétvégén sajnos nem volt időm foglalkozni a próbával, s csak most jutottam el idáig.
Nagy-nagy köszönet, szokás szerint minden tökéletes.
Azért arra szeretnék egy kis időt szánni, hogy feltérképezzem, hogy hogyan működik, mit jelentenek a beállítások.#54611jjohn
Igen, ezt írtam én is.
Köszi Neked is!
Szerintem, ha egy cellában van, akkor a bal5, jobb5 használatával a C1, B1 behelyettesíthető. Kíváncsiságból ki fogom próbálni. -
sopruk
senior tag
Köszönöm a további infókat, tippeket!
Sokat tanultam e probléma kapcsán.
Csak alap dolgokra használom az Excel-t, néhány képletet ismerek
De a mostani keresgélés kapcsán, oktató videók segítségével is felfedeztem pár új hasznos dolgot, ami könnyíti a munkát. Lesz időm nézegetek még ilyeneket, érdemes fejlődni ebben is... -
andreas49
senior tag
Szia,
Köszi a gyors választ, beírtam a 'SZÖVEG' függvényt :=SZÖVEG(KEREKÍTÉS((DÁTUM(BAL($I2;4);KÖZÉP($I2;5;2);JOBB($I2;2))-DÁTUM(BAL(XKERES(L2;Alap!AA:AA;Alap!AF:AF);4);KÖZÉP(XKERES(L2;Alap!AA:AA;Alap!AF:AF);5;2);JOBB(XKERES(L2;Alap!AA:AA;Alap!AF:AF);2)))/365;1);"éé. nnn") de az eredmény 00. Cs lett a 19. év és 'Cs' nem pedig a napok száma
Az adatok ehhez az eredményhez: $I2 -> 19900101, 'AF:AF' -> 19700627
MS365 Excel HU programot használok -
Mutt
senior tag
ChatGPT-val és Copilot-tal is rápróbálkoztam a problémára.
Ez volt az inputom:i have an Excel table, in the first column of each row you can find the product name. the next two columns contain a quantity and an unit price, the other next 2 columns contain another quantity and unit price. there could be up-to 5 quantity and unit price pairs in the row, sometimes there is only 1 quantity and price pair. I would like to rearrange this data into a columnar format, where the first column contains the product name, the second a quantity and the third a price. where there are more quantity and unit price pairs they should be in a new row
Mindkettő előbb Power Query-t, majd VBA-t javasolt. A megoldások teljesen azonosak, szövegezésben térnek csak el.
1) PQ-esetén egy Unpivot/Elemiértékre bontás után egy oszlop felosztás és majd egy Pivot/Kinyerés. M-kódot nem adtak, de a lépéseket megadták. Itt talán abba tudnék belekötni, hogy igazán kezdőknek kicsivel több infót lehetett volna adni az oszlop felosztásnál. Azonban előny, hogy minden lépés a szerkeszőben egérkattintással elérhető.
Az M-kód pedig ez lett:
let
Forrás = Excel.CurrentWorkbook(){[Name="Táblázat1"]}[Content],
#"Többi oszlop elemi értékekre bontva" = Table.UnpivotOtherColumns(Forrás, {"Part Number"}, "Attribútum", "Érték"),
#"Oszlop felosztása pozíció alapján" = Table.SplitColumn(#"Többi oszlop elemi értékekre bontva", "Attribútum", Splitter.SplitTextByPositions({0, 1}, false), {"Attribútum.1", "Attribútum.2"}),
#"Oszlop elforgatva" = Table.Pivot(#"Oszlop felosztása pozíció alapján", List.Distinct(#"Oszlop felosztása pozíció alapján"[Attribútum.1]), "Attribútum.1", "Érték", List.Sum),
#"Oszlopok eltávolítva" = Table.RemoveColumns(#"Oszlop elforgatva",{"Attribútum.2"})
in
#"Oszlopok eltávolítva"
Előtte azért én is megcsináltam az M-kódomat, de én megint más logikát használtam.
Én azt akartam, hogy a mennyiség és ár párok együtt maradjanak, de az újabb párok új sorokba kerüljenek. Ehhez a List.Split függvényt használom.Az én M-kódom ez lett:
let
Forrás = Excel.CurrentWorkbook(){[Name="Táblázat1"]}[Content],
#"Sorok csoportosítva" = Table.Group(Forrás, {"Part Number"}, {{"Adatok", each List.Split(
List.RemoveNulls(
List.Skip(
Table.ToRows(_){0}
, 1)
) , 2)}}),
#"Kibontott Adatok" = Table.ExpandListColumn(#"Sorok csoportosítva", "Adatok"),
#"Kinyert értékek" = Table.TransformColumns(#"Kibontott Adatok", {"Adatok", each Text.Combine(List.Transform(_, Text.From), ":"), type text}),
#"Oszlop felosztása elválasztó alapján" = Table.SplitColumn(#"Kinyert értékek", "Adatok", Splitter.SplitTextByEachDelimiter({":"}, QuoteStyle.Csv, false), {"Scale Qty", "Scale Price"}),
#"Típus módosítva1" = Table.TransformColumnTypes(#"Oszlop felosztása elválasztó alapján",{{"Scale Qty", Int64.Type}, {"Scale Price", type number}})
in
#"Típus módosítva1"
Ennek a kódnak a lényegi része csak kézi bevitellel érhető el, mivel nincs olyan menűpont a PQ szerkesztőben ahol pár általam használt függvény elérhető lenne. Egymásba ágyazott függvények vannak, ugrás tábla - record - lista között; ez talán túlsok.
Végeredmény: az AI jobban teljesített szerintem mint én. Tisztább, elemi lépésekből álló kódot adott. Míg én itt is túlbonyolítottam.
2) VBA megoldás, a kód hiba nélkül le fut első alkalommal, de sajna egyik sem nézi hogy adott névvel létezik-e már munkalap, így másodjára elhasal. A ChatGPT kicsit hagyományosabb előbb létrehozza az összes változót, míg a Copilot feladatonként/taskonként megy végig (pl. adatokat tartalmazó munkalap "rögzítése" és változói, majd az eredményeket tartalmazó lap létrehozása és változói) és gyorsan előtte definiálja a változót és dolgozik is vele azonnal.
Copilot kódja:
Sub RearrangeData()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' Adjust sheet name as needed
Dim lastRow As Long, i As Long, colOffset As Long
Dim destRow As Long
destRow = 2 ' Start from row 2 on output sheet
Dim output As Worksheet
Set output = ThisWorkbook.Sheets.Add
output.Name = "Reformatted"
output.Cells(1, 1).Value = "Product Name"
output.Cells(1, 2).Value = "Quantity"
output.Cells(1, 3).Value = "Price"
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
For colOffset = 0 To 4 ' Up to 5 quantity-price pairs
If ws.Cells(i, 2 + colOffset * 2).Value <> "" Then
output.Cells(destRow, 1).Value = ws.Cells(i, 1).Value
output.Cells(destRow, 2).Value = ws.Cells(i, 2 + colOffset * 2).Value
output.Cells(destRow, 3).Value = ws.Cells(i, 3 + colOffset * 2).Value
destRow = destRow + 1
End If
Next colOffset
Next i
End Sub
Végeredmény: a kód műkődik, lehetne finomítani hibakezeléssel és with - end with párosokkal.
3) A ChatGPT javasolt képletet is, a Copilot alapból nem (kérésre adott,
What Excel formulas can I use for this task?
).
A képletek INDEX - MÓDUS/MOD - SOR/ROW kombinációjával operálnak, már a másodiktól fejfájást kaptam.A ChatGPT (első sor) és Copilot (második) ezt javasolja pl. a mennyiségek kikeresésére (új munkalapon B2 cellába kell írni az útmutató szerint).
=IFERROR(INDEX(Sheet1!$B$2:$K$100, INT((ROW()-2)/5)+1, (MOD(ROW()-2,5)*2)+1), "")
= INDEX(Sheet1!$B$2:$K$100, INT((ROW()-1)/5)+1, MOD(ROW()-1,5)*2+1)
ChatGPT előnye, hogy hibakezelést is végez. Illetve a végén a MOD(ROW ... részben van plusz zárójel, ami kell ha tényleg B2-ből indul a képlet. B1 esetén a Copilot eredménye helyes.Végeredmény: Ahogy látszik itt van már hibalehetőség, ami elég nehezen nyomozható ki. Itt a másik gond, hogy fixen 5 elemenként ugrik a képlet, de a mintánkban van olyan eset ahol nincs 5 adat-párunk, itt 0-kat kapunk amit majd kézzel szűrni kell.
4) ChatGPT javasolt dinamikus képletet (LET - LAMBDA - MAP), Copilot nem (kérésre ő is adott:
can you show me solution with dynamic array formulas (like LET - LAMBDA - MAP)?
)Itt egyértelműen a ChatGPT győzőtt. Az első kódja egyből működött:
=LET(
data;A2:K7;
products; INDEX(data;;1);
pairs; DROP(data;;1);
rows; ROWS(products);
maxPairs; COLUMNS(pairs)/2;
total; rows * maxPairs;
rowIndex; SEQUENCE(total);
prodRow; INDEX(products; INT((rowIndex - 1)/maxPairs) + 1);
qCol; INDEX(pairs; INT((rowIndex - 1)/maxPairs) + 1; (MOD(rowIndex - 1; maxPairs) * 2) + 1);
pCol; INDEX(pairs; INT((rowIndex - 1)/maxPairs) + 1; (MOD(rowIndex - 1; maxPairs) * 2) + 2);
FILTER(HSTACK(prodRow; qCol; pCol); qCol <> "")
)
A Copilot olyan képletet adott, amiben eleve hiba van és a függvény paraméterek sincsenek a helyükön. Ez a sor tiszta katyvasz:
HSTACK(IF(qty="";SEQUENCE(ROWS(qty);1;;#REF!);prod); qty; price);Kértem javítást, elmagyaráztam neki hogy rosszul gondolja a paraméter átadásokat, de 2 újabb rossz változat után feladtam a harcot vele.
Ez az utolsó változata, ami nagyon hibás.=LET(
data; A2:K7;
products; INDEX(data;;1);
details; DROP(data;;1);
numRows; ROWS(data);
qtyCols; CHOOSE({1;3;5;7;9};1;3;5;7;9);
priceCols; CHOOSE({2;4;6;8;10};2;4;6;8;10);
getRow; LAMBDA(r;
LET(
prod; INDEX(products; r);
qtys; INDEX(details; r; qtyCols);
prices; INDEX(details; r; priceCols);
valid; FILTER(HSTACK(prod; qtys; prices); qtys<>"")
)
);
final; MAP(SEQUENCE(numRows); getRow);
VSTACK({"Product";"Quantity";"Price"}; final)
)
Végeredmény: ChatGPT a nyerő, mivel 1 db függvénnyel megoldotta amit én 2-vel értem el.
Összeségében műkődik az AI segítség, ebben a feladatban tudott volna segíteni hiszen nem volt olyan bonyolult, talán legközelebb is hasznos lesz.
üdv
-
Dr. Mózes
aktív tag
Újra belefutottam ugyanebbe a hibába, viszont most nincs benne dátum.
A videó anyaga szerint =IF(OR('Customer-Lookup'[education]...... DAX képletezést akartam használni, viszont ugyanazt a hibaüzenetet doba, pedig ez sima szöveges oszlop.
A lehetséges függvényeket előhívva listázza az IF és az OR képletet is, úgyhogy jó helyen kellene lennem. -
Pá
addikt
Ez is jó ötlet. Ha saját használatra csinálok excel-t akkor egyszerűbb mint VBA-val szórakozni.
Viszont, ha úgy készítem, hogy megosztom másokkal, akkor igyekszem kerülni a feltételes formázást, mert az a tapasztalatom, hogy a sok copy&paste-tel meg cellák huzigálásával nagyon hamar szétcseszik a userek.
-
-
karlkani
aktív tag
Szia!
Köszönöm szépen! Sikerült megoldani tegnap. Delila_1 elküldte privátban az alábbi kódot. Azt írta alakzatoknál működik, rápróbáltam gomb (űrlap-vezérlőelem)-re, hibátlanul teszi a dolgát.
ActiveSheet.Shapes.Range("Gomb").Top = Rows(usor).Top
#54074 Fire/SOUL/CD
Ezt jó tudni, köszi! -
Hali!
Egyben válaszolok a 2 hozzászólásodra.
Természetesen hibáztam, mert talán...
Pont ez a lényeg, hogy nem hibázol. Te és még jó páran itt a topikban remek szakmai közösséget alkottok, segítőkészek vagytok és nem utolsó sorban magas szinten űzitek ezt a szakmát. Sokszor adtok briliáns megoldásokat (programozói vénával Én látom/tudom értékelni egy kód vagy megoldás szépségét)
De hiába a lenyűgöző megoldás, ha az MS "agymenésének" köszönhetően nem tudják használni a kérdést felvetők... Már nem csak arra kell figyelni, hogy hányas Excel van használatban, hanem eljutottunk oda, hogy az sem mindegy, hogy milyen Build-re frissíti valaki. (Valakinél megy 2021-s Excelben, másnál meg nem megy, szintén 2021-s Excel-ben)
Az MS-nek kutya kötelessége lenne egy gyűjtőoldalt létrehozni, ahol az adott Office összes frissítési kiadások vannak (az elsőtől az utolsóig) és részletesen leírva, mi változott (nem kihagyni semmit belőle, mert ez is gyakori), nem pedig csak az utolsó év vagy félév frissítési infói (amiket egyenként lehet megnézni) utána meg megy a süllyesztőbe és válik elérhetetlenné.
Az MS okozza ezt a káoszt és azokat "bünteti", akik ezzel foglalkoznak, O365 oltárán feláldozva a normalitást. Ezt el lehetett volna kerülni, ha azt tették volna, hogy egy adott Office csomag (pl. 2021/2024 vagy bármelyik (O365-t kivéve persze)) a hivatalos támogatási ideje alatt, az O365-l párhuzamosan megkapná ugyanazon függvény-frissítéseket, aztán ha lejár a támogatási időszak (3-5 év, most nem tudom mennyi) onnantól meg már nem kapna funkció-frissítéseket...Ezek szerint nálad telepíteni kell ezt a függvényt, hadd segítsek benne...
Pont erről írtam az 1. pontban, telitalálat.
Próbálsz segíteni, adsz egy kiváló lehetőséget/megoldást/kerülőutat csak épp nem használható, mivel Excel 2021-ben nincs LAMBDA... És nem, nem Te hibáztál, még véletlenül sem...Az való igaz, nem kell 30 éves függvények megléte, ha elavult vezessék ki, turbózzák fel, tegyék összetettebbé, vezessenek be hasznos új függvényeket (csak évekbe került az EGYEDI bevezetése, pedig ez igen hasznos tud lenni, sok kerülőmódszertől megkíméli az embert stb stb) csak ezt a funkció-frissítési káoszt kellene megoldani.
UI: Ha Google keresőbe beírod, hogy
nincs darabteli függvény
, tudod melyik oldalt dobja fel első találatnak? A gyakorikerdesek.hu-t... Aszzem erre mondják, hogy no comment... -
-
merqree
őstag
Szia,
Ezt látjuk mi is, hogy nincs benne semmi "hasznos" számunkra, leszámítva a gantt diagramot. Vettük pár ezer forintért "egyszerhasználatos" MS Project-et, hogy tudjunk "prezentálni".
Köszönöm az ajánlatot, rá fogok nézni!2000es években volt/van "mutt" néven ismerősöm Veszprémből. Véletlen a névazonosság?
-
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.
-
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 -
ny.janos
tag
Szia Mutt!
Nekem ma bela85 kérésére írt kódot pl. át kellett írnom, és alkalmaznom kellett benne az általad javasolt List.Accumulate függvényt a számlaszámok kiszedésére mert a 2016-os verzió még nem ismeri a Splitter.SplitTextByCharacterTransition függvényt (2019 igen).
De ugyancsak hibát írt a 2016-os verzió a Table.AddIndexColumn fügvényre, mert míg a 2019-es verzióban 5 paramétert lehetséges megani, a 2016-os verzió hibát dobott rá, hogy 2-4 paraméter adható meg.
-
KaliJoe
tag
Szia Mutt,
sorok név javítva ÖsszSor-ra.
A2 javítva A1-re. Azt hittem elírás, de akkor mégiscsak úgy kellett és nem értettem a képletet.
Tömbképlethez CSE nyomva, de az egész = jel utáni részt kapcsos zárójelezte. A függvény így már szintaktikailag helyes lett..., de nem működik. Minden számhármasra 0-t hoz eredményül, ami biztosan téves. Ellenőriztem - szűrő funkcióval, és tutti van 1-2-5, 1-2-6, és 1-2-7 is. De nemcsak ezekre, az összesre nullát hoz. :-(
Várom válaszod.
-
KaliJoe
tag
Kedves Mutt,
Annyira tetszett a képleted és a megoldás (hogy nem kell hozzá makró), hogy úgy döntöttem veszek frissítést és áttérek az Office 2021-re, csak hogy azzal oldhassam meg a problémát.
Akadt némi gondom a verzió frissítéssel, de ma meglett az is. Azonnal nekiugrottam, beírtam a képletet, de sajnos nekem nem működik.
Jelenleg ez szerepel a cellában:=LET(Adathalmaz;INDIREKT("A2:E" & Öhsz;IGAZ);Sorok;SOROK(Adathalmaz);Adatsor;INDEX(Adathalmaz;SOR(INDIREKT("A2:A" & Sorok));1/2/3/4/5);aoszlop;INDEX(Adatsor;0;1);boszlop;INDEX(Adatsor;0;2);coszlop;INDEX(Adatsor;0;3);doszlop;INDEX(Adatsor;0;4);eoszlop;INDEX(Adatsor;0;5);SZUM(((aoszlop=K2)+(boszlop=K2)+(coszlop=K2)+(doszlop=K2)+(eoszlop=K2))*((aoszlop=L2)+(boszlop=L2)+(coszlop=L2)+(doszlop=L2)+(eoszlop=L2))*((aoszlop=M2)+(boszlop=M2)+(coszlop=M2)+(doszlop=M2)+(eoszlop=M2))))
Ez jelenleg annyiban tér el a tiédtől, hogy a ;1/2/3/4/5 (amit nem is értek, hogy mit jelent, és mire való, hogy azok nem szerepelnek {} kapcsos zárójelek között. Ha az ott tömbképlet akar lenni, akkor nem tudom (ebben az esetben, hogy csak azt alakítsa tömbképletté), hogy hogyan kellene azt beírni. Ha meg simán beírom a kapcsos zárójeleket elé és utána, akkor képlethibával el sem fogadja.Mit csinálok még mindig rosszul? Vagy mit nem csinálok? Tudsz ebben segíteni?
Előre is köszönettel, KaliJoe
-
Más programnyelvekben használom a Reguláris kifejezéseket, de VBA-ban kerülöm. Ez régi beidegződés, felhasználóra nem bízok referenciák bekapcsolást, pont eleget szívtam régen ilyenek miatt (nem kapcsolta be, nem tudta bekapcsolni, nem jót kapcsolt be, Office újratelepítést követően megint nem lett bekapcsolva, más verziót kapcsolt be, más referenciák esetén x64 esetén más kód, MS módosította, megszüntette stb stb stb).
Szóval nem, nem játszom ilyet.Más: Írtam, hogy majd a hosszú téli éjszakákon megsasolom a PQ képességeit.
PQ-nál is az a szitu, hogy lehet olyan M-kódot előállítani Excel 365-l, ami a korábbi verziókban nem? -
Fferi50
Topikgazda
Szia!
"ahol számot vagy gondolatjelet lát azokat megtartja, a többit szóközre cseréli"
Miért nem lehet üresre "" cserélni (kivágni) azt a karaktert szóköz helyett?
Ebben az esetben nem lenne szükség a KIMETSZ függvényre sem.
Üdv.
Ps. Azért elszomorító, hogy ennyiféle verziója fut az Excelnek (Officenek). Nem tudom, van-e valahol egy "függvénykatalógus", ami megmondaná, hogy melyik újabb függvényt melyik verziótól lehet használni. -
1.
...ahol számot vagy gondolatjelet lát...
Milyen gondolatjelre gondolt a költő?
2. A táblázat utolsó sorában -nem tudom, hogy szándékosan, vagy véletlenül (hisz elég későn írtad a hsz-t)- egy 25 jegyű számlaszám szerepel. Az O365-ben írt képlet rosszul dolgozza fel.
3. Mivel nincs telepítve O2016 nálam, ezért az MS doksikra támaszkodom, viszont eszerint a SZÖVEGÖSSZEFŰZÉS nem létezik O2016-ban (pont ezért nem is foglalkoztam cellaképlettel való megoldással) -
KaliJoe
tag
Szia Mutt,
Le vagyok nyűgözve.
Ez a megoldás azért tetszik legjobban, mert nem használ Makrót, és mert Excel2021-ben is működik.
Holnap... ööö... azaz ma ki is fogom próbálni.Megjegyzem már én is attól tartottam, hogy makrót kell írnom hozzá, de Ti zseniálisak vagytok. Köszönöm értékes segítségeteket.
-
KaliJoe
tag
Szia Mutt,
Excel 2021-et használok.
OK, értem a SZORZATÖSSZEG megoldást, de az nem teljesen az, amit keresek. Ugyanis nemcsak egy darab számhármast keresek, hanem nagyon sokat, és azt kellene megmondanom, hogy egy adott számhármasból hány darab van a bázisadatként szolgáló adatbázisban. Tehát össze is kell számolni, hogy hányszor találom meg - a Te példádat véve alapul - a 3, 10, 12 számhármast? Aztán nézem / keresem a következő például 4, 8, 20; majd a 4, 8, 21 számhármast és így tovább.
Azt szeretném, hogy megjelenítem a számhármast, majd mögé írom, hogy hányszor található meg az adatbázisban. A következő sorban meg a következő számhármast, és hogy hányszor van meg.Így érthetőbb a probléma?
-
Logikus, amit írsz.
Én sem igen használtam az S-t, csak régebbről rémlett, hogy nem működött(aztán el is felejtődött, gondoltam majd frissítéssel javítják stb), viszont most jól jött volna, mert -ahogy írtad is- így kiváltható lenne a LET, itt-ott rövidülne is a képlet hossza, de mégis lehetne tudni, hogy mihez tartozik az adott szabály.
Ha már szabály: ugye írtam, hogy O2024-l is próbáltam, egy jó dolgot azért végre-valahára beletettek, "javítottak", nevezetesen, hogy ezt az ablakot végre át lehet méretezni, így egy hosszabb képlet is teljes egészében látható, könnyebb benne navigálni (O2021-ben még fix/nem méretezhető)
Amúgy kösz a hibajelentést!
UI: ha nem javasoltad volna az N-s megoldást, akkor nem jutott volna eszembe az S, úgy hogy ezt közösen "hoztuk össze"...
-
Jól emlékeztem, Nálam nem működik az S függvény.
O2021 x64 Version 2410 (Build 18129.20116)1. létezik, engedi beszúrni, de aztán enter után ez van.
2. az 1. pont miatt feltételes formázás képletében sem használható
3. =N-t használva, érdekes módon elfogadja, de így meg a képlet nem csinál semmit
4. O2024-t is felpakoltam, virtuális gép alá, ugyanez a szitu
5. Na ez meg aztán mindennek a teteje, ugyanis az O365 "buta" web-s változatában is ugyanez van. beszúrható, de hibás | feltételes formázásnál | szintén zenészSzóval erre most csak ezt tudom mondani!
UI: S függvény nélkül azért elvagyok, de azért -pusztán kíváncsiságból- érdekelne, hogy most mégis mi a tosz van...
-
-
Most nem tudom kipróbálni(majd ha hazaérek), de szerintem ez nem működik...
Az N fx (magyarban talán S fx, ami nem is működik már talán) az szöveges változó esetén 0-t (nullát) ad vissza, ezért ez a képlet egy 491231234567 telószámot lehet, hogy számmá fogja konvertálni... Ha hazaérek kipróbálom, de ha időt engedi Te is nézz rá. -
KaliJoe
tag
Szia Mutt,
Köszönöm a megoldásod / próbálkozásod. Ki fogom próbálni.
Szerintem, ki lehet lépni a ciklusból egy vizsgálattal, például, ha 3 (vagy akár csak egy) üres sort i talál, így nem fut le mind az egymillióra. Ez világos.
Ha jól értem a megoldásod, készítettél egy formátum táblát, ahol megvannak országra, plusz külön Magyarországra részletesebben a használandó formátumok, ezeket beolvassa a makró, majd sorról sorra megnézi, hogy melyikhez hasonlít a számsor, ha talál megfelelőt, akkor arra a típusra beállítja a táblában kódolt formátumot.Ha jól értem a működését, akkor ez jó lehet. Tetszik is a megoldásod, de egy kicsit jobban húzok a feltételes formázás felé, mert azt rögzíteni lehet a sablon munkafüzetbe és csak mindig azt az oszlopot kell neki megadni, ahol az adott munkalapon a telefonszámokat reprezentáló számok vannak.
Köszönöm a segítséged, majd még jelentkezem, ha ki tudtam próbálni.
-
Mutt
senior tag
Mivel kicsit zavart ezért itt a javítás.
Sub FormatNumbers()
Dim s As Range, sel As Range
Dim r As Variant
Dim szinek As Variant
'megadott formátumokat memóriába töltjük
'ha más a tábla neve akkor a tFormats helyére a helyes kerüljön
arrFormats = ActiveSheet.ListObjects("tFormats").DataBodyRange.Value
Set sel = Intersect(Selection, ActiveSheet.UsedRange)
If Not sel Is Nothing Then
'kijelölt adatokon végigmegyünk
For Each s In sel
r = FindFormat(s.Value)
If IsArray(r) Then
'a cél cella formázását levesszük
s.ClearFormats
'beállítjuk a formátumot
s.NumberFormat = r(1)
'ha van színezünk
If r(2) <> "" Then
szinek = Split(r(2), ",")
If UBound(szinek) = 2 Then s.Interior.Color = RGB(szinek(0), szinek(1), szinek(2))
End If
End If
Next s
End If
End Sub
Akit érdekel a hibám a "For Each" sorban volt, ahol továbbra is a Selection (a felhasználó által kijelölt tartományt) használtam. Ha egy teljes oszlopot jelöl ki a felhasználó, akkor mind az 1 millió soron próbál végig menni a makró, ami lassú lesz. Ezért van a kódban előtte egy INTERSECT, amit elfelejtettem használni.
üdv
-
Tehát ha jól látom, akkor azt továbbra sem oldották meg, hogy egy visszaadott dinamikus tömb egyes elemeire/tartományára közvetlenül/direktbe lehessen hivatkozni?
Pl. a deklarált lista változódban visszakapott táblázat (esetedben 12 elemű, 2 dimenziós dinamikus tömb) pl. első elemére így nem lehet hivatkozni: lista[0,0] ?
(szintaktikát ne nézd, az így nem jó, tudom, csak így egyértelmű(bb) mit is kérdeznék) -
eszgé100
őstag
Koszonom, idokozben irrelevanssa valt a kerdesem. Nem volt tul sok sor (<100), szoval kivalogattam a dolgokat kezzel. Ez eleg infot szolgaltatott, hogy lassuk, hogy nem azt mutatjak az adatok, amit fonok prezentalni szeretett volna, igy vegul az egesz muveletet kukaztuk.
-
-
föccer
nagyúr
No, ez sem segített. Végül úgy oldottam meg, hogy a segéd munkalapora felraktam a képletet és akkor ha onnan másolom át a cél cella formula2 értékébe, akkor más helyesen megjelenik. Viszont végül leesett a tantusz, hogy baromság, mert egy egész tartományba kellene ezt bemásolnlni, és akkor nem viszi magával helyesen a cella hivatkozásokat.
Vagy makróból keresni az összetartozó párokat.
üdv, FG
-
-
Nem privátban kérdezem, mert hátha másokat is érdekel.
Szóval tudsz valami biztatót mondani a hibajelntésed kapcsán? -
ny.janos
tag
Szia!
Köszönöm, hogy ismét foglalkoztál a kérdésemmel.
1. Nekem a 2.134.7447.1 verziójú Power BI Desktop is ugyanazt a hibás eredményt hozza.
2. Erre a lehetőségre én is gondoltam, de mivel én egyenként cseréltem volna a betűket és nem is lesz garantáltan jó az eredmény így sem, valamint esetemben nem is nagy a jelentősége annak, hogy nem lesz jó a sorrend, így hagytam a fenébe. Köszönöm szépen a kódot, ínségesebb időkre esetleg még jó lehet.
Külön köszönet, hogy bejelentetted a hibát. Hátha javítják egyszer.Üdv.
-
ablutor
csendes tag
szia
köszönöm a választ . (sajnos a Voda routerem bekrepált igy most sincs még netem, .....egy havaromnál vagyok igy tudok válaszolni..) küldök 2 képet, azt az instrukciót kaptam ,hogy mindig az első (Alapadatok) fülön irjam be az új könyveket illetve csak itt javitsam azokat az elirásokat hibás/téves cimeket ,neveket amit észreveszek és utána a Data fül alatt az "Refresh all"-al kell frissitenem és akkor minden munkalapon megtörténik a javitás/beirás.... én naiv azt hittem, hogy ha átirom a felső neveket és a cellákat kitörlöm akkor át tudom "varázsolni" hogy alkalmas legyen a bakelitjeim leltárba vételére... de persze nem jött össze ! -
Yutani
nagyúr
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.
-
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
-
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
-
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.
-
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"
-
-
szotyika77
aktív tag
Köszönöm mindenkinek a segítséget!
Megpróbáltam Fferi50 első tanácsát, az nem vált be sajnos, illetve Mutt összes tanácsát, de azok sem váltak be, mindig 29 értéket hoz, mindegyik képletre, pedig a helyes szám a 10 lenne.
Így néz ki a táblázatom, amiből ki kellene szűrnöm az adatokat:
Most ez egy munkavállaló, akinek szerencsére kevés napja van, de olyan is van aki 90+ nappal rendelkezik, na azt nem buli egyesével összeszámolni. :/
-
dm1970
aktív tag
Szia!
Köszi a gyors infót!
Próbálgattam én is ezzel a V78-l, de ahogy írod nem megy. Majdnem megörültem, mert ez alapján rátaláltam erre: [link] ahol a V93 is beillesztés, de azzal sem megy. A focus a beviteli mezőn, az nem azt jelenti, hogy az a cella, ahová be szeretnék illeszteni az kisárgul és villog a kurzor az elején? Mert ez meg van, s még sem megy.
A vágólap változás, amiatt gond, hogy egy makró összedobál bizonyos adatokat egy mlapra, azt a vlapra másolja, majd az SAP-ban elindít egy tranzakciót és be kellene illeszteni a vlap adatait. Tehát minden futtatáskor más adatokat kellene beilleszteni.
Akkor marad az, hogy a tranzakció megnyitás után én nyomom a CTRL-V.
Így működik.Csak ekkor meg az a baj, hogy az excellben ott marad a kijelölés. Az meg gondolom nem megoldható, hogy késleltessem a makró futását.
-
dm1970
aktív tag
Szia!
Azért Neked címzem, mert SAP-makró kombóban Te segítettél. Persze ha másnak is van ötlete megköszönöm.
Sokat, sokáig keresgéltem, s arra jutottam, hogy hogy nincs megoldás, de hátha.
Egy excelben kijelölt részt szeretnék beilleszteni az SAP-ba. Ez a CTRL-C, majd a megfelelő részre álva az SAPban CTRL-V-vel tökéletesen működik. Meg lehet-e csinálni ugyan ezt makróval, tehát egy scriptbe be írni, hogy a vágólap tartalmát illessze be az SAP-ba. Felvettem a folyamatot rögzítővel, de nem a billentyűkombinációt veszi fel, hanem egyesével, hogy melyik sorba, oszlopba milyen tartalmat illeszt. Ez azért nem jó, mert a vágólap tartalma folyamatosan változik. Tehát a lényeg a CTRL+V-nek van-e megfelelője az SAP-ban.K dm
-
RAiN91
őstag
Még annyit szeretnék beállítani, hogy az azonos "Id"-val rendelkező sorokban a rangsorban pl. az 1. és 2. sorok értékei össze legyenek hasonlítva. Pl. HA 2. rangsor értéke > 1. rangsor értéke *2, akkor legyen egy IGEN eredménye. Ez már komplexebb és nem lehet soronként vizsgálni?
-
ny.janos
tag
Szia Mutt!
Nos mivel annyira közel sem vagyok otthon a PQ-ben, mint te magad, ezért végül kerülő megoldásként azt csináltam, hogy mind a jobban, mind a gyengébben teljesítő játékosok eredményét betöltöttem munkalapra, majd onnan újra beolvastam. Így sikerült elérnem azt, amit te sokkal egyszerűbb és nagyszerűbb módon oldottál meg. Le is fogom cserélni a bonyolult és időigényesebb megoldást az általad javasoltra.Nagyon köszönöm, hogy foglalkoztál a felvetésemmel, érdemes lesz megjegyeznem a módszert. Az M kódot külön köszönöm, anélkül nem fogtam fel, hogy miről írtál, de azzal igen.
Sokáig azt hittem, hogy tuti én rontottam el valamit, de ezúttal megerősítést kaptam tőled, hogy nem én szerencsétlenkedtem, hanem tényleg nem várt működés lépett fel.
A legbosszantóbb az egészben, hogy van egy olyan megoldandó feladatrészem is, ahol az egymás mellett figyelembeveendő eredmény nem fix kettő versenyzőtől, hanem többtől jön össze úgy, hogy csak a kettő legjobb eredmény veendő figyelembe. Az eredeti módszerem szerint hiába távolítottam el a 2-nél nagyobb értékeket a sorba rendezés után, a kibontást követően azt a harmadik legjobb eredményt is sikerül kibontani, amit elvileg korábbi lépésben már kizártam. Szóval valami nagyon nem működik jól.
-
p5quser
tag
Üdv!
Köszönöm Neked is.
E megoldás felé sandítanék, mivel kiderült időközben hogy 100+ csoport (oszlop) alá vezetnek fel tételeket. Már küzdök hogy struktúráljuk át az adatokat. Viszont addig eljátszanék a megoldásoddal, de a "col"-t nem tudom értelmezni. Ez vmi változó? Ha igen, hol-hogy definiálom? Vagy csak elírás?
Előre is köszi!
Új hozzászólás Aktív témák
- Linux Mint
- Amazon Kindle
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- VR topik (Oculus Rift, stb.)
- Battlefield 6
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xbox tulajok OFF topicja
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- HIBÁTLAN iPhone 13 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3552,100% Akkumulátor
- REFURBISHED - HP USB-C Universal Dock G1 (DisplayLink)
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3598, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3573, 99% Akkumulátor
- BESZÁMÍTÁS! Gigabyte A520M R5 5500 16GB DDR4 500GB SSD GTX 1660 Super 6GB CHIEFTEC Libra Zalman 500W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest