- [K2]: A vagyonvédelmi rendszerszerelővé válás rögös útja
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- ldave: New Game Blitz - 2025
- MasterDeeJay: Natív 3Dfx Glide Windows11 alatt Voodoo1 és Voodoo2-vel.
- Lalikiraly: Astra kalandok @Harmadik rész
-
LOGOUT
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
-
-szabi-
addikt
válasz
Pakliman #40997 üzenetére
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
válasz
-szabi- #40996 üzenetére
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 -
-szabi-
addikt
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. -
Mutt
senior 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ükeach 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
-
Mutt
senior 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
-
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ő"...)
-
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] -
huan
őstag
válasz
Delila_1 #40971 üzenetére
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? -
Lev07
csendes tag
-
Edorn
senior 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.
-
Mutt
senior 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
-
Delila_1
veterán
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.
-
Mutt
senior 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
-
Edorn
senior 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...
-
Edorn
senior 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!
-
Delila_1
veterán
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.
-
Lasersailing
senior tag
válasz
JagdPanther #40957 üzenetére
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
veterán
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.
-
Delila_1
veterán
-
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:
klubCsak 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.
-
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! -
Fferi50
Topikgazda
válasz
JagdPanther #40957 üzenetére
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.
-
Delila_1
veterán
válasz
JagdPanther #40957 üzenetére
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 SubSub Megse()
Rows(6).Delete Shift:=xlUp
End SubSub Hibakiadva()
Cells(6, "H") = Date
End SubSub Hibaelvegezve()
Cells(6, "I") = Date
End Sub -
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 -
Fferi50
Topikgazda
válasz
JohnYBoVs #40954 üzenetére
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.
-
Mutt
senior tag
válasz
ntamas97 #40949 üzenetére
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
-
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? -
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! -
ntamas97
csendes tag
Sziasztok!
Excel 2016-ban egy kérdőívre adott válaszokat szeretném megszámolni.
A problémám, hogy egy cellában több érték van megadva, a német autómárkák. Itt egy kép róla:Tehát ezen cellákban szeretném megszámolni az előforduló márkákat (pl. Opel van 60, BMW 58)
Van erre valamilyen képlet, vagy csak egyesével tudom megszámolni?
Köszönöm előre is választ!
-
visit
tag
Nem is hallottam róla. De most elolvasom.
Kb. 2 hete kezdtem nézegetni az excelt, és Pakliman hathatós segítsége kapcsán egyre jobban érdekel, és tetszik.Akkor is fog futni a makró, ha egy másik gépre viszem azt a fájlt, amiben ez a makró van? Mert azon a gépen biztosan nincsenek ilyen "valamik" bejelölve, vagy telepítve.
-
Delila_1
veterán
Egyszerűbb lenne, ha telepítenéd a naptár vezérlőt, de itt egy ellenőrző makró. A (végül) bevitt dátumot az A1 cellába írja be.
Sub Dat_ellenorzes()
Dim kelt As String
kelt = Application.InputBox("Add meg dátumot", "Dátum bekérése", , , , , , 2)
'Ellenőrzés
'Teljes hossz
If Len(kelt) <> 10 Then GoTo Hiba
'Pontok helye
If Mid(kelt, 3, 1) <> "." Then GoTo Hiba 'nap
If Mid(kelt, 6, 1) <> "." Then GoTo Hiba 'hónap
'Szám-e
If Not IsNumeric(Left(kelt, 2)) Then GoTo Hiba 'nap
If Not IsNumeric(Mid(kelt, 4, 2)) Then GoTo Hiba 'hónap
If Not IsNumeric(Right(kelt, 4)) Then GoTo Hiba 'év
'Számok helyessége
If Left(kelt, 2) > "31" Then GoTo Hiba 'nap
If Mid(kelt, 4, 2) > "12" Then GoTo Hiba 'hónap
Select Case Mid(kelt, 4, 2) 'hónap
Case "02" 'február
If Right(kelt, 4) / 4 <> Int(Right(kelt, 4) / 4) And Left(kelt, 2) > 28 Then GoTo Hiba
Case "04", "06", "09", "11" '30 napos hónapok
If Left(kelt, 2) > 30 Then GoTo Hiba
End Select
If Right(kelt, 4) / 4 = Int(Right(kelt, 4) / 4) And Mid(kelt, 4, 2) = "02" _
And Left(kelt, 2) > 29 Then GoTo Hiba 'szökőév február
Range("A1") = CDate(kelt)
Exit Sub
Hiba:
Dat_ellenorzes
End Sub -
visit
tag
Sziasztok!
Szeretnék egy inputboxból beolvastatni egy dátum értéket. (30.04.2019)
Azt szeretném, hogy mindaddig kérje be újból és újból, amíg az nem a megfelelő fenti forma, vagy netán betűk vagy egyéb karakterek is vannak benne.
A segítséget köszönöm!
(Excel 2010 64bit) -
Mutt
senior tag
válasz
bartucz911 #40935 üzenetére
Szia,
Lehet, hogy rosszul értelmezem a feladatot, mert a mintának megadott sorozatból nem jönnek ki az eredmények, de itt egy változat arra, hogy keressük meg hogy hány cellával később található meg ugyanazon szám.
Ha Excel 2010-ed van legalább, akkor az ÖSSZESÍT (AGGREGATE) függvény tud segíteni, a képlet B2-ben:
=HAHIBA(ÖSSZESÍT(15;6;SOR(szamok)/((szamok=A2)*(SOR(szamok)>=SOR()+1));1)-SOR();"")
Ha régebbi, akkor egy tömb függvény:
=HAHIBA(HOL.VAN(1;ELŐJEL((szamok=A2)*(SOR(szamok)>=SOR()+1)*SOR(szamok));0)-SOR()+1;"")
A feladathoz létrehoztam a névkezelőben egy dinamikus tartományt "szamok" névvel, a képlete:
=ELTOLÁS(Sheet1!$A$2;;;DARAB(Sheet1!$A:$A))
Erre csak akkor van szükséged, ha nem tudod előre hány sorban lesz számok.
A végén pedig cella formázással adom az eredményhez a "lépés" szöveget. A formázásnak ezt kell megadni:
[>0]#" lépés";;;
üdv
-
Fferi50
Topikgazda
-
oke
senior tag
Sziasztok!
Van az alábbi makróm:
Sub hozzarendeles()
Dim sor As Long
sor = Range("B" & Rows.Count).End(xlUp).Row
Range("e2").Select
Application.CutCopyMode = False
'Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],összerendelés!C[-4]:C[-3],2,0)"
Columns("e:e").EntireColumn.AutoFit
Selection.AutoFill Destination:=Range("e2:e" & sor)
End SubGyakorlatilag egy Fkeres, mely egy másik fülről veszi a hozzárendeléseket. Viszont több helyen nem talál egyezést, emiatt értelemszerűen "#HIÁNYZIK" kerül be az aktuális cellába. Van e arra lehetőség, hogy ha nem talál egyezést, akkor a "B" oszlop adott sorának értékét rakja be, ne HIÁNYZIK-ot ?
Itt egy mintafájl:
[link] -
bartucz911
tag
Sziasztok
Egy függvénnyel kapcsolatban szeretném segítségeteket kérni.
Van egy oszlop adatom, csak random számok 1-99ig. Minden szám érték mellé szeretném kiirtani azt hogy az oszlopban utána következő számok közül mikor talál ugyanolyat értéket. Viszont ezt úgy szeretném hogy bővítse a tartományt mindig a következő számmal. Tehát nézze meg hogy a következő szám ugyanaz e, és ha nem akkor a rá következő számhoz már nézze hozzá az eddig vizsgált számokat is hogy van e eggyezés. És a kiirandó szám amit a függvény kiszámol az az lenne hogy hány lépés találnia egy hasonlót.
Pl.
63,. 4 lépés mire a következőkben talál egyezést (2)
2, 3 lépés (2)
5. 5 lépés (25)
25. 4 lépés (25)
2
10
43
25
5 -
csferke
senior tag
Sziasztok!
Dátum bevitellel kapcsolatban, én ezt használom Pop-up Calendar
Igaz nem tudom, hogy iOS-on működik-e. -
Pakliman
tag
válasz
Zola007 #40932 üzenetére
[Egy példa...]
Bár ez inkább a VBA része...
[Vagy ez...] -
Zola007
veterán
Tudtok egyébként ajánlani jó Excel online kurzust?
valami Udemy és társai vonal érdekelne, ami megfizethető dollárban vagy sávszélességben -
Zola007
veterán
Ez nem sima 2 soros eredménytábla
tehát az AB.SZUM-mal számolt tábla első oszlopában a keresendő kritérium nem közvetlenül az oszlopfelirat alatt található, hanem mondjuk 17 sorral lentebb, tehát 2db, egymással nem szomszédos kritériumotkell megadnom, erre kellene a tömb. -
Capella
senior tag
válasz
#05304832 #40921 üzenetére
Ha az egyik cellába írt képlettel megváltoztatod egy másik cellába írt képlet eredményét, attól még mindkét cellában képlet lesz. A MA() függvény értéke pedig változni fog, ha egy másik napon nyitod meg a munkafüzetet.
Akkor a pedig a képlet, ha lenne egyáltalán a célodnak megfelelő, a MA() függvény aktuális értékével számolna.
Olyan képletet, hogy egy változó értékből, képletből fixet csinálna, én nem tudok. Ami neked kellene, az az irányított beillesztés érték beillesztése, ami nem képlet. Ha nem tudsz makrót használni, az gáz, mert automatizálni nem tudod, csak magad elvégezni.A másik felvetésre, az egy dolog, hogy mi jelenik meg egy cellában, ezen lehet változtatni, a lényeg a cella tartalmának a valódi értéke.
A dátum számolása a 0 értéktől indul, megjelenítve 1900.01.00-tól kezdődik, tehát a mai nap 2019.04.27 értéke 43582.
Ha egy éééé.hh.nn formátumú cellába 190427-et írsz, akkor a cella értéke pont ennyi lesz, megjeleníteni viszont a 2421.05.14 dátumot fogja.
Ha a billentyűzetről a 19-4-27 vagy a 19.4.27 adatot viszed be, akkor lesz a megjelenítés a mai dátum 2019.04.27, és a cella értéke is 43582. Az Excel kitalálta, hogy dátumot akartál beírni, és eszerint korrigált. -
Capella
senior tag
válasz
#05304832 #40918 üzenetére
Ezzel, illetve a függvénnyel az a gond, hogy az változó értéket ad. Mondjuk automatikus dátumozásnál meg pont ez lenne a jó.
Tehát ha nem kézzel akarod beírni fixen a mai dátumot, hanem függvénnyel, akkor magadnak kellene elvégezni majd a cellába az érték beillesztését.
A makróm pont ezt csinálta, és simán makrórögzítéssel készült.
Ha nem tudsz makrót használni, az gáz, mert így egyszerűbbnek tűnik simán és direktben bepötyögni. -
Capella
senior tag
válasz
#05304832 #40914 üzenetére
Én ezt a makrót használom a mai dátum beszúrására. Csináltam hozzá egy ikont a gyorselérési eszköztárra, így egérrel is gyorsan beszúrható a kívánt cellába.
Sub Ma()
ActiveCell.FormulaR1C1 = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub -
Zola007
veterán
válasz
#05304832 #40914 üzenetére
ha a mező vagy rekord dátumra van formázva, akkor kellene lennie egy naptár ikonnak valahol a képernyőn
ha arra kattintasz, a kiválasztott dátumot beilleszti
másik megoldás, hogy virtuális teljes billentyűzetet használsz, amin tudsz billentyűkombinációt beütni, ezek a Ctrl és pontosvessző vagy Ctrl és nulla kombinációja szúrja be az aktuális dátumot
harmadik verzió, hogy valamilyen költségnyilvántartó programot használsz, store-ból letölthető többféle is, aminek akár van online vagy PC verziója is -
Pakliman
tag
Szia!
Az utolsó használt cella egy adott oszlopban:
Worksheets("Munkalap_Neve").Cells(Worksheets("Munkalap_Neve").Cells.Rows.Count, oszlop_száma).End(xlUp).Row
(AWorksheets("Munkalap_Neve").
elhagyható, ha nem egy konkrét munkalapon, hanem az éppen aktívon akarod futtatni a makrót.)
pl.:Sub x()
Dim us As Long
Dim o As Long
o = 1
us = Cells(Cells.Rows.Count, o).End(xlUp).Row
Cells(us + 1, o) = Application.Sum(Range(Cells(2, o), Cells(us, o)))
End SubKellemes további kísérletezést
-
Zola007
veterán
valamiért nem működik az alábbi array formulám Excel 2013 alatt:
=AB.SZUM(D7:Z49;"darab";{"Készlet";"abc123"})
Készlet oszlopból akarom az összes XY termék "darab" oszloban lévő értékét összeadni
Korábbi táblázatból másoltam, szélső kapcsosokat ctrl-shift-enterrel raktam be, a belsőket beírtam.
Mi lehet a gond? -
-
visit
tag
Szeretném egy munkalap adott oszlopaiban szereplő számokat összeadni az oszlop alatti cellában, az első üres sorban. Ezt egérrel könnyen kijelölhetem, de ez egy makró részeként kellene, és nem mindig ugyanannyi sorból áll a munkalap. Tudna valaki segíteni?
Köszönöm! -
oke
senior tag
válasz
Delila_1 #40901 üzenetére
Köszönöm, a kitöltés így már működik, az eredeti képlethalmazból most már csak ezt kellene hozzáigazítani:
'Képlet N2-től N alsó sorig
Range("N2:N" & usor).FormulaR1C1 = _
"=IF(RC[-1]<TODAY(),""Régebbi"",IF(RC[-1]=TODAY(),"" Mai"",""Jövőbeni""))"Most a "." esetén a Jövőbeni értéket rakja hozzá az M oszlopban, rá lehetne bírni, hogy a Régebbi-t írja?
-
Mutt
senior tag
Szia,
... függvénnyel(B1) meg szeretném számoltatni, hogy az A-oszlopban mennyi egyedi (hány fajta) szám van ...
Ma SZORZATÖSSZEG napom van, B1 képlete:
=SZORZATÖSSZEG(1/DARABTELI(A2:A16;A2:A16))
A tartományt mindig igazítanod kell a képletben, vagy egy dinamikus tartományra kell cserélned.
Office 365 és Google Táblázatok esetén pedig van már UNIQUE (EGYEDI?) függvény is, amit egy COUNT (DARAB) függvénybe kell rakni.
üdv
-
Mutt
senior tag
Szia,
Szeretném egy adott csapat 6 utolsó hazai meccsén a hazai csapat által rúgott gólok számát összegezni.
Remélem Excel 2010 vagy frissebb verziód van, mert akkor ez a képlet működni fog (az első 1000 sorra, ha többed van akkor nyugodtan terjeszd ki a tartományt, de teljes oszlopra nem fog működni):
=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)))*($T$2:$T$1000))
Hogy működik?
1. A csak Excel 2010-től elérhető ÖSSZESÍT (AGGREGATE) függvénnyel megkeressük, hogy az X2 cellában található csapat mely sorokban van az S-oszlopban és abból a 6 legnagyobb értéket visszakérjük.
Pl. AS Roma esetén 24 és 4-es sorokat fogjuk megkapni a mutatott minta alapján.2. Az előbb kapott eredmény alapján tudjuk már, hogy a 4-es sortól lefelé akárhol fordul elő az AS Roma az az utolsó 6 meccsét fogja jelenteni. Ezért van az ÖSSZESÍT egy MIN függvénybe téve, illetve ha nincs 6 meccse akkor egy HAHIBA függvénnyel ezt is kezeljük.
3. Ezek után már csak összegeznünk kell azokakat a sorokat, ahol AS Roma van az S oszlopoban és a sor száma nagyobb vagy egyenlő mint a 2-es lépésben kapott sorszám. A SZORZATÖSSZEG (SUMPRODUCT) tud ebben segíteni.
üdv
-
Delila_1
veterán
Az L vegyes értékeiből dátumot, ill. pontot hoz létre az M oszlopban:
Dim usor As Long
usor = Range("L" & Rows.Count).End(xlUp).Row
With Range("M2:M" & usor)
.FormulaR1C1 = "=IFERROR(DATEVALUE(MID(RC[-1],3,10)),""."")"
.Copy
.PasteSpecial xlPasteValues
.NumberFormat = "m/d/yyyy"
End With
Új hozzászólás Aktív témák
- E-roller topik
- OLED TV topic
- Milyen billentyűzetet vegyek?
- exHWSW - Értünk mindenhez IS
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kerékpárosok, bringások ide!
- Sütés, főzés és konyhai praktikák
- [K2]: A vagyonvédelmi rendszerszerelővé válás rögös útja
- Kertészet, mezőgazdaság topik
- Vezeték nélküli fülhallgatók
- További aktív témák...
Hirdetés
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Bomba ár! Lenovo ThinkPad Yoga 260 - i5-G6 I 8GB I 256SSD I 12,5" Touch I W10 I Cam I Gari!
- Bomba ár! Dell Latitude E6430 - i5-3GEN I 8GB I 320GB I HDMI I 14" HD I Cam I W10 I Garancia!
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- Eredeti Windows 10 / 11 Pro aktiválókulcs AZONNALI SZÁLLÍTÁSSAL!
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest