Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Amazfit Bip 6 - jót olcsón
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Xiaomi 15 - kicsi telefon nagy energiával
- Műholdas AI chippel fedné le a bolygót a Samsung
- Apple iPhone 15 - a bevált módszer
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- One mobilszolgáltatások
- Huawei Watch GT 6 és GT 6 Pro duplateszt
-
Mobilarena
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
-
jjohn
aktív tag
-
Mutt
senior tag
Szia,
Az egyezési mód (match mode) az egyik legnagyobb eltérés az FKERES és XKERES között. Az FKERES-ben alapból közelítő találatot ad vissza, míg az XKERES pontos egyezést. (A másik, hogy XKERES tud balról találatot visszadni.)
Az hogy 3-as opcióval (ami reguláris kifejezés használatát jelenti) megy csak az XKERES azt sugallja nekem, hogy a keresési érték nem pontosan úgyanúgy van a keresési tartományban (pl. lehet szóköz előtte vagy utána).
A mintában az OTJV25 lapon a számok szövegként voltak a cellákban, ezt csak cella formázással nem lehet elérnni, hanem bevitelkor apsztróf + szám kell, pl. '476
vagy ha már vannak számok akkor mellette oszlopban a képlet =A1&"" . Ezt az eredményt visszamásolva az A-oszlopba szövegmarad a szám.Próbáld ki, hogy 3-as helyett 1-et adsz meg. Ekkor is hiba lesz vagy műkődik rendben?
Reguláris kifejezések hasznosak tudnak lenni, de külön "szakma" jól használni őket.
pl. Ha megakarjuk találni a különböző Attilákat a szövegben akkor lehet próbálkozni vele. Itt pl. Attila, Atilla, Atila, Atika változatokat keresünk.

üdv
-
jjohn
aktív tag
Szia!
Mindig vevő vagyok az új dolgokra, xkeres-t még nem használtam.
Pl. nálam ez a képlet csak akkor működik, ha az egyeztetési módot beállítom. Nem értem az okát MS365-öm van.
=XKERES(A2&"";OTJV25!A:A;OTJV25!B:B;"";3)
Állíthatok szöveg formátumot, szám formátumot nem akarja az igazat.Az fkeressel minden hiba nélkül megy.
-
Mutt
senior tag
válasz
PeLa87
#54704
üzenetére
Szia,
EV lapon ez a képlet:
=XKERES(A2&"";OTVJ25!A:A;OTVJ25!B:B;"")
Feri csak arra figyelmeztet, hogy a kereső függvények csak azonos típusok (szöveget szövegekben és számokat számok) között tud keresni. Excelben a számokat szövegként is lehet tárolni (ilyenkor a számok balra vannak a cellában automatikusan igazítva, míg a számok jobbra igazodnak).Az OTVJ25 lapon a számok szövegként vannak, ezért ha az EV lapra számként írod be őket akkor nem lenne találat, de a képletben a &"" résszel mindent szöveggé alakítunk, így műkődni fog a képlet.
üdv
-
Fferi50
Topikgazda
válasz
PeLa87
#54702
üzenetére
Szia!
Az Fkeres, Xkeres esetében a keresendő értéknek olyan formátumban kell lenni, mint ami a keresési oszlopban van.
A kép alapján az OVTJ2025 kód oszlopban szövegként tárolt szám van. Így a Keresőfüggvényben a keresendő paraméterként szövegként kell beírnod az értéket. Másik megoldás, hogy a kód oszlopban levő értékeket átalakítod számmá - erre több módszer is van, a hibaüzenetre kattintva is megteheted, kiválasztva ezt az opciót - és akkor számként írhatod be az EV fülre a keresett értéket.
Üdv. -
PeLa87
aktív tag
Sziasztok!

Hogy tudom az OVTJ25 lapról képlet segítségével kiíratni, hogy az EV lapon, ha mondjuk beírom a kódot pl.: 476101 akkor a EV fülön kiírja ugyan ezt nekem a hozzátartozó szöveggel...? Póbáltam fkeres-sel, xkeres-sel, de úgy látszik béna vagyok... :/
-
mindanee
tag
Szia,
nagyon köszi.
Nem értetted félre a problémát

A "c" pontot nem értettem elsőre, kipróbálás után persze rögtön le is esett.
Kicsit azért sajnálom, hogy nem lehet ilyen formátumot összehozni, nem gondoltam volna, hogy pont ezzel érem el az Excel határait.
Köszi még egyszer!
-
Mutt
senior tag
válasz
mindanee
#54699
üzenetére
Szia,
Ilyen számformátumot nem lehet létrehozni. Egy közeli eredményt ezzel a kóddal lehet elérni:
# "nap" ? "óra" /24
Az órát ilyenkor kerekíteni fogja a rendszer.
A képletedben a KEREK.LE(G18;0) helyett használhatod az INT(G18)-at is.
A G-oszlopban megvan az eredeti értéked, azt nem tudod kitörölni különben nem lenne meg a szöveges változatod másik cellában. A számolást végezd az eredeti oszlopon/értéken. Ha azt akarod hogy ne látszódjon az eredeti, akkor el lehet "tünteni":
a) oszlop elrejtéssel
b) betűszínt a háttérszínnel megegyzőre állítod
c) egyedi számformátummal; pl:";;;"ilyenkor ha zárolod a cellát és még az elrejtést is beállítod, akkor teljesen láthatalan lesz a cella tartalma.
d) rejtett munkalapra teszedRemélem nem értettem félre a problémát.
üdv -
mindanee
tag
Sziasztok,
cellaérték formázásában szeretnék segítséget kérni.
Van egy decimális értékem, pl: 2631,55
Ezt szeretném az alábbi formátumban megjeleníteni: 2631 nap 13:12:00
Jelenleg ezt csak úgy tudom megcsinálni, hogy külön cellában egy fügvénnyel konvertálgatok. Ez a konkrét függvény: =ÖSSZEFŰZ(KEREK.LE(G18;0);" nap ";SZÖVEG(MARADÉK(G18;1);"óó:pp:mm"))
Viszont ezt nem tudom aggregálni, hiszen így már nem szám érték van a cellában.
Van valakinek erre megoldása?
Köszi előre is! -
Mutt
senior tag
válasz
Geryson
#54694
üzenetére
Szia,
Kaptál már helyes válaszokat, de MS365-ben van még más lehetőség is.
A legegyszerűbb a SZÖVEGELŐTTE és SZÖVEGUTÁNA függvények használata, de egy kis AI segítséggel a leghatékonyabb egy reguláris kifejezés használata.
A többi pedig csak poén.=SZÖVEGELŐTTE(SZÖVEGUTÁNA(A1;"(");")")=REGEXKIVONÁS(A1;"(?<=\()\w+(?=\)$)")=INDEX(SZÖVEGFELOSZTÁS(A1;{"(";")"});;2)=PY("text = xl(""A1"")text.split(""("")[1].split("")"")[0]",0)
üdv -
Geryson
addikt
Jó reggelt! Szeretnék még egy olyat kérni, hogy ha a cella így néz ki:
42CRMO4-020(QT)
Mi lenne a függvény, ami eredményképpen a QT feliratot hozza ki? Csak ennyit "QT". A forrásnál mindig a végén van és mindig zárójelben. Nagyon köszönöm!
-
Fferi50
Topikgazda
Szia!
Szerintem szöveges cellára sajnos nem lehet ilyen formátumot. Makróval megoldható:Sub idezojelo()Dim cl As RangeFor Each cl In SelectionIf TypeName(cl.Value) = "String" ThenIf Left(cl.Value, 1) <> Chr(34) Thencl.Value = Chr(34) & cl.Value & Chr(34)End IfEnd IfNextEnd Sub
Kijelölöd a cellákat és elindítod a makrót. A szöveg tartalmú cellákba elhelyezi az idézőjeleket, ha már van benne, akkor nem változtatja.
A makrót elhelyezheted egyéni makró füzetben (Personal.xlsb), így minden munkafüzetben használható. Rendelhetsz hozzá gyorsbillentyű kombinációt is.
Ha csak ebben a munkafüzetben használod, a munkafüzetet makróbarátként kell elmentened.
Üdv. -
3DFan
aktív tag
Sziasztok!
Szövegtartalmú cellát szeretnék úgy formázni, hogy a tartalma idézőjelek között jelenjen meg. Milyen formátumkódot használjak hozzá? Köszönettel. -
Fferi50
Topikgazda
válasz
szricsi_0917
#54685
üzenetére
Szia!
Más, Mutt hozzászólása alapján jutott eszembe a következő:
Mi lenne, ha használnád a BackgroundQuery tulajdonságot False -ra állítva. Ekkor minden lekérdezésnél megvárja a VBA a teljes lefutást, ezután megy tovább a következő műveletekre.
Üdv. -
Mutt
senior tag
válasz
szricsi_0917
#54685
üzenetére
Szia,
A Connections object-nek nincs Refreshing tulajdonsága.

A Power Query egy OLE DB lekérdezés, aminek viszont már van ilyenje.

Ha nem munkalapra írja ki az eredményt a lekérdezés, akkor minding False -t ad vissza.
Szóval
If conn.Refreshing Then
helyettIf conn.OLEDBConnection.Refreshing Then
kell.Mivel a lekérdezések alapból a háttérben futnak, ezért a számolás kikapcsolása amíg a lekérdezések futnak nem fog segíteni. A munkafüzet abban a pillanatban hogy a lekérdezések a munkalapra kirakják az eredményt be fog lassulni (látom hogy hagysz 3x 2 másodpercet még, de mivel lassú a füzeted ezért valószínű ez nem elég).
Igazán jó megoldást nem tudok így látatlanban, de ha több infót adsz talán tudunk mondani vmit.
üdv
-
Fferi50
Topikgazda
válasz
szricsi_0917
#54685
üzenetére
Szia!
Én kiíratnám debugba az időpontot, a lekérdezés nevét, állapotát és a stableCount változó értékét minden ciklusban.
Talán kevés neki a 2 mp késleltetés?
Üdv. -
szricsi_0917
tag
Sziasztok
Egy kis segítséget szeretnék kérni vba kódhoz.
A feladat az lenne, hogy 1 vagy több lekérdezés frissítésekor kikapcsolja az automatikus számítást és ha végzett akkor kapcsolja vissza. Ez lehet a fájl megnyításakor vagy megnyított állapotban is.Option ExplicitPrivate Sub Workbook_Open()' Amikor a munkafüzet megnyílik, indítjuk a figyelőtApplication.OnTime Now + TimeSerial(0, 0, 5), "Intelligens_lekerdezes.StartQueryMonitor"End SubPrivate Sub Workbook_Activate()' Ha valamiért még nem futna, indítsuk el a monitortCall Intelligens_lekerdezes.StartQueryMonitorEnd SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean)' Bezáráskor leállítjuk a figyelőtCall Intelligens_lekerdezes.StopQueryMonitorEnd SubOption ExplicitPrivate nextCheckTime As DatePrivate wasRunning As BooleanPrivate stableCount As Integer' --- Fő figyelő ---Public Sub QueryMonitor()Dim conn As WorkbookConnectionDim isRunning As BooleanOn Error Resume Next' --- Ellenőrzés: van-e futó Power Query lekérdezés ---For Each conn In ThisWorkbook.ConnectionsIf InStr(1, conn.Name, "Query -", vbTextCompare) > 0 Or _InStr(1, conn.Name, "Lekérdezés -", vbTextCompare) > 0 ThenIf conn.Refreshing ThenisRunning = TrueExit ForEnd IfEnd IfNext conn' --- Ha bármelyik fut, állítsuk manuális számításra ---If isRunning ThenIf Application.Calculation <> xlCalculationManual ThenApplication.Calculation = xlCalculationManualApplication.StatusBar = "Power Query frissítés folyamatban… képletek leállítva."End IfwasRunning = TruestableCount = 0Else' --- Ha nincs futó lekérdezés ---If wasRunning ThenstableCount = stableCount + 1' Legalább 3 egymást követő ciklusig nem fut semmiIf stableCount >= 3 Then' --- Minden kész: üzenet és automatikus számítás visszaállítása ---Application.StatusBar = FalsewasRunning = FalsestableCount = 0MsgBox "Minden lekérdezés elkészült!", vbInformation, "Kész"Application.Calculation = xlCalculationAutomaticEnd IfEnd IfEnd If' --- Újraütemezés 2 mp múlva ---nextCheckTime = Now + TimeSerial(0, 0, 2)Application.OnTime nextCheckTime, "Intelligens_lekerdezes.QueryMonitor"End Sub' --- Indítás (pl. Workbook_Open) ---Public Sub StartQueryMonitor()On Error Resume NextStopQueryMonitor ' Biztonsági leállításwasRunning = FalsestableCount = 0' --- Excel megnyitáskor automatikus számítás kikapcsolása ---Application.Calculation = xlCalculationManualnextCheckTime = Now + TimeSerial(0, 0, 2)Application.OnTime nextCheckTime, "Intelligens_lekerdezes.QueryMonitor"End Sub' --- Leállítás ---Public Sub StopQueryMonitor()On Error Resume NextApplication.OnTime nextCheckTime, "Intelligens_lekerdezes.QueryMonitor", , FalseApplication.StatusBar = FalseEnd SubA probléma mintha nem érzékelné mikor fejeződik be a lekérdezés.
Mi lehet a probléma? -
föccer
nagyúr
Ki kellett próbálnom.

Egy SQL mondatot szoktam összefűzni. Az egyik célszoftverben van lehetőség direkt SQL mondattal való szűrésre. Kicsit szebb. Imádni fogom ezt az operátort, rengeteget fog segíteni.
="RECEPT_ID in ('"&SZÖVEGÖSSZEFŰZÉS("','";1;INDIREKT("B1:B"&DARAB2(B:B)-1))&"','"&INDIREKT("B"&DARAB2(B:B))&"')"="RECEPT_ID in ('"&SZÖVEGÖSSZEFŰZÉS("','";1;B.:.B)&"')" -
föccer
nagyúr
válasz
föccer
#54682
üzenetére
Microsoft® Excel® a Microsoft 365-höz MSO (2502 buildverzió16.0.18526.20546) 64 bites
Ahogy nézem augusztus 12. adták ki. Hoppá, akkor viszont benne kell, hogy legyen amit már jó régen várok, amit Delila írt.
Hehe, benne is van.
Ezt elkezdem beépíteni. Pénteken kaptam meg az új rendszert, eddig nem volt ilyen fícsör. 

-
föccer
nagyúr
PQ-t nem szeretnék behozni. Verziószámot holnap megnézem.
1: ez a koplet egy dinamikus, legördíthető menünek az adatfeltöltését csinálja. 4 különböző oszlopból kell összeszedni az adatokat, ezért van többször ugyan az. LET-et lehetett volna használni, szoktam is, bár most most valami gebasz volt vele (#54655) .
2: szűrő függvény utolsó paramétere jól dolgozik, ha a visszatérési tömb üres. Viszont ha a szűrő kiindulási tömbje üres, akkor hibát ad vissza, nem fut le és nem üres tömbként tér vissza. Ezért kell külön-külön minden oszlop kigyűjtését HAHIBA függvénnyel védenem. A 4 oszlopból 1-2 ami használva van, de előfordul a 3. oszlopban is adat, illetve lehet a 4.ben is. Elképzelhető, hogy a 4, oszlop üres, és akkor az egész képlet érték hibát dobna.
3: ez a csoportosításoso föggvényt nem ismerem, bár férfiasan bevallva O365-öt csak elvétve használom, csak ha itthonról be kell lépnem.
4: napi frissítés van az adatbázisban, ugyan nem sokban, de változnak az alapadatok. Illetve 35 különböző üzem adatai vannak bent és ezek az előszűrők üzem szintű paraméterezéssel vannak kigyűjtve, ergó a mindennapi használat során, üzemváltásoknál is változik a legördíthető lista elemei.
Egyébként csütörtökön van demo bemutatója a cuccnak, holnap rakok fel UI-ról screenshootot.
Köszi, hogy foglalkoztál vele.

föccer
-
Mutt
senior tag
válasz
föccer
#54672
üzenetére
Szia,
Milyen Excel verziód van? Van Python gombod képletek menüben?
Milyen gyakran frissülnek a verziószámok?
Jelenleg nagyon sok adatban keres a képlet, miközben lehet hogy alig volt változás.
Amin el lehetne gondolkodni, hogy mondjuk az Excel megnyitásakor egy Power Query/Pivot segítségével meghatároznánk a receptekhez tartozó legutolsó verziószámot (ez egy keresési tábla lenne) és az egy FKERES/XKERES-el raknánk be a táblába. Ha szükséges menetközben kézzel lehet frissíteni keresési táblát.Az 54653-asban mutatott képlethez pár ötlet:
1) Többször használod ugyanazt a feltételt az A és B oszlopokra. Beszíneztem párszor.
A LET-et erre vezették be, ha van akkor érdemes használni. Ha nincs akkor lehet hogy jobb lenne a munkalapon ennek a képletnek az eredményét tárolni.2) A HAHIBA elhagyható, ha a SZŰRŐ-nek használod a 3. opcióját, üres esetén mit adjon vissza.
3) A SORBA.RENDEZ és EGYEDI megoldható egy lépésben is MS365-ben, elméletben gyorsabb. CSOPORTOSÍTAS.ALAP.SZERINT függvényt lehetne kipróbálni.
=CSOPORTOSÍTÁS.ALAP.SZERINT(FÜGG.HALMOZÁS(<lista>);;;0;0)
Itt valójában csak az első paramétert adjuk meg, a többit üresen hagyjuk, illetve a 0-val nem kérünk plusz mezőket.
4) Mivel a szűrőkben ugyanazon feltételeket használod ezért kipróbálhatod, hogy csak 1 db szűrőd van: SZŰRŐ(OSZLOPVÁLASZTÁS(L2:AG100000;1;4;7;10;13;16;19;22);feltétel)
Ahol a feltétel az amit az 1-es pontban említettem. Ez esetben nem szűrűnk üres értékekre. A kapott oszlopokat ez esetben egymásra kell halmoznunk, ami bonyolítja a dolgot. Ha nem kell dinamikusan csinálni, akkor ennyi:
=LET(talalatok;SZŰRŐ(<ide jön amit fentebb írtunk>);eredmeny;FÜGG.HALMOZÁS(OSZLOPVÁLASZTÁS(talalatok;1);OSZLOPVÁLASZTÁS(talalatok;2);<további oszlopok);SORBA.RENDEZ(EGYEDI(eredmeny)))üdv
-
Mutt
senior tag
válasz
Geryson
#54675
üzenetére
Szia,
Klasszikus képlettel kaptál már választ, de Excel 2024-től már van SZÖVEGELŐTTE függvény is, amelyet egyszerű használni.
üdv
-
Fferi50
Topikgazda
válasz
makoss
#54678
üzenetére
Szia!
Az első sorba - ahova a napok kerülnek - dátumot írsz. A példádban C1-be 2025.10.01. Ezután cellaformázás, egyéni - magyarban nnn, angolban ddd - a napok egyértelmű kezdőbetűit látod a cellában. Ezután jobbra húzod és a húzással kitöltődik a növekvő dátumokkal.
A cellák értéke dátum marad, de látni a napokat fogod. Kitöltés után beállítod az automatikus oszlopszélességet.
Üdv. -
Geryson
addikt
Sziasztok! Mindig gondom van ezzel, így kérdeznem kell:
11SMN30-30 vagy S355J2-220
Ez, vagy hasonló van egy cellában. Hogyan tudom mindig a kötőjel előtti részt "kinyerni"?
-
föccer
nagyúr
válasz
föccer
#54672
üzenetére
No, amire leírtam végig is gondoltam.
SORBA.RENDEZ(EGYEDI())-vel készítettem egy gyűjtést a receptszámokról és mellé MAXHA-val kikerestem hogy melyik recepthez melyik a legnagyobb verziószám. A kérdéses tömbben soronként kerestem be fkeressel a leganagyobb verrziót, amit simán HA feltétellen ellenőríztem. Így nincs tömbkezelés, illetve csak minimális. Az fkeres azég gyors. A MAXHA pediglen védve van még egy HA(BQ="";"";MAXHA()) feltétellel, így az sem fog feleslegesen keresni ha az előszűrő miatt a 100.000 sor helyett csak néhány ezer sor van a tömbben.Köszönöm a figyelmet

föccer
-
föccer
nagyúr
Sziasztok!
Belefutottam egy kis erőforrás korlátba...
Van egy tömb, ami az üzem nevéből és egy receptszám összefűzéséből jön létre. Ez a BJ (ohhh....
). Az utolsó két karakter a verziószám. Egy receptből minden verzió csak 1x lehet elvileg. Meg kell határoznom, hogy melyik sorban van egy recepthez tartozó utolsó verzió. Természetesen a tömb teljesen dinamikus és össze-vissza vannak benne az adatok, ráadásul a verziók is megelőzhetik egymást, nincs bennük semmiféle sorrendiség.A jelenlegi megoldásom tökéletesen működik. Szétvágom a receptszámot és a verziót. A BM oszlopban egy, a verzió nélküli receptszámra beállított szűrővel és egy MAX-al megkapom, hogy az adott sorban szereplő recepthez mi a legnagyobb receptszám, és ezt hasonlítom a BN-ben össze a sorból kiolvasott verziószámmal.
Viszont a táblázatot 100.000 receptre kell felkészítenem, és hogy is mondjam... A 100.000 db szűrő kissé felzabál minden erőforrást és a 32 GB ram 12 mag mellett is órás időtartamot számol, ami hát nem túl szerencsés.

Van erre valami finomabb, makró nélküli megoldás?
Köszi,


-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Új ikont csak a menüszalag szerkesztővel tudsz felvenni... (pl Office RibbonX Editor).
A personal munkafüzetben levő makrót így tudod az egyéni menüszalagra tenni:
A VBA ablakban láthatóvá teszed a Personal.xlsb munkafüzetet: Immediate ablakban Workbooks("Personal.xlsb").Windows(1).Visible=True
Ezután átváltasz a Munkalap ablakra (maradsz a Personal munkafüzetben!) - majd Fájl - Beállítások - Menüszalag testreszabása - A választható parancsok helye lenyílóban kiválasztod a Makrók tételt. Itt megjelennek az egyéni makrók is. Kiválasztod a szükségese(ke)t és felveszed a saját menüszalagodra.
Ezután vissza a VBA ablakra és elrejted a Personal.xlsb-t.
Workbooks("Personal.xlsb").Windows(1).Visible=False
Mented az eredeti fájlodat.
Ezután eléred az így átvitt makrokat az egyéni menüszalagodról.
Megjegyzés: Az így átvitt makrok megjelennek az Excelben megnyitáskor a menüszalagon. Működésük pedig függ az adott fájl szerkezetétől.
Üdv. -
Delila_1
veterán
Sok leírni, kevés alkalmazni.
Kiválasztod a menüt (pl. Beszúrás). Jobb klikk az egyik menüponton, Menüszalag testreszabása.
Balra fent kiválasztod a makrókat, jobbra fent a Fő lapokat.
A jobb oldali menüben új lapot év/vagy csoportot kell bevinni (jobbra lent), az új helyre felveheted a makródat.Szerk.: míg leírtam, módosítottad a kérdésedet. A fenti válaszom arra vonatkozik, hogy a szalagmenüre hogy lehet kitenni egy saját makró ikonját.
-
lappy
őstag
Sziasztok
Egyéni menüszalagban hogyan tudok felvenni egy ikont és hozzá rendelni a personal makróban lévő makrót? -
Fferi50
Topikgazda
válasz
makoss
#54659
üzenetére
Szia!
Szerintem ezt egy A4 oldalra tisztességes láthatósággal nagyon nehezen lehet - ha egyáltalán - kinyomtatni.
Az oldalbeállítás paraméterezésben kísérletezhetsz részben a legyen 1 oldal széles 1 oldal magas beállítással, illetve a legyen az eredeti méret x %-a. A nyomtatási képen láthatod az eredményt kinyomtatás nélkül.
Üdv. -
makoss
veterán
Üdv!
Van egy eléggé széthúzott táblázat, amit szeretnék úgy egy A4-es lapra fektetve nyomtatni, hogy az azon lévő írás, ne legyen nagyon apró.
Van a beállításban ilyen rész valahol?
Ha normális, látható a szöveg, ebből leszed, kb a háromnegyedét. Ha teljes a kép, akkor nagyon apró a szöveg: [kép] -
Mutt
senior tag
válasz
föccer
#54655
üzenetére
Szia,
A név hibát azért adja, mert a képlet végefelé a MARADÉK függvény helyett az angol MOD maradt a képletben. Azonban ezek után sem lesz jó, mert van hiba a képletben:
1) A változók (t1, t2, n1, n2, col1, col2) cellahivatkozások lesznek. Tegyél bele pl. aláhúzást (t_1, t_2 stb).
2) A# és B# csak akkor helyes, ha névkezelőben létrehoztad az A és B neveket.
3) A végén inkább VÍZSZ.HALMOZÁS kellene.Alternatív megoldások:
1) Power Pivottal egy sima pivot, mivel a két adatsor között nincs kapcsolat, ezért az összes kombinációt (Descart-szorzat) vissza fogja adni.

2) Power Query-vel is hasonló a módszer.
3) Egy másik változat LET-re.=LET(lista1;A1:A3;lista2;C1:C3;a;OSZLOPHOZ(lista1&"|"&TRANSZPONÁLÁS(lista2));hely;BYROW(a;LAMBDA(r;SZÖVEG.KERES("|";r)));VÍZSZ.HALMOZÁS(BAL(a;hely-1);KÖZÉP(a;hely+1;100)))
üdv -
föccer
nagyúr
Sziasztok!
Most valami értelmessel jövök.
LET függvényt használom. Látszólag ismeri is a függvénytár (egyébként sokszor használtam már, szóval biztos működik). Viszont #NÉV? hibát dob. Ez miért lehet? Ugyan ezen munkapon (egy egyszerűbb) LET gond nélkül megy. Látszólag minden beépített függvény helyes.
LET( t1;A#;t2;B#;n1;SOROK(t1);n2;SOROK(t2);k;SORSZÁMLISTA(n1*n2);col1;INDEX(t1;KEREK.LE((k-1)/n2;0)+1);col2;INDEX(t2;MOD(k-1;n2)+1);FÜGG.HALMOZÁS(col1;col2))
Egyébként egy permutálást szeretnék megoldani. Nincs erre valami egyszerűbb megoldás? Tehát az A és B oszlop elemeiből, minden A&B elemet egy tömbben. Segéd táblával megvan a megoldás, ahol megcsinálom a kereszttáblát, de szeretém "szebben" megoldani.
Köszi,
FG -
föccer
nagyúr
Az új kedvencem.

Ez 8 oszlopból gyűjti össze az adatokat, a két előfeltételnek megfelelően.
A szűrők előtti hahibát nem kellene használnom, csak a szűrőt helyesen paraméterezni, de elég szemzsibbasztó a befoglalást helyesen beállítani. Így a HAHIBA elég jól mutatja a különböző kód részletek határát


-
marec1122
senior tag
bocsi mégsem
-
föccer
nagyúr
Állatkodtam egy kicsit

Működik.

=EGYEDI(FÜGG.HALMOZÁS(HAHIBA(EGYEDI(SZŰRŐ(Receptek_egy_sorban!AL2:AL100000;((Receptek_egy_sorban!AL2:AL100000<>"")*(Receptek_egy_sorban!A2:A100000<>HAELSŐIGAZ(Kereso!C4="I";"N";Kereso!C4="N";"I";Kereso!C4="Mind";""))*(Receptek_egy_sorban!B2:B100000=Kereso!$C$3))));"");HAHIBA(EGYEDI(SZŰRŐ(Receptek_egy_sorban!AO2:AO100000;((Receptek_egy_sorban!AO2:AO100000<>"")*(Receptek_egy_sorban!A2:A100000<>HAELSŐIGAZ(Kereso!C4="I";"N";Kereso!C4="N";"I";Kereso!C4="Mind";""))*(Receptek_egy_sorban!B2:B100000=Kereso!$C$3))));"");HAHIBA(EGYEDI(SZŰRŐ(Receptek_egy_sorban!AR2:AR100000;((Receptek_egy_sorban!AR2:AR100000<>"")*(Receptek_egy_sorban!A2:A100000<>HAELSŐIGAZ(Kereso!C4="I";"N";Kereso!C4="N";"I";Kereso!C4="Mind";""))*(Receptek_egy_sorban!B2:B100000=Kereso!$C$3))));""))) -
lappy
őstag
-
SzT.Luca
friss újonc
Sziasztok! Azt szeretném elérni, hogy egy több tagú szöveget egy cellából szét tudjak úgy osztani 2 cellába, hogy az 1. cellában csak az első tag van és a másodikban pedig a az összes többi tag. 2016-os Excelben próbálkozom. Köszönöm a tippeket! -
VGYke
addikt
válasz
Fferi50
#54643
üzenetére
Nagyon szépen köszönöm!
Kipróbálom amit írtál, csak most nem vagyok excel közelben.
Igen tudom, egy "segéd oszlop" értékszűréssel egyszerű lenne, de adatlekérdezést tartalmazó táblát használok fel, így nem akartam összedisznólkodni egy plusz oszloppal. Köszönöm szépen,megnézem amit javasoltál! -
Fferi50
Topikgazda
Szia!
Próbáld ki ezt a képletet:=SZUMHATÖBB($B$2:$B$16;$A$2:$A$16;">="& A6;$A$2:$A$16;"<=" & A10)
De az A6 és A10 cellák helyett másik cellákba is írhatod a határokat, akkor azt kell megadnod helyettük.
Üdv.
PS. Ha konkrét célösszeget szeretnél megkapni adott dátumok között, akkor viszont az Excel Solver bővítményét kell használnod a kalkulációhoz. A SZUMHATÖBB függvény kalkulációra nem alkalmas, nem tudsz vele "válogatni" a számok között, hogy egy megadott érték legyen az eredmény, csak az összes feltételnek megfelelő értékeket adja össze.
(Ezt a megjegyzést a pl. 20 legyen kitétel miatt fűztem hozzá.) -
underdark
aktív tag
Üdv
Egyszer sikerült megcsinálnom ezt a formátumot és most nem sikerül
Elvileg ezzel [>=1000000]£#.##0.." M";[>=1000]£#.##0." K";£#.##0
És most bármit csinálok, nem £27 K lesz amit látni akarok, hanem £26803.0. K
Fogalmam nincs, hogy sikerült, de azt tudom h szoptam vele akkor is
Office 2021
Köszi!
-
föccer
nagyúr
válasz
Fferi50
#54638
üzenetére
Ehh, a hiba nem ebben a makróban volt, hanem egy korábbiban.

Application.EnableEvents = True sort sikerült egy if blokkba belülre tennem. Nyilván megesett, hogy nem azon az ágon futott végig a makró, de annyira nem kötöttem össze egy másik funkció futásával ennek a hibának a felbukkanását, hogy nem tűnt fel...

-
Fferi50
Topikgazda
válasz
föccer
#54633
üzenetére
Szia!
" a laphoz rendelve Sub Worksheet_SelectionChange(ByVal Target As Range) eljárást használom, ellenben nem indul el a makró "
Szerintem Selection_Change eseménynek el kell indulnia. Kivéve, ha az eseménykezelés le van tiltva.
Megjegyzés (bár gondolom tudod): Az eseménykezelő eljárás elején le kell tiltani az eseménykezelést, a végén pedig vissza kell kapcsolni, különben akár végtelen ciklusba is eshet a folyamat.
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54633
üzenetére
Szia!
"ez utóbbit kipróbáltam csak akkor fog tovább menni a makró, ha eltüntetem az userformot"
A userform megjelenítését megoldhatod úgy is, hogy a makró továbbfut a láthatóság alatt, majd a folyamat végén eltünteted.
A Show metodnak van egy paramétere - modal - ami alapértelmezésben (vagyis amikor paraméter nélkül jelenítjük meg a formot) érvényes, addig "nem tűnik el" a form, amíg a user nem kattint rá.
Ha tovább szeretnénk futtatni a form láthatósága idején a makrót, akkor meg kell adni a modal paraméternek a vbModeless (0) értéket, vagyis userform.show vbModeless formában kell láthatóvá tenni a formot.
[link] itt a help hozzá.
Üdv. -
lappy
őstag
válasz
föccer
#54633
üzenetére
2. kérdésre talán ezek
- Progress Bar in Excel VBA using For Loop
- Progress Bar for all your excel Applications
ha ilyenre gondoltál -
föccer
nagyúr
Sziasztok!
Csinálom a következő fejlesztésemet, már a vége felé járok.
A rendszer egy tisztességes kupac adatot megcsócsál és rendszerez. Ezt a rendszerezett adathalmazt mutatja be a felhasználónak, minden féle segédszámítással egyetemben. A rendszerezés egyik alapja a receptszám, alapesetben 6+2 karakter. Előbbi 6 maga a recept szám, utóbbi kettő pedig a verzió.
A felhasználó most a felrakott nyilacskákkal tud lépkedni a receptek között, de szeretném a cellákat "kattinthatóvá" tenni.
Ehhez a laphoz rendelve Sub Worksheet_SelectionChange(ByVal Target As Range) eljárást használom, ellenben nem indul el a makró .. :-/ Nem ezt kellene használnom?
Illetve szeretnék még egy olyat megoldani, hogy a makró futásának legelején szeretnék megjeleníteni egy felugró üzenetet, hogy dolgozom, várj. Ha lefutott a makró, akkor ezt eltüntetem. Ha addig elveszem a lehetőséget, hogy az UI-n kattintsanak az még jobb. Ezt egy userform-al tervezem megoldani. A kérdés az, hogy ha megjelenítem az userform-ot, akkor még végig fog futni a makró, vagy csak akkor ha zárom az userformot?
Köszi

ps: ez utóbbit kipróbáltam csak akkor fog tovább menni a makró, ha eltüntetem az userformot.

-
VGYke
addikt
Sziasztok! SZUMHA(A4:A10;"kritérium";B4:B10) függvényben,hogyan lehet megadni "kritériumként", hogy "A" szerint csak X1-nél nagyobb, de X2-nél kisebb értékeket adjon össze?
Azt tudom, hogy ha X1-nél nagyobb, akkor "kritérium": ">"&X1, de hogy 2 érték között legyen, nem sikerül megoldanom. -
Mutt
senior tag
válasz
lenkei83
#54628
üzenetére
Szia,
Nem fog menni segédoszlop nélkül. Az érvényesítés szöveges listát vagy cella tartományt vár és az újabb függvények tömböt adnak vissza, s ezt nem fogadja el (még?, már 4 éve fenn áll ez a hiba) a rendszer.
A megoldás, hogy a sorbarendezett adatot vhova (akár rejtett oszlop/munkalap) kiíratod és használod fel érvényesítésben. Ekkor használd a # jelet, ami mindig az összes elemére a tartománynak hivatkozik.
A példában E2-ben van a sorbarendezés. Az F2-ben az érvényesítésnél pedig a képlet
=E2#Más.
Az ELTOLÁS helyett használhatsz mást dinamikus tartomány létrehozására.
1) Ha van KIMETSZÉSITARTOMÁNY függvényed, akkor=SORBA.RENDEZ(KIMETSZÉSITARTOMÁNY($D$2:$D$60))vagy rövidebben=SORBA.RENDEZ($D$2:.$D$60)
2) SZŰRŐ is remek megoldás.=SORBA.RENDEZ(SZŰRŐ($D$2:$D$60;$D$2:$D$60<>""))
3) Akár pedig ez is:=CSOPORTOSÍTÁS.ALAP.SZERINT($D$2:.$D$60;;DARAB2;0;0)üdv
-
lenkei83
tag
Sziasztok!
O365, névkezelő, van egy ilyenem amit ezután érvényesítésben használok.
=ELTOLÁS(Törzsadatok!$D$2;0;0;DARAB2(Törzsadatok!$D$2:$D$60);1)
Ha a kombinálom a képletet a sorba.rendez függvénnyel, akkor az érvényesítés nem működik.
Lehet erre valami megoldás?Köszi & üdv.:
P. -
Mutt
senior tag
Szia,
Ikonkészletek esetén nem tudsz saját képletet használni (ami most kell).
A megoldás, hogy az adatsor melletti cellába állítod elő a képletet.
B4-ben a képlet:=HA(ÉS(A5="";A3<>"";A4<>"");VÁLASZT(ELŐJEL(A4-A3)+2;"ê";"ó";"é");"")Megnézzük hogy felette és alatta van-e érték, illetve hogy az aktuális sorban is van-e érték, ha nincs alatta, de felette és mellette van érték akkor az utolsó sorban vagyunk vagyis lehet összehasonlítani az előtte lévő értékkel. Az összehasonlítás eredményeként "furcsa" karakterket írunk a cellába, amelyek nyilakká változnak ha annak az oszlopnak a betűtípusa Windings lesz.
üdv
-
Mutt
senior tag
válasz
tylerddd
#54621
üzenetére
Szia,
...csv fájl adatok menüből való megnyitásakor miért kap formázást a táblázat...
Ilyenkor az Excel Power Query funkcióját használod, ami munkalapra az adatokat csak táblázat formájában tudja betölteni.A jobb alsó sarokban az átméretezés ikont látod, amivel a táblázat tartományát lehet állítani. Ha egyáltalán nincs szükséged a táblázatra, akkor a táblázatban állva válaszd ki a Táblázattervezés menüt és ott az átalakítás tartománnyá opciót, OK-zd le a kérdést.
Amikor az Adatok menüt használod, akkor egy kapcsolatot hozol létre (amiben átalakítási lépéseket lehet meghatározni) az adatforrás és az aktuális munkafüzet között. Ha tőrlöd a munkalapot/táblázatot ahova a kapcsolat az eredményt írja (a fenti tartománnyá alakítás is tőrlés), attól még a kapcsolat megmarad az forrás és a füzet között. Egy másik gépre/mappába másolva emiatt kaphatsz figyelmeztetést, ezért ha a kapcsolatra sincs szükséged, akkor az Adatok fülön a "Lekérdezés és kapcsolatok" opció alatt töröld a felesleges kapcsolatot.
Ps.
A Power Query hasznos dolog, ha ismétlődő feladatot kell adatokon végrehajtani, kvázi makrókat lehet vele helyettesíteni. Érdemes megismerkedni vele, ha gyakran használod az Excel-t.üdv
-
Rhair
csendes tag
Sziasztok
Van arra lehetőség, hogy feltételes formázásban ha beírok egy új értéket, akkor az utolsó sort vegye alapul?
Ikonokat szeretnek haszni, hogy nagyobb vagy kisebb lett a szám, mint az előtte lévő
A1 8
A2 7
A3 9
Köszi -
Mutt
senior tag
válasz
underdark
#54617
üzenetére
Szia,
Kimutatást javasoljuk erre.
Az újabb Excel-ekben képlettel is lehetséges már.
E2-ben a képlet: =KIMUTATÁS.ALAP.SZERINT(Table1[Name];Table1[Year];Table1[ASC];SZUM;0;0;;0)Van egy másik képletem is de sokkal hosszabb.

=LET(nevek;SORBA.RENDEZ(EGYEDI(Table1[Name]));
evek;SORBA.RENDEZ(EGYEDI(Table1[Year]));
sorszam;SORSZÁMLISTA(DARAB2(nevek));
ertekek;REDUCE(TRANSZPONÁLÁS(evek);sorszam;LAMBDA(s;c;FÜGG.HALMOZÁS(s;TRANSZPONÁLÁS(SZUMHATÖBB(Table1[ASC];Table1[Name];INDEX(nevek;c);Table1[Year];evek)))));
VÍZSZ.HALMOZÁS(FÜGG.HALMOZÁS("";nevek);ertekek))A képletben az "ertekek" sorban van a lényeg, ami a SZUMHATÖBB segítségével kiszámolja mindegyik névhez és évhez az értéket. A REDUCE-t arra használom, hogy a kapott értékeket "egymásra tegyem" (függőleges halmozás), mert ezt tudom majd a munkalapra kiírni. A végén még az elejére teszem a neveket.
üdv
-
Fferi50
Topikgazda
válasz
underdark
#54617
üzenetére
Szia!
Még egy lehetőség: Kimutatást készítesz, ahol a name lesz a sorcimke, a year az oszlopcimke és az asc oszlop összege lesz az értékek mezőben. Mivel minden név és év egy számot tartalmaz, így a kimutatás névsorosan fogja az éves értékeket mutatni.
Az összegző sorokat megjelenítését ki kell venned a kimutatásból (kimutatáson állva - Tervezés - Végösszegek - kikapcsolva sorokban és oszlopokban).
Ha új sort vittél be a táblázatba, akkor a kimutatást is frissítened kell, ennyi a hátránya.
Üdv. -
Fferi50
Topikgazda
válasz
underdark
#54617
üzenetére
Szia!
Ettől tartottam... (nem a kuszábbá válástól, hanem az adatok ilyen struktúrájától).
Ebben az esetben nem használható gazdaságosan az XKERES függvény, mivel mindig csak egy találatot ad vissza.
Mivel legalább 2021-es Exceled van, ezért használni tudod az EGYEDI és a SZŰRŐ függvényeket.
Az A1 : C5 tartományt átalakítottam táblázattá, hogy a táblázatos címzést tudjam használni.
Az éveket az I1 cellától a következő képlettel kaphatod meg:=TRANSZPONÁLÁS(EGYEDI(Táblázat1[year]))
Az E1 cellába írtam be a kívánt nevet.
Ezután az I2 cellában a képlet (ezt látod a képen is):=SZŰRŐ(Táblázat1[[#Mind];[asc]];(Táblázat1[[#Mind];[name]]=$E$1)*(Táblázat1[[#Mind];[year]]=I$1);0)
Ezt a képletet másolni és beilleszteni kell a mellette levő cellákba (nem pedig egérrel húzni!) és akkor megfelelően működik.
Figyelned kell a $ jelekre a cella címzésekben!
Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.
Kiegészítés: Ha a neveket is egy listában szeretnéd látni, akkor a képlet a képen a H2 cellába:=EGYEDI(Táblázat1[name])
Az I2 cella képlete pedig a következő:=SZŰRŐ(Táblázat1[[#Mind];[asc]];(Táblázat1[[#Mind];[name]]=$H2)*(Táblázat1[[#Mind];[year]]=I$1);0)
A nevek helyzetének figyelembe vételével változott.
A képlet az I2 cella mellett levő cellákba másolás - beillesztés továbbra is a megfelelő mód, utána lefelé mindhárom oszlop egyszerre húzható.Üdv.
-
underdark
aktív tag
válasz
Fferi50
#54616
üzenetére
Kösz, de ez így most még kuszább lett

Megprbálom felvázolni inkább így,
Van az adattáblázat, ez egy nagyobb terjedelmű, nem így vannak az oszlopok sorban, nekem csak ez a 3 kell belőle, de az elrendezés az így van soronként a dátumok stb.
Az eredményt azt most én írtam be, hogy oda kéne nekem az a függvény
Köszi!
-
Fferi50
Topikgazda
válasz
underdark
#54615
üzenetére
Szia!
Az XKERES függvény jelen esetben a találat sorában levő értékeket tud visszaadni, az FKERES függvényhez hasonlóan, vagyis az A3 cellában levő név sorát veszi alapul.
A "belső" XKERES függvényed ugyanazon táblázat másik oszlopából fog eredményt keresni, ami nem feltétlenül azonos a külső XKERES által megadott sorral!
Ha sor és oszlop találkozásra vagy kíváncsi (ha az évek oszloponként vannak), akkor a belső XKERES függvény keresési tömbjénél a táblázat FEJLÉC-ét kell megadnod, nem az egész táblázatot (ha egérrel csinálod a tartomány kijelölését, akkor mutatni fogja a helyes szintaxist a fejlécre).
Amit a képen mutatsz, az a belső XKERES függvény eredménye - ezt nem tudja a külső függvény értelmezni. Az ablak alsó sorában egy üres = sort látsz, ott lenne a teljes képlet eredménye.
Remélem, jól értelmeztem a kérdést, ha mégsem így lenne, kérlek mutasd meg képen a Táblázat7 egy részletét a "bal felső" sarkából kiindulva (természetesen fals adatokkal).
Üdv. -
underdark
aktív tag
Sziasztok!
xkeres függvényt szeretnék két kritérium szerint használni, táblázatban
itt az ablakban visszadja azt ami nekem kell érték, de ha lekozékom akkor érték hibát ír
mit rontok el?
vagy egyszerűbb volna egy másik függvénnyel?
Köszi!
-
dm1970
aktív tag
Szia!
Hétvégén sajnos nem volt időm foglalkozni a próbával, s csak most jutottam el idáig.
Nagy-nagy köszönet, szokás szerint minden tökéletes.
Azért arra szeretnék egy kis időt szánni, hogy feltérképezzem, hogy hogyan működik, mit jelentenek a beállítások.#54611jjohn
Igen, ezt írtam én is.
Köszi Neked is!
Szerintem, ha egy cellában van, akkor a bal5, jobb5 használatával a C1, B1 behelyettesíthető. Kíváncsiságból ki fogom próbálni. -
sopruk
senior tag
Köszönöm a további infókat, tippeket!
Sokat tanultam e probléma kapcsán.
Csak alap dolgokra használom az Excel-t, néhány képletet ismerek
De a mostani keresgélés kapcsán, oktató videók segítségével is felfedeztem pár új hasznos dolgot, ami könnyíti a munkát. Lesz időm nézegetek még ilyeneket, érdemes fejlődni ebben is...
-
jjohn
aktív tag
válasz
dm1970
#54604
üzenetére
Szia!
Annyit tudok segíteni, ha a munkaidő kezdete és vége más cellában van.
Akkor ez egy működő megoldás, én ezt használom, percre pontosan kiszámítja a munkával töltött időt.
A szünetekkel variálhatsz a képletben a 40 percet átírhatod 45-re stb.
= (C1-B1) - HA((C1-B1) < IDŐ(8;0;0); 0; HA((C1-B1) < IDŐ(10;0;0); IDŐ(0;20;0); IDŐ(0;40;0)))
-
dm1970
aktív tag
Szia!
Köszi!
Nem sok időm volt tesztelni, de nem tudtam belőle kihozni azt amit szerettem volna. Ránézésre, a legnagyobb gond az, hogy az én táblázatomban a kezdő és a vég időpont 1 cellában van. Próbáltam az általam használt képletből behelyettesíteni az elsőidőpárt B1-nek a másodikat C1-bek, de nem megy, és nem látom át a képletedet (mondjuk az enyémet se nagyon
)#54607Mutt
Neked is köszi!
A kép alapján tökéletes, de sajna 2016 Office van, s ahogy elnézem, ebben ezek közül csak a maradék függvény található meg.dm
-
Mutt
senior tag
válasz
sopruk
#54602
üzenetére
Szia,
A keres függvények csak azonos adattípuson (szám vs. szöveg) műkődnek helyesen.
Amikor két külön helyről van adatsorod, akkor sokszor előfordul hogy a típusok eltérőek (
a számok szövegként vannak tárolva).Esete válogatja hogy mi a jó megoldás, de csinálhatod hogy az XKERES-ben azonnal típuskonverziót végzel:
1) mind a keresett, mind a keresési tartományt szöveggé alakítod azzal hogy üres szöveget fűzől hozzájuk:=XKERES([@Termékkód]&"";csv_data[termékkód]&"";csv_data[összeg])
2) mindent számmá alakítasz egy szorzással:=XKERES([@Termékkód]*1;csv_data[termékkód]*1;csv_data[összeg])Ha a keresési tartomány sok adatot tartalmaz (kb. 50 ezer sor felett van), akkor gyorsabb megoldás, a tartomány mellé egy új oszlopban végzed el a típus átalakítást és azt használod fel kereséshez.
Hasonló technikát lehet használni pl. felesleges szóközök miatti hibák esetén a TISZTÍT függvénnyel.
=XKERES(TISZTÍT([@Termékkód]);TISZTÍT(csv_data[termékkód]);csv_data[összeg])üdv
-
Mutt
senior tag
válasz
dm1970
#54604
üzenetére
Szia,
...időpár alapján kiszámolja a tényleges munkaidőt a munkaközi szüneteket kiveszi belőle...
1) Az eltelt időszámítására a legbiztossabb megoldás a MARADÉK / MOD függvény használata. MARADÉK(vége-eleje;1)*24
2) Érdemes a HAELSŐIGAZ / IFS függvényt használni, ha több vizsgálatod is van a képletben.Ezek után, ha újabb Exceled van (Excel 2021 vagy újabb), akkor a LET függvénnyel áttekinthetőbbé tehetjük az egészet:
=LET(input;B1;kezdete;BAL(input;5);vege;JOBB(input;5);kulonbseg;MARADÉK(vege-kezdete;1)*24;kulonbseg-HAELSŐIGAZ(kulonbseg>9+45/60;45;kulonbseg>6+20/60;20;1;0)/60)
Az első 3 sor a bementő adatokról szól.
A 4. sorban számoljuk a két időpont közötti különbséget a MARADÉK függvénnyel.
Az utolsó sorban a HAELSŐIGAZ megnézi hogy a különbség mekkora és levonja vagy a 45 vagy a 20 percet.üdv
-
dm1970
aktív tag
Sziasztok!
Egy kis segítségre, ötletre lenne szükségem, egyszerűen nem sikerül megoldást találnom. Több éve használok egy képletet, ami egy cellába beírt időpár alapján kiszámolja a tényleges munkaidőt a munkaközi szüneteket kiveszi belőle. Sajnos van benne hiba, s amikor ritkán beleszaladok vagy eszembe jut, megpróbálom a javítást, de nem jutok előrébb. A szabály, ha a munkaidő max 6 óra nincs szünet, ha meghaladja a 6 órát de max 9, akkor 20 perc a szünet, 9 óra felett 20+25. Tehát a két időpárt kivonom egymásból, eredmény =<6 nincs mínusz, 6<,<=9 -20, minden más esetben -45 perc.
Készítettem egy mintatáblázatot:
A végén látszanak a hibák, azt nem tudja kezelni a képletem, ha éjszakai 9 órát meg nem haladó munkavégzés van.
Bemásolom a képletet is, de lehet egyszerűbb egy új megközelítésből elindulni, már én sem mindig látom át, mit miért írtam bele. Jó lenne, ha a képlet, másolható lenne mindkét irányba.
=HA(BAL(B1;2)<BAL(JOBB(B1;5);2);((BAL(JOBB(B1;5);2))*60+(JOBB(B1;2))*1-(BAL(B1;2))*60-(BAL(JOBB(B1;8);2))*1-HA(ABS(((BAL(JOBB(B1;5);2))*60+(JOBB(B1;2))-BAL(B1;2)*60+(BAL(JOBB(B1;8);2)))/60)>9,34;45;HA(ABS(((BAL(JOBB(B1;5);2))*60+(JOBB(B1;2))-BAL(B1;2)*60+(BAL(JOBB(B1;8);2)))/60)<=6;0;20)))/60;((BAL(JOBB(B1;5);2))*60+(JOBB(B1;2))*1-(BAL(B1;2))*60-(BAL(JOBB(B1;8);2))*1-HA(ABS(((BAL(JOBB(B1;5);2))*60+(JOBB(B1;2))-BAL(B1;2)*60+(BAL(JOBB(B1;8);2)))/60)>9;45;HA(ABS(((BAL(JOBB(B1;5);2))*60+(JOBB(B1;2))-BAL(B1;2)*60+(BAL(JOBB(B1;8);2)))/60)<6;0;20)))/60+24)Köszi dm!
-
Delila_1
veterán
válasz
sopruk
#54602
üzenetére
Mindkét lapon számokká alakítottam a Termékkód oszlop adatait, elkerülendő, ha itt-ott akadna közöttük szöveg típusú. Egy cellába beírtam egy egyest, másoltam, majd irányítottan, szorzásként beillesztettem a jelölt helyekre. Ezután az FKERES függvény (HAHIBA függvénybe ágyazva) végzi a dolgát.
[data.hu] -
sopruk
senior tag
Sziasztok!
Az XKERES, FKERES, XHOL.VAN függvénnyel vannak gondjaim…
A data.hu-ra feltöltött tábla második, „CSV data” fülön lévő összeg oszlopot szeretném átvarázsolni az első „Terméklista” fülre, az első oszlopokban lévő Termékkódok alapján.
De valamiért nem látja őket semelyik függvény
Az FKERES-t rendszeresen használom kisebb tábláknál, ugyanazon program generálta táblázatok adatainak összefűzésére.
Most egy nagyobb adatbázist kellene hasonlóképpen összevezetni, de az egyik tábla máshonnan lett exportálva CSV formátumba.
Mindkét tábla sokkal nagyobb, a többi oszlopot kitöröltem a szemléltetéshez….
A CSV táblát már próbáltam többféle módon áthozni (mentés másként, kivágás-beillesztés, a jelenlegi táblában csak simán áthúztam a fület a csv táblából ebbe), hátha az a baj.
A cellákat is próbáltam módosítani általános-ra, szöveg-re, szám-ra…
Már több mint egy napom ráment a próbálgatásra, keresgélésre a neten, de nem találom a hiba okát
Van esetleg ötletetek, hogy mi lehet a probléma oka?
Előre is nagyon köszönöm!
Új hozzászólás Aktív témák
- Kertészet, mezőgazdaság topik
- Linux kezdőknek
- Energiaital topic
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- OLED monitor topic
- Milyen videókártyát?
- EAFC 26
- Amazfit Bip 6 - jót olcsón
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 mini 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2159
- GYÖNYÖRŰ iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3326, 94% Akkumulátor
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad L520 - i3-2GEN I 4GB I 160GB I DVDRW I 15,6" HD I Cam I W10 I Garancia!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest








Üdv.


Üdv.
Üdv.




Sziasztok! Azt szeretném elérni, hogy egy több tagú szöveget egy cellából szét tudjak úgy osztani 2 cellába, hogy az 1. cellában csak az első tag van és a másodikban pedig a az összes többi tag. 2016-os Excelben próbálkozom. Köszönöm a tippeket!




Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.


