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
- 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
- Tudástár AMD Radeon undervolt/overclock
- Tudástár RTX3070 16 GB VRAM-mal?
Általános témák
LOGOUT.hu témák
- [Re:] [ubyegon2:] Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- [Re:] [parandroid:] KerékPH!áros 2024 tavaszi balatoni megmozdulás
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [sziku69:] Szólánc.
- [Re:] [Luck Dragon:] MárkaLánc
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] Alfa Giulia Q-val a Balaton Park Circiut-en
- [Re:] [aquark:] Milyen „light” RPG-t ajánlanátok kezdőnek?
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
andreas49
senior tag
Sziasztok, BÚÉK Mindenkinek,
Átlagot kellene számoltatnom egyazon naphoz tartozó értékekre. jó lenne, ha ez lehúzható is lenne. Napon belüli értékek száma eltérhet (nekem ez okozta a problémát).
Másik kérdésem a sorazonosítón belüli igazítás, hogyan lehet a számokat (sorazonosító) függőlegesen középre igazítani (sormagasságok nem azonos értékűek)
Segítséget előre is köszönöm.
HONOR Magic5 Pro - Huawei P30 Pro 8/128 GB - Xiaomi MI Note 10 Pro - Huawei Mate 10 Pro
KaliJoe
csendes tag
Sziasztok,
Köszönet mindenkinek, aki hozzászólt. Meglett az eredmény és helyesen működik. Ha másnak is kellene ilyen ideírom a megoldást:
Megoldás: =MAX(INDIREKT(HAHIBA(CÍM(4;HOL.VAN(0;A4:X4;0)-5;4;1) & ":" & CÍM(4;HOL.VAN(0;A4:X4;0)-1;4;1);"T4:X4")))
Megjegyzés: a CÍM(?... utáni első szám a sor száma, ahol keresni kell, tehát változtatandó. A példában én a 4-es sort illesztettem be! A HAHIBA függvénnyel kiegészítve még hibamentesre is lehet fejleszteni, akkor ha eléri a tábla jobb szélét (adat kerül már a viszgált utolsó napra is), nem hullik szét!
Még egyszer köszönöm. Megoldódott!
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
Pakliman
tag
Szia!
Egy lehetőség:
=HA(DARABTELI($A$1:A1;A1)=1;SZUMHA(A:A;A1;B:B)/DARABTELI(A:A;A1);"")
Az első DARABTELI-nél FONTOS a $A$1:A1! Ez adja meg a dátum első előfordulását és csak ennél lesz átlag számolva. Természetesen működik e nélkül is.
A sorazonosítót nem tudom igazítani. Egy megoldás van, ha az A oszlopban "lehúzod" az =SOR() függvényt majd az A oszlopra beállítod a függőlegesen középre igazítást.
[ Szerkesztve ]
andreas49
senior tag
Köszi, holnap kipróbálom
HONOR Magic5 Pro - Huawei P30 Pro 8/128 GB - Xiaomi MI Note 10 Pro - Huawei Mate 10 Pro
Delila_1
Topikgazda
Még mindig nem teljes. Mi van akkor, ha nincs 0-nál nagyobb értékű 5 oszlopod?
Átalakítottam úgy, hogy soronként jó eredményt kapj.
A Z2 cella képlete=HAHIBA(MAX(HA(HOL.VAN(0;A2:X2;0)<6;INDIREKT("A" & SOR()&":" & CÍM(SOR();HOL.VAN(0;A2:X2;0)-1;4;1)); INDIREKT(CÍM(SOR();HOL.VAN(0;A2:X2;0)-1;4;1) & ":" & CÍM(SOR();HOL.VAN(0;A2:X2;0)-5;4;1))));MAX(A2:X2))
ezt másolhatod lefelé.
Akkor is működik, mikor csakis nulla értékek vannak egy-egy sorban.
Zöld hátteret adtam a sorokban a MAX aktuális tartományának.
[ 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.
tgumis
tag
Sziasztok!
Csinálok egy raktár nyilvántartó táblázatot. Az adatok a bevitel munkalapról kerülnek át az anyagmozgás munkalapra. Mindkét munkalapon táblázatként van formázva az érintett tartomány.
A problémám az, hogy a legelső adatáttöltés alkalmávan bentmarad a fejrész alatt egy üres sor.
Nem tudom azt megoldani, hogy az kikerüljön onna, mert csak az első áttöltés alkalmával gond ha manuálisan kitörlöm akkor nem gond de minden negyedév vagy amikor újra kezdjük feltölteni az adatokat előjön.
Van valami megoldás vajon?
Innen másolok:
és ez a makró ami áttölti ( a kommentelés nem minden esetben valós csak ott maradt)Sub SzurMasolBeill()
Dim WSBev As Worksheet
Dim WSAnyagM As Worksheet
Dim Bsor As Long
Dim Usor As Long
Application.ScreenUpdating = False
'értékadások
Set WSBev = Sheets("BEVITEL") ' a BEVITEL munkalap makróban elnevezett neve
Set WSAnyagM = Sheets("ANYAGMOZGÁSOK") ' az összesít munkalap makróban elnevezett neve
Bsor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row + 1 ' AZ IDÉZŐJEL KÖZÖTT LÉVŐ BETŰ azt jelenti hogy aZ ADOTT Oszlopba utolsó sor
' plusz egy fogom illeszteni az adatokat
' ITT CSAK AZT ADOM MEG HOGY HOVA ILLESZTEK BE
' A BSOR LEHETNE BÁRMI EZ CSAK ELNEVEZÉS
Usor = WSBev.Range("A12").End(xlDown).Row
WSBev.ListObjects("Bevitel").Range.AutoFilter Field:=12, Criteria1:="<>0", Operator:=xlAnd 'NULLÁTÓL KISSEBB ILLETVE NAGYOBB ÉRTÉKEKRE SZŰRÉS
WSBev.Range("A12:N" & Usor).SpecialCells(xlCellTypeVisible).Copy 'csak a látható, nem rejtett sorokat másolja
WSAnyagM.Range("A" & Bsor).PasteSpecial xlPasteValues 'ITT ADOM MEG HOGY BEIELLESZTSE A MÁSOLT ADATOKAT AZ
'IDÉZŐJELEK KÖZT MEGADOTT OSZLOP PLUSZ A BSOR BAN
'MEGHATÁROZOTT UTOLSÓ PLUSZ EGY SORBa
Dim Csor As Long
Csor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row 'tartomány átméretezéséhez kell ey új változó itt megadom, neki, hogy melyik az utolsó adarot tartalmazó sor az A oszlopban
WSAnyagM.ListObjects("Anyagmozgások").Resize Range("$A$3:$N$" & Csor) ' itt pedig átméretezem a táblázatot
WSBev.ListObjects("Bevitel").Range.AutoFilter Field:=12
Application.ScreenUpdating = True
End Sub
[ Szerkesztve ]
Delila_1
Topikgazda
A táblázatodnál az alsó sor a példád szerint 13, mert a táblázat a 11:12 sorban van az első betöltés előtt. ABsor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row + 1
sor után tegyél be egy feltételt:If Cells(Bsor - 1, 1) = "" Then Bsor = Bsor-1
[ 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.
tgumis
tag
Ahovà beillesztenék az a 4 sor az első betöltés előtt.
Utána már meg tudom keresni az utolsót.
Beírtam amit javasoltàl de nem müxik jól úgy sem.
Delila_1
Topikgazda
lumpy92
aktív tag
Sziasztok!
Excel makrózást (VBA programozást) hol érdemes elkezdeni tanulni?
Van néhany könyvem, illetbe nyilván Udemy, youtube, stb. rengeteg az anyag.
Mégis van valami ajánlott, amin tematikusan ha végigrágja magat az ember, akkor kap egy jó, átfogó tudást?
Újévi lendület....
"never send to know for whom the bells tolls; it tolls for thee"
sztanozs
veterán
Meg lehet valahogy oldani, hogy Táblázat-ot használva lefixáljunk egy mezőt (mintha sima range lenne)? Ha elhúzom a függvényt, akkor "odéb húzza" a táblázat mezőjét is:B1: = XLOOKUP($A1, Table1[col1], Table1[col2])
ez eggyel jobbra húzva ez lesz:C1: = XLOOKUP($A1, Table1[col2], Table1[col3])
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
lappy
őstag
ha esetleg nem sorszámmal látod el a végét akkor nem "bővíti"
Bámulatos hol tart már a tudomány!
sztanozs
veterán
De, csak a példa kedvéért írtam számokat, hogy látható legyen a növekedés. Ilyen mezőim vannak:
Table1[User ID]
Table1[Last Name]
Table1[First Name]
Table1[Description]
Table1[Environment]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
spe88
senior tag
Létezik olyasmi (tömb)függvény ami egy cellában lévő adatból az adott karaktereket megtalálva szétbontja különböző soroknak a celláiba.
Úgy mint ahogyan a Word teszi a ^p paranccsal a csere funkcióban.
Excelben nincs ilyen ^p funkció, de amúgy is a képlet lenne az igazi.
Létezik ilyen?
Valami kerülő megoldás is érdekel, mert gondolom olyan egyszerűen nem lehet ahogy a Wordben.
Keressem esetleg ki az 1. ... n előfordulásukat és közép fv-nyel a következő előfordulásig?
Köszi
Spóroljunk! Kerül, amibe kerül!
sztanozs
veterán
VBA-val kell egy Split makró, ami megcsinálja:Public Function SPLITTEXT(Text, Optional Separator = "") As Variant
If Separator <> "" Then
SPLITTEXT = Split(Text, Separator)
Else
SPLITTEXT = Split(Text)
End If
End Function
Utána a következő worksheet függvénnyel lehet sorokba szétszedni:=TRANSPOSE(SPLIT(A1, ","))
Office 365-ben nem is kell Array (CTRL+ENTER) forma a beíráshoz, megcsinálja magától a kiterjesztést.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
tgumis
tag
kipser
junior tag
Sziasztok!
Egy excel táblán, amiben soronként vannak autók(70db) Oszloponként az autó tulajdonságai.
Meg kellene oldanom valahogyan hogy minden sorból egy külön excel fájl generálódjon az oszlopokban lévő adatokkal egy sablonnak megfelelően.
van erre ötletetek, hogy hogyan lehetne megodani a legegyszerűbben?
köszi
lappy
őstag
Kimutatás készítés
Bámulatos hol tart már a tudomány!
Fferi50
őstag
Szia!
1. lépés Adatok - szövegből oszlopok - tagolt - beállítod a határoló karaktert a második párbeszédpanelen, a harmadikon ok.
2. lépés A szétszedett adatokat kijelölöd - másolás - majd irányított beillesztés transzponálás
Üdv.
Fferi50
őstag
Szia!
Makró kell hozzá.
Illetve ha nyomtatni szeretnéd, akkor Wordben körlevél sablon és hozzárendeled az adott excel fájlodat.
Üdv.
tgumis
tag
Ismét köszönöm!
Kicsit kisérleteztem
Nem minusz hanem plusz kelett. Persze nélküled ez nem ment volna, hisz ennyire nem vágom
KösziIf Cells(Bsor + 1, 1) = "" Then Bsor = Bsor - 1
kipser
junior tag
Szia!
Tudsz segíteni a macroban?
Van egy kész sablonom. Legyen a neve sablon.
Van egy adattáblám. Legyen a neve adatok.
Így kellene megoldanom, hogy:
Adatok F oszlop elemei kerüljenek a sablon B10 mezőjébe
Adatok X oszlop elemei kerüljenek a sablon B6 mezőjébe
Adatok Y oszlop elemei kerüljenek a sablon B7 mezőjébe
Adatok Z oszlop elemei kerüljenek a sablon B5 mezőjébe
Minden más adat maradjon a sablonban és mindegyikből készüljön új excel file.
Köszönöm szépen!
lappy
őstag
Nem feltétlenül kell macro ezt körlevél formájában is megcsinalhatod
Bámulatos hol tart már a tudomány!
kipser
junior tag
Mi ennek a módja? Lépései?
köszönöm
lappy
őstag
itt van rengeteg segítség
Bámulatos hol tart már a tudomány!
zsoci0914
csendes tag
Először is boldog új évet mindenkinek!
Másodsorban, én is ilyen dátum kérdéssel érkeztem, csak szeretném kicsit tovább bonyolítani.
Tavaly a segítségetekkel megoldódott a legördülő menüben választás során a sor színezés.
Amit köszönök szépen ismét!
Megoldható-e esetleg az, hogy mikor kiválasztok egy opciót, akkor egy meghatározott oszlopban megjelenjen az aznapi dátum (esetleg pontos idő is?) ami ott is marad?
Majd ha egy másik opciót választok a legördülő menüből akkor ismét megjelenjen a dátum egy másik meghatározott oszlopban és az szintén megmaradjon?
Tehát: legördülő menüben van 4 féle lehetőségem.
Kiválasztom az elsőt és a sor végén megjelenik a dátum,
Módosítom a "státuszt" a következőre és a következő oszlopban megjelenik a dátum szintén és így tovább.
Köszönöm
Delila_1
Topikgazda
Nem írtad, hogy mi adja a lehetőségeket. Érvényesítés, ComboBox a munkalapon, esetleg ComboBox Userformon. Azt sem írtad, melyik sorba kéred a dátumot és időt.
Találomra vettem azt az esetet, mikor a munkalapon van egy ComboBox, és az A oszlopban folyamatosan vannak adatok.
A laphoz rendeltem egy makrót, ami az első üres sorba írja ki a választásnak megfelelően a B, C, D, ill. az E oszlopba. A választási lehetőségek "B oszlopba dátum", "C oszlopba dátum", ...
Megeshet, hogy egészen másról van szó, akkor írd meg pontosan, mit szeretnél.
Private Sub ComboBox1_Change()
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row + 1
Select Case Left(ComboBox1, 1)
Case "B": Cells(usor, 2) = Format(Now, "yyy.mm.dd hh:mm:ss")
Case "C": Cells(usor, 3) = Format(Now, "yyy.mm.dd hh:mm:ss")
Case "D": Cells(usor, 4) = Format(Now, "yyy.mm.dd hh:mm:ss")
Case "E": Cells(usor, 5) = Format(Now, "yyy.mm.dd hh:mm:ss")
End Select
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
spe88
senior tag
Szia!
Ha jól értettem akkor a transpose-os kódot tömbképletként kell használnom.
A baj, hogy így mindig csak az első előfordulásnál levágja. Kb. mintha egy BAL fv.-t használnék.
Kb egy a képen látható dolgot szeretnék elérni, hogy az az A1 cella értékei jelenjenek meg egymás alatt a C oszlopban.
Ha erre jó amit írtál, akkor valahol elcseszem.
Köszi
Spóroljunk! Kerül, amibe kerül!
zsoci0914
csendes tag
Erről lenne szó.
Az A oszlop legördülő menü, kiválasztok egy "státuszt" beérkezve például és akkor az M oszlopban megjelenik a dátum. Aztán megváltoztatom "gyartas alatt"-ra akkor pedig az N oszlopban a változtatás dátuma, ugyanígy "kész" az O, "kiszallitva" a P oszlopban, és persze az előző maradjon meg.
[ Szerkesztve ]
Dilikutya
félisten
Hello!
Van egy tábla, névsor, a nevek egységekbe rendezve, minden név mellett értékek. Olyan átlagolás kellene (ha megoldható), hogy szűrővel kiválasztok egy egységet, és egy mezőben hozza az egységhez tartozó nevek melletti értékek átlagát.
Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)
lappy
őstag
ezek az egységek hogyan vannak jelölve? mert ha csoportosítással akkor nem lehet, ha viszont a sor végén van vmi jelölés akkor lehet
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
Delila_1
Topikgazda
Szóval érvényesítést alkalmazol, és az adott sor valamelyik cellájába kell beírni a dátumot.
A makrót a laphoz kell rendelned, és majd makróbarátként kell mentened a füzetet.Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.EnableEvents = False
Select Case Target.Value
Case "Beérkezve": Cells(Target.Row, "M") = Format(Now, "yyyy.mm.dd hh:mm:ss")
Case "Gyártás alatt": Cells(Target.Row, "N") = Format(Now, "yyyy.mm.dd hh:mm:ss")
Case "Kész": Cells(Target.Row, "O") = Format(Now, "yyyy.mm.dd hh:mm:ss")
Case "Kiszállítva": Cells(Target.Row, "P") = Format(Now, "yyyy.mm.dd hh:mm:ss")
End Select
Application.EnableEvents = True
End If
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Pakliman
tag
Szia!
ez a megoldás Nálad is használható lehet kis átalakítással (feltéve, ha nem több 10E-nyi sorral dolgozol, mert akkor egy pöttyet "belassul" ).
Delila_1
Topikgazda
Nézd meg a RÉSZÖSSZEG függvényt, azzal megoldhatod, hogy a szűrt tartomány átlagát adja.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Dilikutya
félisten
Köszi, ez lesz az!
Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)
Delila_1
Topikgazda
Szivi.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
moma
őstag
Ez valami nagyon basic lehet, de nem értem
két szöveges cellát hasonltanék össze. beírom: =EXACT(G2,M2) és nem csinálja, hanem csak ott van a cellában ez a szöveg. ha átrakom a cella formátumát másra akkor is ez van és Formulas/CAlculation options automaticon van, de ha Calculate now-ra nyomok sem csinálja.
Mit csinálok rosszul?
we all deserve a bit of luck.
BEndre34
tag
Sziasztok!
Adott egy Excel tábla. Az elképzelésem az lenne, hogy meg szeretném számolni, soronként külön-külön, mennyi olyan nap van, ahol "1" szerepel. A probléma, amit nem tudok megugrani az, hogy az egymást követő egyeseket "1"-nek kellene számolnom. Azaz A2-ben 2-nek, A3-ban szintén 2-nek, A4-ben 3-nak, A6-ban 2-nek és így tovább kellene szerepelnie. Külön probléma, hogy jelenleg a BH oszlopnál van a táblázat "vége", de ez még bővülni fog további oszlopokkal. Képletekkel próbáltam (egymásba ágyazottal is), de sehogy sem lesz jó. Feltételezem, a makró lenne a megoldás, de abban sajnos láma vagyok, illetve nem találtam rá megoldást (pedig az hittem a Google és én jóban vagyunk).
Ha tudtok segíteni, előre is köszönöm!!
Endre
(természetesen holnap tiszta fejjel, próbálom tovább mindentől függetlenül, de jelenleg nem látom, mi lenne a megoldás)
lappy
őstag
Cella formátum? Nézd meg hogy ne szöveg legyen
Bámulatos hol tart már a tudomány!
Pakliman
tag
Szia!
Public Function xDB(r As Range) As Long
Dim c As Range
Dim s As String
For Each c In r.Cells
s = s & IIf(s = "", "", ";") & IIf(IsEmpty(c), Chr(1), c.Value)
Next c
s = Replace(s, "1;1", "")
xDB = Len(s) - Len(Replace(s, "1", ""))
End Function
Csak azokat az 1-eseket számolja, amelyik mellett nincs 1-es
(hiba: 3 egymás mellettit viszont már 1-nek számol!!).
Ha jól értelmeztem a feladatot...
lappy
őstag
Darabhatöbb függvény talán jó lehet vizsgálni kell hogy a cellák ne legyenek azonosak
Bámulatos hol tart már a tudomány!
BEndre34
tag
Nem értem, de működik (holnap utánanézek, mert így tanul az ember)
Annyi, hogy ahol közvetlenül egymás után(mellett) szerepel 1, azokat is csak simán 1-nek vegye, ahogy nálad a 3 egymás melletti 1-es esetében, ami az én szempontomból nem hiba, hanem a cél.
Tehát ahol önmagában 1-van azt is, és ahol közvetlenül egymás mellett bármennyi 1-es szerepel, azt is csak 1-nek vegye. Azaz a Te példádban nem 2 kell, hogy megjelenjen, hanem 5 (van 2 különálló 1-es és 3 közvetlen egymás melletti 1-es).
Mindenesetre ez számomra fény az alagút végén.
BEndre34
tag
Szia! Ahol az 1-esek vannak, azok szám formátumok. Illetve próbáltam már általánossal is, de sehogy nem akar jó lenni.
BEndre34
tag
Szia! Próbáltam (az elsők között), de sajnos van ahol 2, van ahol már 5 "1"-es szerepel egymás mellett és nem tudom megadni neki, hogy "n" darabig (az első egyezés utáni első üres celláig) ellenőrizze. Illetve azt se, hogy hol kezdje újra az ellenőrzést az első találat után. Ez szerintem egy összetett Excel képletnek is túl sok.
Fferi50
őstag
Szia!
Próbáld meg a következő tömbképletet az A2 cellába:=SZUM(($B2:$R2=1)*($C2:$S2=""))
A képlet záró oszlopát módosítsd a számodra megfelelő módon (pl. $BH2 és $BI2), fontos, hogy a második rész egy oszloppal legyen eltolva az elsőhöz képest.
A tömbképletet Shift + Ctrl + Enter kombóval kell lezárni, az Excel kapcsos zárójelbe teszi.
Ez a képlet húzható lefelé.
Üdv.
Pakliman
tag
BEndre34
tag
Tökéletes, nagyon köszönöm a segítséget! Bevallom, tömb képlettel nem számoltam, így azt hittem, csak vba lehet majd a megoldás. De az tényleg jó! Rövid és elegáns.
BEndre34
tag
Köszönöm Neked is!! Tökéletesen működik és félig a működését is értem. Ami még nem világos, annak is utánaolvasok. Köszönöm!!
Pakliman
tag
Szívesen
A tömbképletek már a felfogóképességem legvégsőbb határán vannak
Ki tudom elemezni (némelyiket), de hogy én összerakjam...
Fferi50: