Hirdetés

2024. március 28., csütörtök

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

(#48151) andreas49


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

(#48152) KaliJoe válasza Fferi50 (#48150) üzenetére


KaliJoe
csendes tag

Sziasztok,

Köszönet mindenkinek, :C :C :C 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! :DD :) :R

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... :-) ;)

(#48153) Pakliman válasza andreas49 (#48151) üzenetére


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 ]

(#48154) andreas49 válasza Pakliman (#48153) üzenetére


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

(#48155) Delila_1 válasza KaliJoe (#48152) üzenetére


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.

(#48156) tgumis


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:

ide töltöm be

é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 ]

(#48157) Delila_1 válasza tgumis (#48156) üzenetére


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. A
Bsor = 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.

(#48158) tgumis válasza Delila_1 (#48157) üzenetére


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.

(#48159) Delila_1 válasza tgumis (#48158) üzenetére


Delila_1
Topikgazda

Nézd meg, hogy "üresen" melyik sor végén van a táblázatot jelölő kis kék derékszög. A címsor alatti sorban kell lennie.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#48160) lumpy92


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....:U:DD

"never send to know for whom the bells tolls; it tolls for thee"

(#48161) sztanozs


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

(#48162) lappy válasza sztanozs (#48161) üzenetére


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!

(#48163) sztanozs válasza lappy (#48162) üzenetére


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

(#48164) spe88


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!

(#48165) sztanozs válasza spe88 (#48164) üzenetére


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

(#48166) tgumis válasza Delila_1 (#48159) üzenetére


tgumis
tag

A 4. sorban van a vége

(#48167) kipser


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

(#48168) lappy válasza kipser (#48167) üzenetére


lappy
őstag

Kimutatás készítés

Bámulatos hol tart már a tudomány!

(#48169) Fferi50 válasza spe88 (#48164) üzenetére


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.

(#48170) Fferi50 válasza kipser (#48167) üzenetére


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.

(#48171) tgumis válasza Delila_1 (#48157) üzenetére


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öszi
If Cells(Bsor + 1, 1) = "" Then Bsor = Bsor - 1

(#48172) kipser válasza Fferi50 (#48170) üzenetére


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

(#48173) lappy válasza kipser (#48172) üzenetére


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!

(#48174) kipser válasza lappy (#48173) üzenetére


kipser
junior tag

Mi ennek a módja? Lépései?

köszönöm :)

(#48175) lappy válasza kipser (#48174) üzenetére


lappy
őstag

itt van rengeteg segítség

Bámulatos hol tart már a tudomány!

(#48176) zsoci0914


zsoci0914
csendes tag

Először is boldog új évet mindenkinek! :C

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

(#48177) Delila_1 válasza zsoci0914 (#48176) üzenetére


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.

(#48178) spe88 válasza sztanozs (#48165) üzenetére


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!

(#48179) zsoci0914 válasza Delila_1 (#48177) üzenetére


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 ]

(#48180) Dilikutya


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

(#48181) lappy válasza Dilikutya (#48180) üzenetére


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!

(#48182) Delila_1 válasza zsoci0914 (#48179) üzenetére


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.

(#48183) Pakliman válasza Dilikutya (#48180) üzenetére


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" :K ).

(#48184) Delila_1 válasza Dilikutya (#48180) üzenetére


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.

(#48185) Dilikutya válasza Delila_1 (#48184) üzenetére


Dilikutya
félisten

Köszi, ez lesz az! :R

Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)

(#48186) Delila_1 válasza Dilikutya (#48185) üzenetére


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.

(#48187) moma


moma
őstag

Ez valami nagyon basic lehet, de nem értem :DDD
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? :B

we all deserve a bit of luck.

(#48188) BEndre34


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). :O

Ha tudtok segíteni, előre is köszönöm!! :R
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)

(#48189) lappy válasza moma (#48187) üzenetére


lappy
őstag

Cella formátum? Nézd meg hogy ne szöveg legyen

Bámulatos hol tart már a tudomány!

(#48190) Pakliman válasza BEndre34 (#48188) üzenetére


Pakliman
tag

Szia!

Egy lehetőség:

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

(#48191) lappy válasza BEndre34 (#48188) üzenetére


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!

(#48192) BEndre34 válasza Pakliman (#48190) üzenetére


BEndre34
tag

:Y 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). :R

Mindenesetre ez számomra fény az alagút végén. :C

(#48193) BEndre34 válasza lappy (#48189) üzenetére


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

(#48194) BEndre34 válasza lappy (#48191) üzenetére


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

(#48195) Fferi50 válasza BEndre34 (#48194) üzenetére


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.

(#48196) Pakliman válasza BEndre34 (#48192) üzenetére


Pakliman
tag

Szia!

Módosítás:

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(IsEmpty(c), Chr(1), c.Value)
Next c

Do While InStr(1, s, "11") > 0
s = Replace(s, "11", "1")
Loop

xDB = Len(s) - Len(Replace(s, "1", ""))
End Function

(#48197) BEndre34 válasza Fferi50 (#48195) üzenetére


BEndre34
tag

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

(#48198) BEndre34 válasza Pakliman (#48196) üzenetére


BEndre34
tag

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

(#48199) Pakliman válasza BEndre34 (#48198) üzenetére


Pakliman
tag

Szívesen :DD

A tömbképletek már a felfogóképességem legvégsőbb határán vannak :F
Ki tudom elemezni (némelyiket), de hogy én összerakjam... :(

Fferi50: :C

(#48200) Fferi50 válasza BEndre34 (#48197) üzenetére


Fferi50
őstag

Szívesen.

Útvonal

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