- EarFun Air Pro 4 - a cél a csúcs
- Fotók, videók mobillal
- A hagyományos (nem okos-) telefonok jelene és jövője
- Xiaomi 15 - kicsi telefon nagy energiával
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Motorola Moto G54 5G Power Edition - nem merül le
- Samsung Galaxy A56 - megbízható középszerűség
- Apple Watch
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
-
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
-
Fferi50
Topikgazda
válasz
#02644736 #31711 üzenetére
Szia!
Tömbképletekkel lehet a problémádat megoldani:
FSZ tömbképlet az F12 cellába :=HA(C12="FSZ";HAHIBA(SZUMHA(INDIREKT("C" & SOR() & ":C"& KICSI(HA($C12:$C$1200="FSZ";SOR($C12:$C$1200);"");32));"FSZ";(INDIREKT("E" & SOR() & ":E"& KICSI(HA($C12:$C$1200="FSZ";SOR($C12:$C$1200);"");32))))/32;"NEM LEHET ÁTLAGOT SZÁMOLNI");"")
A tömbképletet Shift+Ctrl + Enter egyidejű lenyomásával viheted be, amikor elhagyod a cellát, az Excel kapcsos zárójelbe teszi a képletet.
A többi oszlopnál ("E" & SOR() & ":E"& részben az E cserélendő a megfelelő oszlopra.DSZ esetében az FSZ értékeket kell átírnod DSZ -re, illetve az eredmény oszlopokat.
A $C$1200 értéket a tényleges adathossznak megfelelően kell átírni.
A képletet folyamatosan húzhatod le az oszlopban, mindig 32 tagú mozgó átlagot számol.
Az adatsor végén fog megjelenni a hibaüzenet, amit szándékosan szövegként adtam meg, hogy feltűnő legyen, arra változtatod, amire szeretnéd.Remélem, használni tudod, ha kérdésed lenne, írj lsz.
Üdv.
-
Delila_1
veterán
válasz
#02644736 #31485 üzenetére
A füzet Bevitel lapján felveszel egy új oszlopot, ami a B oszlopban lévő dátum hetét adja.
Az összesítések lapra készítesz egy kimutatást, majd létrehozod a csoportosítást. Havonta, és ezen belül hetente összesít.
Ha a Bevitel lapon lévő adatokat táblázattá alakítod, a kimutatás követi az újonnan bevitt sorokat, csak rosszul mutatnak az A oszlop összevont cellái.
Ha lehet, kerülöm az összevonásokat, sok bajt okozhatnak. A dátum oszlopban a teljes dátum megjelenítése (a jelenlegi "nn" formátum helyett) kiküszöbölné az összevonásokat, és 1 oszloppal kevesebb lehetne.
Ebben a füzetben átalakítottam a Bevitel lapot.
-
Fferi50
Topikgazda
válasz
#02644736 #31483 üzenetére
Szia!
Az ELTOLÁS függvény 4. paraméterét - ami -7 mivel egy hétről van szó - át kell írnod -31 -re május, -30-ra június esetében.
SZUM(ELTOLÁS(D136;-1;0;-7;1)) helyett pl. SZUM(ELTOLÁS(D136;-1;0;-31;1));"")Gondolom, ezt a hónap utolsó napja után szeretnéd - a következő hónap első napján - megtenni, ezért a Ha függvénnyel azt kell megvizsgálnod, hogy az adott dátum napja elseje-e:
HA(NAP(E136)=1; SZUM(ELTOLÁS(D136;-1;0; -NAP(E135);1));"")Feltételezve, hogy E136 éppen elseje, akkor E135 az előző hónap utolsó napja és a fenti képletet lehúzva automatikusan adja a mindenkori előző havi összeget a következő hónap első napján!
Természetesen a havi és heti feltételek kombinálhatóak is.
A feltétel nélkül lehet az adott napot megelőző napig göngyölíteni az összeget:
SZUM(ELTOLÁS(D136;-1;0; -NAP(E135);1))Ezért ez a képlet minden hó elsején éppen az előző hónap összegét fogja megadni.
Üdv.
-
-
Fferi50
Topikgazda
válasz
#02644736 #31470 üzenetére
Szia!
"Valahogy képlettel kellene megoldani, hogy minden hétfőnél az előző heti értékeket összeadja"
Ehhez először is valamilyen módon tudatni kell az excellel az adott napi dátumot. Legegyszerűbben egy elrejtett segédoszlopba lehet betenni szerintem az adott hónap adott napjához tartozó dátumot, mert ebből a megjelenítésből nem látom át, hogyan lehetne képlettel kibogozni.
Mondjuk az E oszlopban van a dátum, E136-ban 2016.05.09 valamilyen dátumformátumban (nem szöveg).
A képlet a C136 cellába:
=HA(HÉT.NAPJA(E136;2)=1;SZUM(ELTOLÁS(D136;-1;0;-7;1));"")
Ezt a képletet húzod végig a C oszlopon.Üdv.
-
hallgat
csendes tag
válasz
#02644736 #31229 üzenetére
Szia!
Ctrl+C, a beillesztendő helyen pedig jobb egérgomb és a menüben a "Beillesztés (B)" lehetőséget választva viszi a formátumot is.
Vagy irányított beillesztés -> "Minden" legyen beállítvaBár nekem sima Ctrl+C - Ctrl+V -re is úgy viszi át, hogy megmarad a formátum is.
-
Mittu88
senior tag
válasz
#02644736 #23333 üzenetére
Ha kijelölöd valamelyik celláját a becsatolt adattartománynak, és az Adatok fülön rákattintasz a Kapcsolatoknál a Tulajdonságokra, lennie kell az Adatformátum és elrendezés részben olyannak, hogy Oszlopszélesség igazítása. Checkboxból pipa ki és kész.
Legalábbis 2010-esben így működik, sajnos nincs '13-asom. -
lappy
őstag
-
Fferi50
Topikgazda
válasz
#02644736 #23056 üzenetére
Szia!
Elárulnád, hogy milyen Excel verziód van?
Csinálsz egy oszlopot mindkét munkalapra, ahova összefűzöd a keresni kívánt oszlop értékeit. Ezután ezt az értéket keresed fkeres függvénnyel ha a keresőoszlop az első a második munkalapon, vagy index és hol.van függvény kombinációval, ha a keresőoszlop nem az első a második munkalapon.
Üdv.
-
Fferi50
Topikgazda
válasz
#02644736 #22994 üzenetére
Szia!
Az a helyzet, hogy a számolási beállítások applikáció (Excel program) szinten vannak és nem munkafüzetre specifikálva.
Vagyis, ha valamelyik használó akár kézzel akár makróból átállítja kézire és úgy lép ki belőle, akkor az marad a beállítás, amíg valaki vissza nem állítja.Üdv.
-
Fferi50
Topikgazda
-
Sasos
senior tag
válasz
#02644736 #22837 üzenetére
Ilyennel találkoztam már, de azon a gépen nem jogtiszta, aktivátorral aktivált MS Office volt. Félve kérdezem meg... Ez a példány jogtiszta?
Szerk: Az említtet gép esetén az xlsx-re kattintás után elindult az Excel, majd közölte, hogy nem sikerült érvényesíteni a példányt. Ha előbb indították az Excel-t, és onnan nyitották a fájlt akkor hiba nélkül dolgozott.
-
Delila_1
veterán
válasz
#02644736 #22031 üzenetére
A lapodhoz kell rendelned a lenti makrót, ennek a módját több helyen megtalálod a fórumon.
Az X1 helyett olyan címet írj, ahol biztosan nincs adatod.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
Range("A1") = Range("X1") + Target
Range("X1") = Range("A1")
Application.EnableEvents = True
End If
End Sub -
Louro
őstag
válasz
#02644736 #21159 üzenetére
template = példafálj.
Ha túl nagy az eredeti, amivel dolgoznál vagy nem elérhető - pl. munkahely -, akkor otthon kreálsz egy excelt, amiben nagyjából ugyanott vannak az oszlopok és az értékek is megfelelően Dátum/szöveg/szám.
Én, amivel sokat szenvedtem, több több 10 megás fájl kezelése....mivel ez sokáig futna, így csináltam otthon egy fals excelt, végiggurultam a billentyűzeten és ebből lettek a mezők. Majd csináltam pár másolatot a fájlból és azokkal dolgozgattam. Így nem több 10+ megás fájlt kezeltem, hanem több pár kilobájtost.
Remélem így sikerült leírnom érthetőbben.
-
#02644736
törölt tag
válasz
#02644736 #20959 üzenetére
Kiírattam msgbox-szal a usor értékét, egy üres ablak ugrott fel, még 0 sem volt ráírva.
Akkor a középső sorral lehet valami?
Ez alapján írtam máshova, és ott meg működik ugyanígy. Pedig ahova hivatkozik, B oszlop adatok munkalap, a fejlécen kívül van beírva még egy adat. -
Delila_1
veterán
válasz
#02644736 #20954 üzenetére
Ez változik:
If f Then
Range("K" & usor) = TextBox11 + 1 & "/" & Year(Date)
Else
Range("K" & usor) = TextBox11 & "/" & Year(Date)
End IfNem írtad, mihez kell a range. Feltételezem, hogy a formon lévő listboxhoz, vagy comboboxhoz, vagy egyéb, listát tartalmazó objektumhoz.
Private Sub UserForm_Activate()
Dim usor As Long
usor = Sheets("Munka1").Range("A" & Rows.Count).End(xlUp).Row
ComboBox1.List = Sheets("Munka1").Range("A2:A" & usor).Value
End SubA ComboBox1.List = Sheets("Munka1").Range("A2:A" & usor).Value sort bemásolhatod az előbbi makró végére is, hogy a lapra felírás után frissüljön a lista.
-
Delila_1
veterán
válasz
#02644736 #20949 üzenetére
Az A oszlop formátuma legyen Normál"/XY", a K-é pedig szöveg.
A makróban az A oszlopba írandó adatot számként mentem (TextBox1*1), a többit szövegként. A textbox, mint a neve is mutatja, szöveges értéket ad alapból. Ha számként akarod menteni valamelyik adatot, szoroznod kell a felíráskor 1-gyel.
10 db textboxba viszem be az adatokat a formon (A:J oszlop), a K oszlop adatát a TextBox1 értéke adja.
Private Sub CommandButton1_Click()
Dim sor As Long, usor As Long, kezd As Long, WF As WorksheetFunction, f As Boolean
Set WF = Application.WorksheetFunction
f = False
Sheets("Munka1").Activate
If WF.CountIf(Columns(1), TextBox1 * 1) > 0 Then
kezd = WF.Match(TextBox1 * 1, Columns(1), 0) + 1
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = kezd To usor
Cells(sor, "A") = Cells(sor, "A") + 1
Cells(sor, "K") = Cells(sor, "A") & "/" & Year(Date)
Next
f = True
Else
usor = Range("A" & Rows.Count).End(xlUp).Row + 1
End If
'Adatbevitel a Munka1 lapra
If f Then
usor = usor + 1
Range("A" & usor) = TextBox1 * 1 + 1
Else
Range("A" & usor) = TextBox1 * 1
End If
Range("B" & usor) = TextBox2
Range("C" & usor) = TextBox3
Range("D" & usor) = TextBox4
Range("E" & usor) = TextBox5
Range("F" & usor) = TextBox6
Range("G" & usor) = TextBox7
Range("H" & usor) = TextBox8
Range("I" & usor) = TextBox9
Range("J" & usor) = TextBox10
If f Then
Range("K" & usor) = TextBox1 + 1 & "/" & Year(Date)
Else
Range("K" & usor) = TextBox1 & "/" & Year(Date)
End If
'Rendezés
usor = Range("A" & Rows.Count).End(xlUp).Row
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A" & usor), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Munka1").Sort
.SetRange Range("A1:K" & usor)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End SubSzerk.: beteheted a végére a textboxok kiürítését.
-
bteebi
veterán
válasz
#02644736 #20825 üzenetére
Úgy mindenképp meg tudod csinálni - kicsit kerülőúton -, hogy ="Bcs" & A1 & "/2014". Ebben az esetben az A1 cellában van a karakterlánc (pl. 0234), a cella formátuma pedig szöveg. Próbáltam máshogy, de jobbat egyelőre nem tudok. Ha fix számú (pl. 4) karakter lenne a Bcs után, akkor meg tudnád adni úgy, hogy "Bcs"0000"/2014", és akkor mindig 4 jegyre egészíti ki a számot, nullákkal.
-
Delila_1
veterán
válasz
#02644736 #20800 üzenetére
Úgy tűnik, szeretsz velem levelezni. Ha nem így lenne, már először megírtad volna, hogy más lapokról akarod behozni az adatokat. Azt még most sem árultad el, hogy az egyes lapoknak melyik oszlopából várod az értékeket. Nem baj, a megadott képletet átalakítod, ha nem az A-ból.
A Munka1 lapon megadod az egyes lapok számát, ami nálam az első sorban van.
A szerkesztőlécen látod az A3 képletét, ezt másold jobbra az R (18) oszlopig. -
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- EAFC 25
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- EarFun Air Pro 4 - a cél a csúcs
- AMD vs. INTEL vs. NVIDIA
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- SSD kibeszélő
- További aktív témák...
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Acer Nitro 5 -AN515 - 15.6"FHD IPS 144Hz - i7-11800H - 16GB - 512GB SSD+1TB HDD -RTX 3050 - Garancia
- AKCIÓ! HP USB C G5 Essential (5TW10AA) dokkoló hibátlan működéssel garanciával
- BANKMENTES részletfizetés Noblechairs HERO RL valódi bőr Gamer Szék
- Magyarország piacvezető szoftver webáruháza
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest