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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [sziku69:] Szólánc.
- [Re:] [GoodSpeed:] Windows 11 PRO FPP (Full Packaged Product) - Retail, Box, dobozos
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] [ubyegon2:] Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [GoodSpeed:] ASUS ROG STRIX B650E-F GAMING WIFI - Memory Context Restory (MCR)
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
Delila_1
Topikgazda
A szerkesztőlécen az Y1 cella képletét látod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
föccer
nagyúr
De szép megoldás a jóker karakterrel
üdv, föccer
Építésztechnikus. Építőmérnök.
ntamas97
csendes tag
Köszönöm szépen a segítségeket!
Na, ezt a képletet magamtól biztos nem tudtam volna megoldani!
JohnYBoVs
csendes tag
Hello,
lenne egy excel dokumentum, amit egyszerre szeretne tobb ember parhuzamosan szekeszteni, ugy hogy a masik egybol lassa az egyik altal okozott valtozast. Hogy tudom ezt a legkonyebben elerni?
Mutt
aktív tag
Szia,
Én ajánlanám neked még a Power Query-t is, amellyel ezt tudod pár kattintáson keresztül elérni:
Lépések:
1. Javasolt, hogy alakítsd át táblázattá az adatsorod. Beszúrás -> Táblázat.
2. Adatok -> Adatok beolvasása -> Más forrásokból -> Táblázatból
Az eredmény vmi ilyen lesz:
3. Jobb klikk az autómárkás oszlopon és válaszd a "További oszlopok eltávolítása" menüt, így csak ez az oszlop fog megmaradni (a fájlodban továbbra is megmaradnak az adatok, csak a Power Query-ből tűnnek el).
4. Ahogy látom nem mindig vesszővel vannak elválasztva a felsorolások, ezért javaslom, hogy a vesszőket cseréljük le szóközre. Kezdőlap -> Értékek lecserélése opció. Keresendő lesz a vessző, az új érték pedig egy szóköz.
5. Most már jöhet a felszabdalás, Kezdőlap -> Oszlop felosztása -> Elválasztó alapján
Szóközt válaszd ki és a speciális opcióban válaszd, hogy te sorokba akarod a felosztás eredményét.
6. Ezek után 1 oszlopban ott lesz az összes eredmény, de lesznek üres sorok is. Azokat szűrjük ki az oszlop jobb felső sarkában található szűrőre kattintva, az üres mellől vedd ki a pipát.
7. Jöhet akár egy kis csinosítgatás, pl. vegyük ki a felesleges szóközöket, illetve tegyük az első betűt nagybetűssé. Átalakítás -> Formátum alatt van a Levágás illetve a Szókezdő Nagybetűk. Használjuk ezeket.
8. Most már lehet számoltatni az ismétlődéseket. Kezdőlap -> Csoportosítási szempont legyen így kitöltve.
9. Ha ABC sorrendben akarod a márkákat, akkor pedig az első oszlopot jelöld ki, majd Kezdőlap -> Növekvő rendezés.
10. Már csak az eredményt kell visszahozni Excel munkalapra. Kezdőlap -> Bezárás és betöltés -> ..adott helyre.
Már csak azt kell megadni, hogy az eredmény táblázat hova kerüljön.
A fenti lépések előnye, hogy ha a kiinduló tábázathoz új sorokat adsz (pl. Trabant), akkor elég csak az Adatok fülön az összes frissítése opcióra kattintani és megkapod az új eredményeket.
üdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Fferi50
őstag
Szia!
Ehhez meg kell osztanod a munkafüzetet - Véleményezés - munkafüzet megosztása (és védelme).
DE!
A változtatások csak akkor láthatóak, ha az aktuális állapotot mentik a felhasználók. Tehát ahhoz, hogy lásd, mit szerkesztett X, először menteni kell a munkafüzetet X-nek, utána pedig neked.
Bár be lehet állítani automatikus mentést is, de a mentések között eltelt idő miatt nem lesz teljes a változások beépítése. Továbbá a mentés idején nem lehet szerkeszteni a munkafüzetet.
Talán inkább valamilyen adatbázis kezelőt kellene használnotok, amiben meg van oldva az egyidejű használat kezelése.
Üdv.
JagdPanther
aktív tag
Sziasztok
van egy ilyen vba kódom, még elég gyorsan fut de azt hiszem a jövőben egy több száz soros táblában be fog lassulni.
Hogyan lehet átírni úgy, hogy a funkcionalitás megmaradjon, de kevesebb számítási kapacitás kelljen neki?
A táblázat egyébként így néz ki.
Sub Ma()
Sheets("Bevitel").Range("B6").Select
ActiveCell.EntireRow.Insert Shift:=xlDown
ActiveCell.Value = Date
Range("E6").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Adat!$F$2:$F$8"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Range("F6").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Adat!$L$2:$L$3"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Range("C7:I7").Select
Selection.Copy
Range("C6:I6").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("J7").Select
Selection.Copy
Range("J6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C6").Select
ActiveCell.Select
End Sub
Sub Megse()
Rows(6).Delete
End Sub
Sub Hibakiadva()
Sheets("Bevitel").Range("H6").Select
ActiveCell.Value = Date
End Sub
Sub Hibaelvegezve()
ActiveCell.Select
ActiveCell.Value = Date
End Sub
Delila_1
Topikgazda
Nem lassít majd a sok sor, mert mindig a 6. sorba viszed be az új adatokat.
Azért egy kicsit egyszerűsítettem a makrókon.
Sub Ma()
Sheets("Bevitel").Select
Rows(6).EntireRow.Insert Shift:=xlDown
Range("B6") = Date
Range("E6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Adat!$F$2:$F$8"
Range("F6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Adat!$L$2:$L$3"
Range("C7:I7").Copy
Range("C6:I6").PasteSpecial xlPasteFormats
Range("J7").Copy
Range("J6").PasteSpecial Paste:=xlPasteAll
Range("C6").Select
End Sub
Sub Megse()
Rows(6).Delete Shift:=xlUp
End Sub
Sub Hibakiadva()
Cells(6, "H") = Date
End Sub
Sub Hibaelvegezve()
Cells(6, "I") = Date
End Sub
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Fferi50
őstag
Szia!
Mivel nincsenek számítások benne, igazából majdnem mindegy hány sor van... persze minél több a sor, annál tovább tart a beszúrás és a törlés, de nem észrevehető pár százas nagyságrendben szerintem.
Viszont egyszerűsíthető a dolog, ha az 5. sortól kezdve táblázattá alakítod az egészet (kijelölöd, beszúrás - táblázat fejléccel), mivel a táblázatba beszúrás automatikusan felveszi a táblázat szabályait (formázás, validáció), tehát azzal nem kell foglalkozni. Elég csak az új értékeket beírni.
Gyorsít még a dolgon, ha a Select utasításokat elhagyod, a cellákra a címükkel közvetlenül tudsz hivatkozni.
Pl.Sheets("Bevitel").Range("H6").Value = Date
(igen, a makrórögzítő a selectet is rögzíti meg a sorgördítést is... ezeket szépen ki kell gyomlálni.)
Üdv.
huan
őstag
Sziasztok!
Teljesen kezdő VBA-ismeretekkel kérdezném Tőletek, hogy ha a munkámban minden nap egy 20oszlopos,2000soros táblázaton kell előre megírt függvényekkel számításokat, szűréseket végeznem, majd a kapott eredményt más táblákban fkeressel összefésülnöm, akkor jól gondolom, hogy makró az én barátom? Tehát minden nap ugyan olyan táblákon, fix függvényes műveleteket szeretnék gyorsabbá és egyszerűbbé tenni.
Tudom, hogy így ez nagyon kevés infó, csak az irányvonal érdekelne egyenlőre, merre induljak, hogy ne kelljen minden egyes alkalommal függyvényeket beillesztgetni...stb.
Kezdetnek kérdezném: Egy függyvényt be tudok illesztetni VBA-ból egy cellába és végigfuttatni az összes soron?
Köszönöm!
Klub19111
újonc
Üdvözlet a fórumnak!
Komoly gondot jelent a klubnyilvántartásunk, mert sokan jönnek-mennek, és akik vannak, azok se minden hónapban jönnek. Pláne most kitalálták, hogy havonta kell terembeosztást csinálni, azzal is többet kell foglalkozni.
Feltöltöttem egy lebutított excel fájlt ide:
klub
Csak a négy fontosabb táblázatot hagytam meg, az lenne a jó, ha valahogyan össze lehetne kapcsolni őket, hogy ne legyen névelírás és más gond.
Előre is köszönök minden ötletet, hogyan lehetne megoldani.
Delila_1
Topikgazda
A másik fórumon, ahol ugyanezt feltetted, válaszoltam, nézd meg!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Delila_1
Topikgazda
Nem szükséges makró.
Ha a táblázataidat táblázattá alakítod (lüke elnevezés, de ez van) – a táblában állva Beszúrás menü, Táblázat –, akkor egy új sor első celláját kitöltve megjelennek a fölötte lévő sor képletei, érvényesítései, és másolódik a formátum is.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
huan
őstag
Köszönöm!
Rosszul fogalmaztam. Minden nap új táblát importálok és azokkal kell ezeket a műveleteket elvégeznem, így nincs felette lévő sor és függvények, hanem ismét be kell illesztenem.
Delila_1
Topikgazda
Akkor jön a makrórögzítés.
Írd be a képletet. Rögzítés indítása. A képletet tartalmazó cellára állsz, majd a szerkesztőlécen Enter, rögzítés vége. A képletet tartalmazó cellán állva a jobb alsó sarkában lévő kis fekete négyzeten dupla klikk, ez végig másolja a képletet addig, amíg a mellette lévő oszlopban adatokat talál.
Ez most arról szólt, mikor 1 oszlopban van képlet. Ha több is van, tegyél fel egy (lebutított) fájlt, amiben megjelölöd a képleteket.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
visit
tag
Többször olvastam itt, "lebutított" fájl. Ez mit jelent?
(Hasonlítson rám...?)
Delila_1
Topikgazda
Ne legyenek benne olyan adatok, amik nem publikusak, és elég néhány sor.
Nézd meg a Téma összefoglalót!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
huan
őstag
Íme a butatábla: makró teszt1
A "H,I,J,K,L"-oszlopokban dolgozok. A bennük lévő függvényeket szeretném minden alkalommal "beletenni", végigfuttatni automatikusan. (egymással is "dolgoznak" a függvények)
visit
tag
OK, köszönöm!
Pár napja már kérted, hogy nézzem meg a téma összefoglalót, meg is néztem, akkor, de átsiklottam felette. Demencia :-(
(#40970) Lasersailing válasza JagdPanther (#40957) üzenetére
Lasersailing
senior tag
Szia,
Én (amikor már 100%-ban biztos vagyok abban, hogy a makró megbízhatóan működik), akkor az alábbiak segítségével szoktam felgyorsítani a makró futtatását:
Excel képletek frissítésének kikapcsolása:Application.Calculation = xlManual
majd később visszakapcsolása:Application.Calculation = xlCalculationAutomatic
(Értelemszerűen amíg ki van kapcsolva, addig nem kalkulálja újra a képleteket)
Ill. ha sokáig dolgozik magában, azaz mindegy a képernyő tartalma:Application.ScreenUpdating = False
Majd visszakapcsolni:Application.ScreenUpdating = True
Itt persze azért kell figyelni, mert ha közben megáll a makró, akkor kijelzőn nem fogsz látni semmit, szóval ezt csak akkor, ha nagyon sokáig fut a makró (nagyon sokat gyorsít rajta) és már tutira nem fog lefagyni...
Delila_1
Topikgazda
Rögzítettem egy makrót, ahol egyenként ráálltam a képleteket tartalmazó cellákra a 2. sorban, és leentereztem a szerkesztőlécen. A G2-höz tartozó rész így nézett ki:
Range("G2").Select
ActiveCell.FormulaR1C1 = "=SUMIF(C[5],RC[5],C[-1])"
Ezután a makró elején meghatároztam az utolsó sort (usor=...).
A képletek elején lévő ActiveCell-t kicseréltem arra a területre, ahova be kell írni, hogy a 2. soron kívül az összes sorban jelenjen meg a képlet.
Range("G2:G" & usor).FormulaR1C1 = "=SUMIF(C[5],RC[5],C[-1])"
és kitöröltem a cellákra állást, pl. a Range("G2").Select-et.
Szerk: mivel mindig új adatokat másolsz be, feltehetően vadiúj füzetbe, a makrót a personalba lenne érdemes beírni, hogy minden füzetben elérhető legyen. Erről is találsz leírást a Téma összefoglalóban. A makróhoz kitehetsz egy ikont a gyorselérési eszköztárra.
Az I oszlop képlete hibás volt, javítottam.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Edorn
aktív tag
Hogy tudom ellenőrizni, hogy egy egyesével növekvő sorozatból hiányzik-e elem?
pl.:
AB100012
AB100013
AB100014
AB100016
AB100017
AB100018
(AB100015 hiányzik)
000012/2018
000013/2018
000014/2018
000017/2018
000018/2018
(000015/2018 és 000016/2018 hiányzik)
100001223
100001224
100001226
100001227
(100001225 hiányzik)
Ha csak legutolsóra (tisztán számos) változatra van megoldás, az is érdekel!
[ Szerkesztve ]
AMD Ryzen 5 5600 3.50GHz AM4, SAPPHIRE RX580 4GB, EX2220 (1920x1080), crucial MX500 SSD, CRUCIAL 16GB Ballistix DDR4 3200MHz, MSI B450 GAMING PLUS | Tárhely, domain: https://nokturn.hu
Edorn
aktív tag
Kiegészíteném. Ilyen sorozat is akad:
2
2
2
3
3
4
4
4
4
4
6
6
6
6
7
7
(5-ös hiányzik)
Tehát előbb valami distinct (sql) féleség kellene, hogy minden számból csak egy maradjon, majd az ellenőrző függvény... Persze lehetne nézni, hogy legnagyobbmínusz legkisebb, majd megnézni hány sor van a táblázatban, de godolom csak van erre valami jó kis függvény...
AMD Ryzen 5 5600 3.50GHz AM4, SAPPHIRE RX580 4GB, EX2220 (1920x1080), crucial MX500 SSD, CRUCIAL 16GB Ballistix DDR4 3200MHz, MSI B450 GAMING PLUS | Tárhely, domain: https://nokturn.hu
Mutt
aktív tag
Szia,
Ismétlődő lépésekre ott van a Power Query is. Közelítő FKERES-hez trükközni kell, ha ilyenre lenne szükséged, akkor itt van egy megoldás rá.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
huan
őstag
Aztaaa
Köszönöm szépen!
Delila_1
Topikgazda
A képen láthatod a feltételes formázás képleteit, alattuk a tartományt, amire a képlet vonatkozik.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Delila_1
Topikgazda
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Delila_1
Topikgazda
Erre jó az Adatok menüben az Ismétlődések eltávolítása.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Edorn
aktív tag
Közben összeokoskodtam egy ilyet:
=HA(VAGY(H2=H1+1;H1=H2);"";"gondvan!")
A tiéddel kombinálva egész jól le lesz fedve a probléma. Köszönet érte!
[ Szerkesztve ]
AMD Ryzen 5 5600 3.50GHz AM4, SAPPHIRE RX580 4GB, EX2220 (1920x1080), crucial MX500 SSD, CRUCIAL 16GB Ballistix DDR4 3200MHz, MSI B450 GAMING PLUS | Tárhely, domain: https://nokturn.hu
huan
őstag
Még annyit, hogy a gomb funkcióját hol definiálod?
Mutt
aktív tag
Szia,
Tömbfüggvénnyel ezt tudod használni. Feltétel, hogy Excel 2016 vagy frissebbed legyen.
Csak számokat tartalmazó esetre a képlet, CSE-vel bevíve:=TEXTJOIN(",";TRUE;IF(G2:G5+1<>G3:G6+0;G2:G5+1;""))
Ahol a G2:G5 a tartomány az első elemtől az utolsóelőtti elemig, míg G3:G6 a tartomány az első elem nélkül végig.
Ha a sorszám mellett van még szöveg, akkor vagy BAL vagy JOBB függvénnyel kell kinyerni a csak számot tartalmazó részt.
ABxxxx estén a jobb széle kell, így JOBB/RIGHT függvény.=TEXTJOIN(",";TRUE;IF(RIGHT(A2:A7;6)+1<>RIGHT(A3:A8;6)+0;"AB"&RIGHT(A2:A7;6)+1;""))
xxxx/YYYY esetén pedig fordítva:=TEXTJOIN(",";TRUE;IF(LEFT(D2:D5;6)+1<>LEFT(D3:D6;6)+0;REPT(0;6-LEN(LEFT(D2:D5;6)+1))&LEFT(D2:D5;6)+1&"/2018";""))
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Delila_1
Topikgazda
Beszúrsz egy alakzatot, rajta jobb klikk, Makró-hozzárendelés. Megjelennek a kész makrók, abból kiválasztod, amelyik kell.
Ha a personalba írod a makrót, a gyorselérési eszköztár jobb szélén legördíted a nyilat, További parancsok. A választható parancsok helyénél kiválasztod a Makrókat, ott a megírt makrót, és a Felvétel gombbal felveszed a jobb oldali ablakba, ahol módosíthatod a hozzá rendelt képet, és a megjelenő szöveget.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Mutt
aktív tag
Szia,
Erre pedig hadd javasoljam a Power Query-t, Excel 2010-től felfelé (2010-hez külön kell telepíteni, utána az Adatok/Data csoport alatt érhető el).
Lépések (angol nyelvű Excelben):
1. Az adatosort alakítsd táblázattá.
2. Adatokat töltsd be Power Query-be. Data -> From Table opció.
3. Vegyük le a duplikációkat. Home -> Remove rows -> Remove duplicates.
4. Home -> Close&Load -> Close & load to opcióval térjünk vissza Excelbe és válasszuk az Only connection opciót.
Most kell csinálnunk egy másik lekérdezést, amivel előállítjuk a teljes listát, ami minden sorszámot tartalmaz.
5. Egy üres lekérdezéssel indítunk. Data -> Get Data -> From other sources -> Blank query.
6. Fent a szerkesztő lécbe az alábbi képletet kellene beírnod:= List.Numbers(Table1[Adatsor]{0}, List.Last(Table1[Adatsor])-Table1[Adatsor]{0}+1)
Ahol Table1 a korábbi lekérdezés neve, bal oldalat látható hogy mik lettek eddig létrehozva. Adatsor pedig a mező neve ahol a sorszámok vannak.
7. Ezt a listát táblázattá kell alakítani. Transform ->To Table opcióval.
8. Jöhet az összehasonlítás a csonka listával. Home -> Merge queries.
Ott ki kell választanod a másik táblát, amire hivatkoztunk a 6-os lépésben, továbbá ki kell jelölnöd hogy a két listában mely oszlopokat hasonlítsa össze (itt most csak 1-1 oszlopunk van, de jelöld ki őket). Majd a join type-ot Left Anti-ra állítani, mert ez fog helyes eredményt a mostani kérdésre adni.
9. Meg is van az eredmény. Töröljük a felesleges oszlopot jobb klikk Remove-al.
10. Már csak vissza kell tölteni Excelbe a Close & Load -> Close & Load to -t választva és az ablakban a Table opciót meghagyva.
Az előnye, hogy ha egy újabb számokat adsz hozzá az adatsorhoz és Data -> Refresh all-ra kattintasz, akkor azonnal lefrissíti neked az eredményt.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Edorn
aktív tag
Köszönet!
Magamnak megjegyzem, viszont most egy irodába kellene olyanoknak, akik nemiagzán értenek az excelhez, így a legegyszerűbb, legfapadosabb, leggyorsabb megoldás kell, amire szerintem telejsen jó a feltételes formázós, ami kiemeli a problémás helyeket és kezeli az ismétlődéseket is.
AMD Ryzen 5 5600 3.50GHz AM4, SAPPHIRE RX580 4GB, EX2220 (1920x1080), crucial MX500 SSD, CRUCIAL 16GB Ballistix DDR4 3200MHz, MSI B450 GAMING PLUS | Tárhely, domain: https://nokturn.hu
Delila_1
Topikgazda
Kellene indítanod egy Power Query topikot.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Lev07
csendes tag
Kedves Mutt!
Tudnál még abban segíteni, hogy, hogyan változik a képlet, ha az időrendben utolsó eredményt nem akarom bevenni a összegzésbe? Próbáltam a {1;2;3;4;5;6} átírni {2;3;4;5;6}-ra, de úgy is az utolsó 6-ot összegzi?!
Előre is hálás köszönettel!
Üdv
Lev07
huan
őstag
Sziasztok!
Nem létezik olyan "konverter", ami a függvényeket VBA-kóddá konvertálja, de anélkül, hogy az említett folyamatot megcsinálnánk?
[ Szerkesztve ]
Delila_1
Topikgazda
Nincs.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
huan
őstag
Sokszor van úgy, hogy fejléccel rendelkező számnak "látszó" oszlopaimban megjelenik a sarokban a kis háromszög, és számmá alakítható, de ha kijelölöm a cellákat és cellaformázással számmá alakítom, az nem ugyan az, és marad is a kis háromszög. Ha az egész oszlopot jelölöm ki, a fejléccel együtt, nem ajánlja fel az "átalakítás számmá"-t.
Miért van ez? Hogyan tudom mindig számmá (háromszög nélkül) alakítani az akármilyen hosszú oszlopot? (jelenleg a második sortól lefelé kijelölöm az összest és átalakítást választok)
[link]
[ Szerkesztve ]
Delila_1
Topikgazda
Több módon. Egy egyszerű átalakítás, hogy egy üres cellába beírsz egy egyest. Ezt másolod, majd kijelölöd az átalakítandó területet, jobb klikk, irányított beillesztés, a műveleteknél bejelölöd a szorzást. Az egyest törölheted.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
huan
őstag
Makró rögzítést lehet folytatni?
Delila_1
Topikgazda
Ha már leálltál vele, akkor újat rögzíthetsz, és a másodikat az első végére, az End Sub fölé másolod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
mpierre
veterán
Üdv!
Egy kis segítségre lenne szükségem. Excel 2007-ben.
Az alábbi problémám lenne:
Adott egy csomó adat, amit már sikerült egy koordináta rendszerben ábrázolnom (összesen 24 görbéről van szó). Az x tengelyen az idő, míg az y tengelyen a leadott hőmennyiség jelenik meg. Minden grafikon pont mérési adatok digitalizálása alapján jött létre. Vagyis nincs fix intervallum sem az x, sem az y tengelyen egyik görbe esetében sem. Hogy érthető legyen, egy része az adathalmaznak így néz ki:
Ebből az adathalmazból átlagot kellene számítanom valahogy, majd ezt berakni a koordináta rendszerbe. Illetve az átlag görbe jellemző pontjainak adataira (x; y) is szükségem lenne (ez úgy is jön a számításból..) Ezt hogyan tudom megoldani? (Szabad kézzel simán behúznék valamit, de az itt most nem lenne "védhető"...)
#### Scythe Kama Bay AMP 2000 Rev.B + Overnight Sensation hangdobozok + Kanto S6 #### Eladó cuccok: https://hardverapro.hu/aprok/hirdeto/mpierre/index.html ####
Mutt
aktív tag
Szia,
Az ÖSSZESÍT(14;6;SOR($S$2:$S$1000)/($S$2:$S$1000=$X$2);1)
megmondja az utolsó sor számát, ezt a sort kell kizárni a SZORZATÖSSZEG-ből.
=SZORZATÖSSZEG(($S$2:$S$1000=$X$2)*(SOR($S$2:$S$1000)>=MIN(HAHIBA(ÖSSZESÍT(14;6;SOR($S$2:$S$1000)/($S$2:$S$1000=$X$2);{1;2;3;4;5;6});2^99)))*(SOR($S$2:$S$1000)<ÖSSZESÍT(14;6;SOR($S$2:$S$1000)/($S$2:$S$1000=$X$2);1))*($T$2:$T$1000))
Vagy itt van egy általánosabb képlet, ahhoz hogy az N-edik előforduláshoz tartozó gólok számád megkapd:
=HAHIBA(SZUM(INDEX($T$1:$T$500;ÖSSZESÍT(14;6;SOR($S$2:$S$500)/($S$2:$S$500=$X$2);N);0));0)
Ha szükséged van hátulról a második és negyedik eredményre, akkor csak össze kell adnod őket:=HAHIBA(SZUM(INDEX($T$1:$T$500;ÖSSZESÍT(14;6;SOR($S$2:$S$500)/($S$2:$S$500=$X$2);2);0));0)+HAHIBA(SZUM(INDEX($T$1:$T$500;ÖSSZESÍT(14;6;SOR($S$2:$S$500)/($S$2:$S$500=$X$2);4);0));0)
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Mutt
aktív tag
Szia,
Ha van ÖSSZESÍT függvény, akkor van Power Query is.
Lépések:
1. Legyen két táblázat a fájlban, az első tartalmazza a játék eredményeket, a második pedig hogy melyik csapat melyik eredménye érdekel fordított sorrendben. Lehet akár több csapat is eltérő adatokkal. A táblázatok neve Table1 és Table2 nálam.
2. Töltsük be Power Query elöbb a második táblát. Álljunk bele a táblázatba és Adatok -> Adatok beolvasása -> Táblázatból.
3. Jelöld ki a második oszlopot és Kezdőlap -> Oszlop felosztása -> Elválasztó alapján.
4. Menjünk visssza Excel-be, Kezdőlap -> Bezárás és betöltés -> .. adott helyre. A képernyőn "Csak kapcsolat létrehozása" legyen kiválasztva.
5. Menjünk át a másik táblázatba és azt is töltsük be Power Query-be.
6. Első lépésként adjunk a listához egy index oszlopot, Oszlop hozzáadása -> Indexoszlop.
7. Az indexoszlop csökkenő sorrendbe rendezésével megfordítjuk a listát, vagyis előre kerülnek az utolsó eredmények. Oszlopot jelöld ki, majd Kezdőlap -> Rendezés -> Csökkenő sorrend.
8. Válasszuk ki a minket érdeklő adatokat, Kezdőlap -> Összevonás -> Lekérdezések egyesítése.
Table2 -t alulra kiválasztod, majd a kulcsmezőket megadod és végül az egyező sorokat beállítjuk.
9. Ezek után csapatonként kell létrehozni egy újabb sorrendet. Ehhez előbb a Kezdőlap -> Csoportosítást használjuk.
A képletben ha az each _
részt lecseréljük each Table.AddIndexColumn(_, "Index1", 1)
-re, akkor minden csoportban lesz relatív sorrendünk.
A képlet javítása után ez lesz az eredmény:
10. Az utolsó oszlop jobb felső sarkába kattintva jelenítsük meg a rúgott és az index1 értékeket.
11. A 8-as lépést újra játszuk el, annyi különbséggel hogy most már a melyik oszlopot és az index1-et is kiválasztjuk.
12. Jön az utolsó csoportosítás a rúgótt gólokra.
13. A végeredményt visszatöltjük Excelbe, Kezdőlap -> Bezárás és betöltéssel.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-szabi-
őstag
Hi
Megoldást keresek, hogy lehetne Wikipédia oldalról excelbe tenni egy felsorolást, ahol egyik oszlop a kód másik meg a jelentése.
Például ilyen esetben: KLIKK
Előre is köszi.
Pakliman
tag
Szia!
Egy lehetőség:
(A wiki oldalát jelöld ki CTRL+A-val, majd CTRL+C, aztán a makró indítása)
Sub Olvas()
Dim oClip As Object
Dim arr
Dim db As Long
Dim i As Long
Dim sor As Long
Dim bKód As Boolean
'Ez a Microsoft Forms 2.0 Object Library "késői kötése" (c:\windows\system32\FM20.DLL)
Set oClip = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
On Error GoTo Hiba
oClip.GetFromClipboard
'Beolvassuk egy tömbbe a szöveget...
arr = Split(oClip.GetText(1), vbCrLf)
db = UBound(arr)
bKód = False
sor = 0
For i = 0 To db
If arr(i) Like "### ?*" Then
bKód = True
sor = sor + 1
Cells(sor, 1) = Left(arr(i), 3)
Cells(sor, 2) = Mid(arr(i), 5)
End If
If bKód = True Then
If arr(i) Like " ?*" Then
Cells(sor, 3) = Cells(sor, 3) & IIf(Cells(sor, 3) <> "", vbCrLf, "") & Mid(arr(i), 5)
End If
End If
Next i
Hiba:
End Sub
[ Szerkesztve ]
-szabi-
őstag
Hi
Sosem csináltam, futtattam makrót.
Amit leírtál beillesztettem makró létrehozása alatt majd elmentettem a munkafüzetet makróbarát módban.
Weblapon nyomtam egy CTRL+A majd CTRL+C-t.
Majd a munkafüzetben makrók megjelenítése alatt elindítottam az "olvas" makrót.
Aztán semmi nem történt.
Pakliman
tag
Feltöltöttem [ide].
[ Szerkesztve ]
Mai Hardverapró hirdetések
prémium kategóriában
- EDIFIER R1700BTS hangfal pár makulátlan, új állapotban, 2 év hivatalos garanciával, alkalmi áron
- LG OLED55B23LA 2 Év GYÁRI GARANCIA
- Apple iPhone XR 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC , i7 12700KF , RTX 3080 Ti , 64GB DDR5 , 960GB NVME , 1TB HDD
- Intel PC , i5 8500 , 1660 6GB , 32GB DDR4 , 512GB NVME , 500GB HDD