Hirdetés

2024. május 4., szombat

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#40951) Delila_1 válasza ntamas97 (#40949) üzenetére


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.

(#40952) föccer válasza Delila_1 (#40951) üzenetére


föccer
nagyúr

De szép megoldás a jóker karakterrel :R

üdv, föccer

Építésztechnikus. Építőmérnök.

(#40953) ntamas97


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! :)) :R

(#40954) JohnYBoVs


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?

(#40955) Mutt válasza ntamas97 (#40949) üzenetére


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

(#40956) Fferi50 válasza JohnYBoVs (#40954) üzenetére


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.

(#40957) JagdPanther


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

(#40958) Delila_1 válasza JagdPanther (#40957) üzenetére


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.

(#40959) Fferi50 válasza JagdPanther (#40957) üzenetére


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.

(#40960) huan


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!

(#40961) Klub19111


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.

(#40962) Delila_1 válasza Klub19111 (#40961) üzenetére


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.

(#40963) Delila_1 válasza huan (#40960) üzenetére


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.

(#40964) huan válasza Delila_1 (#40963) üzenetére


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.

(#40965) Delila_1 válasza huan (#40964) üzenetére


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.

(#40966) visit válasza Delila_1 (#40965) üzenetére


visit
tag

Többször olvastam itt, "lebutított" fájl. Ez mit jelent?
(Hasonlítson rám...?)

(#40967) Delila_1 válasza visit (#40966) üzenetére


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.

(#40968) huan válasza Delila_1 (#40965) üzenetére


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)


kép

(#40969) visit válasza visit (#40966) üzenetére


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...

(#40971) Delila_1 válasza huan (#40968) üzenetére


Delila_1
Topikgazda

Feltöltöttem.

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.

(#40972) Edorn


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

(#40973) Edorn válasza Edorn (#40972) üzenetére


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

(#40974) Mutt válasza huan (#40960) üzenetére


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

(#40975) huan válasza Delila_1 (#40971) üzenetére


huan
őstag

Aztaaa :C :R
Köszönöm szépen!

(#40976) Delila_1 válasza Edorn (#40972) üzenetére


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.

(#40977) Delila_1 válasza huan (#40975) üzenetére


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.

(#40978) Delila_1 válasza Edorn (#40973) üzenetére


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.

(#40979) Edorn válasza Delila_1 (#40976) üzenetére


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

(#40980) huan válasza Delila_1 (#40971) üzenetére


huan
őstag

Még annyit, hogy a gomb funkcióját hol definiálod?

(#40981) Mutt válasza Edorn (#40972) üzenetére


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

(#40982) Delila_1 válasza huan (#40980) üzenetére


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.

(#40983) Mutt válasza Edorn (#40973) üzenetére


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

(#40984) Edorn válasza Mutt (#40983) üzenetére


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

(#40985) Delila_1 válasza Mutt (#40983) üzenetére


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.

(#40986) Lev07 válasza Mutt (#40902) üzenetére


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

(#40987) huan válasza Delila_1 (#40971) üzenetére


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 ]

(#40988) Delila_1 válasza huan (#40987) üzenetére


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.

(#40989) huan


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 ]

(#40990) Delila_1 válasza huan (#40989) üzenetére


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.

(#40991) huan válasza Delila_1 (#40990) üzenetére


huan
őstag

Makró rögzítést lehet folytatni?

(#40992) Delila_1 válasza huan (#40991) üzenetére


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.

(#40993) mpierre


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 ####

(#40994) Mutt válasza Lev07 (#40986) üzenetére


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

(#40995) Mutt válasza Lev07 (#40986) üzenetére


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

(#40996) -szabi-


-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.

(#40997) Pakliman válasza -szabi- (#40996) üzenetére


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 ]

(#40998) -szabi- válasza Pakliman (#40997) üzenetére


-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.

(#40999) Pakliman válasza -szabi- (#40998) üzenetére


Pakliman
tag

Feltöltöttem [ide].

[ Szerkesztve ]

(#41000) -szabi- válasza Pakliman (#40999) üzenetére


-szabi-
őstag

Valamit rosszul csinálok.
Megpróbálok rájönni mit rontok el.
Köszi.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.