- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- bb0t: A könyvelő szakma halott?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- hcl: Kelj fel komám, ne aludjál
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
Az első üres oszlop 2. sorába (címsort feltételezve) beviszed a =DARABTELI(B$2:B2;B2) képletet, és lemásolod a többi sorod mellé. Ügyelj a $ jelre.
Ez az oszlop megmutatja soronként, hogy a cikkszámod hányadik alkalommal szerepel a B oszlopban. A cikkszámos oszlopot szűröd, és megkapod az eredményt.
-
sasfi
csendes tag
Sziasztok!
Segítséget szeretnék kérni. Elég nagy mennyiségű adatot kell átnéznem, ami így néz ki:
'B' oszlop: cikkszám 'E' oszlop: Értékelés ('Jóváhagyva', 'Elutasítva', 'Nem feldolgozott')
A kérdésem az lenne, hogyan tudom megcsinálni azt, hogy mindig a legutolsó értéket vegye alapul, vagyis lehet, hogy egy cikkszám többször szerepel, mert 'Elutasítva' státuszt kapott, de lehet, hogy másodjára, vagy harmadjára már 'Jóváhagyva'-t. azt kellene kiszűrnöm, hogy mely cikkszámok hányadik neki futásra tudták teljesíteni a 'Jóváhagyva' státuszt.
Próbáltam Fkeres-sel, de itt a legelső egyezésnél ugrik a következő sorra, így ha egy cikkszám el lett utasítva, de később elfogadva, a függvény csak az elutasítottat adja meg értékként.
Köszönöm a segítséget!
Tamás
-
alfa20
senior tag
Jó reggelt!
Van nekem rész a makróban ami a mentésért felelős:
Sub save()
If Not ActiveWorkbook.Saved Then
msg = "Kivánja menteni a táblázatot? "
msg = msg & "'xxxxxxx-xxxxxxxxxxxxx_" & Date & "xlsm' néven?"
ans = MsgBox(msg, vbQuestion + vbYesNo)
Select Case ans
Case vbYes
ActiveWorkbook.SaveAs Filename:= _
"xxxxxxx-xxxxxxxxxxxxx_" & Date & "xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Case vbNo
ThisWorkbook.Saved = True
Exit Sub
End Select
End If
End SubA lényeg, hogy a megadott név mögé teszi az aznapi dátumot aminek a formátuma: yyyy.mm.dd.
be lehet állítani, hogy az év ne szerepeljen a fájl névben csak a hónap és a nap.
Tehát így nézzen ki:
xxxxxxx-xxxxxxxxxxxxx_.mmdd -
Surfym@n
senior tag
Sziasztok, következő problémám támadt 2010-es excel-ben:
Tetszőlegesen nagy cellát ki szeretnék másolni (ctrl-c), kapásból felbukkan egymás után többször is a következő hibaüzenet: "A kép túl nagy. Egy része elvész"Korábban nem volt ilyen problémám, sem a szoftver- (W7 Prof) sem a hardverkörnyezet (i5, 6GB) sem változott.
Van vmi ötlet, mi okozhatja ezt?Természetesen ha leokézom őket, ctrl-v után mindent átmásol a program, tehát a hiba oka alaptalan, mégis felbukkannak a kis hibaüzenetes ablakok.
-
Brumi
senior tag
Némi infó az előzőhöz: a probléma csak a szumha függvénnyel behivatkozott cellákra vonatkozik. A 2003-as excelben nem csinál gondot belőle akkor sem, ha automatikusan frissíti a külső csatolásokat, az új viszont hibát dob. Az újban azt mondja, hogy hibás a képlet, azonban, ha megnyitom a csatolt fájlt, akkor jó lesz. Persze ki kell szednem az automatikus frissítést indításkor, különben minden alkalommal televágja értékhibával. Van olyan beállítás, ami az Excelben alapértelmezésben letiltja a frissítést indításkor? Ami a beállításoknál van, az nem működik, hiába veszem ki a pipát, újraindításnál visszateszi.
-
Brumi
senior tag
Sziasztok!
Egy nagyon fontos kérdésben kérném a segítségeteket, megpróbálom tömören leírni a problémát:
most volt teljes rendszerfrissítés a cégnél Win XP + Office 2003-ról Win 8 + Office 2013-ra. Rengeteg excel kimutatásunk SAP-ból letöltött excel fájlokra hivatkozott (olyan fájlok, melyek formázási makrókat tartalmaznak). A régi rendszerben a kész riportokat simán megnyitotta, rendesen behozta a hivatkozott táblákból az adatokat, de a 2013-as Excel ad-hoc módon valamelyikre értékhibát dob, valamit pedig jól behoz. Persze, ha végignyitom a hivatkozott fájlokat, akkor minden helyreáll, de ez nem lehet megoldás, mert túl sok a hivatkozott fájl.
Milyen olyan nyűge lehet az új rendszernek, ami miatt vegyesen (hibásan) kezeli az SAP-s fájlokat? Majdnem minden lehetséges beállítást kipróbáltam, de semmi sem jó neki. A virtuális könyezetben futatott excel 2003 továbbra is hibátlanul tölti be a fájlokat, de ez sem megoldás...Előre is köszönöm a segítséget!
-
bteebi
veterán
-
mexel
veterán
Azt be lehet valahol állítani, ha nyitokegy grafikont akkor annak olyan mérete legyen amit beállítok? vagy hogy ne csak ide-oda húzással tudjam a méretüket állítani, hanem adatokkal? (excel 2007) Nem találok ilyesmit. Persze lehet hogy csak béna vagyok.
-
mexel
veterán
Köszönöm a segítséget, de talán már írtam lejjebb hogy a DARABTELI függvény simán megszámolja.
(pl: =DARABTELI(AH3:AH116;"*b*") vagy pl ha több is kell akkor =DARABTELI(AF3:AF116;"a,b*d,e*") )
Ezt így egyszerűbbnek találtam, és úgy látom tökéletesen működik. Legalábbis remélem.lappy: köszi, a CSE-vel kipróbálom
-
Mutt
senior tag
Hello,
...Azt kellene kiíratnom egy cellában, hogy hány sorban van a,b,d,e betű, de nem csak ebben a felállásban, hanem olyan is amiben pl a,b,c,d,e van stb.
Tömb-függvénnyel és segédoszloppal itt egy megoldás:
A-oszlopban vannak a karakterek, D2-ben a keresési érték. B-ben látható, hogy mikor van egyezés és E2-ben ezeket számoljuk meg.
B1-ben a képlet (CSE-ként vidd be):
=SZUM(--SZÁM(HOL.VAN(KÖZÉP($D$2;(SOR(INDIREKT("A1:A"&(HOSSZ($D$2)+1)/2))-1)*2+1;1);KÖZÉP(A1;(SOR(INDIREKT("A1:A"&(HOSSZ(A1)+1)/2))-1)*2+1;1);0)))=(HOSSZ($D$2)+1)/2Működése:
1. A KÖZÉP(A1;(SOR(INDIREKT("A1:A"&(HOSSZ(A1)+1)/2))-1)*2+1;1) rész karakterekre szedi a szöveget, úgy hogy minden második karaktert (ahol a felsorolásjel van) átugorja. Röviden az A1-ben lévő "a,b,c,d,e,f" szövegből csinál egy ilyen tömböt: {"a";"b";"c";"d";"e";"f"}, amiben keresni fogunk.
2. A KÖZÉP($D$2;(SOR(INDIREKT("A1:A"&(HOSSZ($D$2)+1)/2))-1)*2+1;1) ugyanazt csináljacsak a D2-ben lévő keresési értékkel. ({"a";"e"})
3. Meg van hogy mit és hogy miben keressük, erre a HOL.VAN függvényt használtam (a SZÖVEG.KERES lenne idevaló, de tömbön nem megy).
A HOL.VAN vagy egy számot, vagy hiányzik értéket ad vissza. Ezeket a SZÁM és a "--" operandussal egyesekre és nullásokra alakítottam.
4. Ezt már össze lehet adni. Az eredmény megmondja hogy hányszor szerepeltek a betűk a keresett szövegben.
5. A végső lépés már csak annyi, hogy nekünk azok a jó találatok, ahol minden betűt megtaláltunk, vagyis ha a keresendő mezőben 2 betű volt, akkor csak az jó nekünk, ha a találatok is ennyit adnak ki, Erre van a képlet végén a =(HOSSZ($D$2)+1)/2 rész.
6. Utolsó utáni lépésként már csak az IGAZ találatokat kell megszámolni a B-oszlopban.üdv
-
konyi79
addikt
köszönöm!
-
alfa20
senior tag
sziasztok,
egy kis formázás, de én már belefáradtam és most nincs semmi új ötletem:
Ha "A1" cella értéke nagyobb, mint "B1" vagy nagyobb, mint "C1", akkor a cella legyen piros.
a trükk, nem minden "B" és "C" cella van kitöltve, vannak üres cellák.
Van ahol "B" nagyobb mint "A", de "C" kisebb mint "A" és fordítva.
vagy "B" kisebb vagy nagyobb mint "A", de "C" üres és fordítva "B" üres, esetleg mind kettő üres.erre ötlet valakinek?
Mutt: ezt köszönöm! #20946
-
Mutt
senior tag
-
Mutt
senior tag
válasz
konyi79 #20981 üzenetére
Hello,
...hogyan tudom megadni neki, globálisan a munkalapnak, hány tizedessel számljon a cellákban lévő tartalomból?
Beállítások->Speciális->Megjelenés szerinti pontosság beállítás opcióval ezt tudod elérni, azonban ez globális beállítás ezért nem csak ezt a munkafüzetet, hanem az összeset érinti.
Amit el szeretnél érni azt javasolt inkább képlettel megcsinálni, ha nincs szükséges a tizedesekre akkor inkább a KEREKÍTÉS vagy egészrész (INT) függvényeket használd a megfelelő helyeken.üdv
-
konyi79
addikt
Halihó!
Kis segítséget kérnék ismét:
Egy egyszerű osztással kiszámolok egy értéket egy mezőre, tizedesekre nincs szükségem, ezért a cellaformátum (ami egyébként pénznem) 0 tizedesre van állítva. Ez rendben is van, de a vége nem akar kijönni, mint kiderült azért mert továbbszámolt a nemlátszó tizedesekkel. hogyan tudom megadni neki, globálisan a munkalapnak, hány tizedessel számljon a cellákban lévő tartalomból?Köszi.
-
lappy
őstag
válasz
kőbaltazár #20978 üzenetére
Szia!
=SZUMHA(C7:E27;"<126";E7:E27) -
bteebi
veterán
Sziasztok!
Egy tartományban szeretném megszámolni azon cellákat az AH4:AH87 tartományban, amelyek értéke 10 alatti, illetve 10 és 20 közé esik. Az utóbbinál a darabteli függvényt csak kerülőúton tudtam úgy paraméterezni, hogy jó legyen: =COUNTIF(AH4:AH87,">=10")-COUNTIF(AH4:AH87,">=20").
Van erre jobb ötletetek? Vagy segédcellák (oszlopok) nélkül nem lehet elegánsabban megoldani? Igazából az ÉS (AND) függvényt kellene valahogy beágyazni, de azt sajnos nem tudtam megoldani.Előre is köszönöm a segítségeteket!
-
mexel
veterán
Közben látom, hogy a DARAB2 az pontosan a nem üres cellákat számolja, azt hiszem az lesz a jó megoldás. Egyszerűen kiírja a nem üres cellák számát a kijelölt részen.
-
LordVader80
őstag
válasz
LordVader80 #20968 üzenetére
Megvan, felcseréltem az értéket és az érték ha hibát, ezért nem működött
-
LordVader80
őstag
válasz
Gandalf80 #20967 üzenetére
Köszi, de egyszerűen nem jövök rá
most ez van a cellában: =FKERES(A2;Adatok!A2: B250;2;HAMIS)
Ha most az A2 cellába nem írok be adatot, nincs, amit keressen, így #HIÁNYZIK jelenik meg. Ezt szeretném eltüntetni úgy, ha később írok az A2 cellába, akkor jól működjön az FKERES függvény.
-
Gandalf80
csendes tag
válasz
LordVader80 #20966 üzenetére
Szia!
Használd a HAHIBA függvényt! Olvasd el a súgóban, amit erről írnak.
Üdv.
Gábor -
LordVader80
őstag
Sziasztok!
Meg lehet-e úgy formázni egy cellát amiben képlet van, hogy ha pl. hibás a képlet, és #HIÁNYZIK szöveget jelenít most meg, akkor ezt ne írja ki, hanem tűnjön a cella üresnek.
-
MarioAna
senior tag
Üdv!
Lehetséges excelben olyan táblázatot létrehozni, amiben a cellák cserélődnek?
Példában elmagyarázva már egyszerűbb:
Ha megfogom a B2-s cellát és ráhúzom az A3-ra, akkor a B2-ben lévő szöveg az A3-ba átmásolódik, és fordítva is, az A3 cella tartalma lesz a B2-ben.
Nem vagyok benne biztos, hogy egy kivitelezhető, de hátha valaki jobban képben van ezzel kapcsolatban. -
mexel
veterán
Sziasztok, megint elakadtam.
Van egy oszlopom, amiben sok betű szerepel, (a,b,c,d,e,f, és a,b,d,e ésa,b,c,d,e,g stb.)
Azt kellene kiíratnom egy cellában, hogy hány sorban van a,b,d,e betű, de nem csak ebben a felállásban, hanem olyan is amiben pl a,b,c,d,e van stb. Próbáltam a DARABHATÖBB függvénnyel, de ha a kritériummezőnek mindig megadot az adott tartományt és beírom az értékeket akkor ha egy értéknél többet adok, akkor 0 eredményt kapok. A DARABTELI-vel pedig csak egyet tudok számolni. Vagy lehet többet is azzal?
Vagy mivel számoljam meg a sorokat?
Másik: nem vállal valaki szerény juttatás fejében egy két statisztikai számítást megadott táblából? (varianciaanalízis - ANOVA, T-próba, esetleg khi-négyzet.) Van egy táblázat, és próbálok kérdéseket kitalálni amik erre jók lennének de nem jutok egyről kettőre, és a páromnak ez nagyon kellene a suliba. Egyszerűen nem tudom megcsinálni -
Geryson
addikt
A következőben kérném a segítségeteket:
Adott egy tartomány, pl: A1-A10, ebbe írom az árfolyamokat folyamatosan. Van egy képletem, ami most ÁTLAG(A1:A10). Ez a képlet csodálatosan számol, ha a teljes tartomány ki van töltve, de értelemszerű meglehetősen pontatlanul, ha pl. csak A1:A8 tartomány van kitöltve. Hogyan lehetne erre megoldást találni?
Tehát ha csak A1 van kitöltve, akkor ÁTLAG(A1:A1), ha A1 és A2, akkor ÁTLAG (A1:A2)
-
#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. -
#02644736
törölt tag
Az előbb már működött, most valamiért mindig hibát ír ki, pedig nem is nyúltam hozzá. Itt a kód:
Dim Usor As Long
Usor = Sheets("Adatok").Range("B" & Rows.Count).End(xlUp).Row
ComboBox1.List = Sheets("Adatok").Range("B2" & Usor).Value
Az utolsó sort sárgítja be, azzal van valami baja, pedig kb. 10 perce még semmi baja nem volt vele.
Valami invalid array üzenetet ír ki.
-
Delila_1
veterán
válasz
SkizoFreen #20953 üzenetére
A törlés, és az oszlopszélesség egységben írd át az oszlopazonosítókat a saját igényeidnek megfelelőre.
Sub Atszerkesztes()
'Áthelyezés
Columns("G:H").Cut
Columns("D:E").Insert Shift:=xlToRight
'Törlés
Range("M:M,Q:Q,T:T").Delete Shift:=xlToLeft
'Oszlopszélesség
Columns("A:R").EntireColumn.AutoFit
End Sub -
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.
-
#02644736
törölt tag
válasz
Delila_1 #20952 üzenetére
Összesen 11 adatot adok meg a UserForm1-en, azokat akarom bevinni táblázatba a munka1 fülön, aminek fejléce van. Az első és utolsó adat egy egy azonosító, amik nem egyformák (Azon1 pl. 225/VW, ugyanehhez az Azon2 pl.: XY 36/2014
És ahogy írtam, felmerülhet, hogy mivel kimaradt egy rögzítés, ezért olyan Azon1 értéket kell megadjak, ami már szerepelt, ezért rögzítéskör, hogy a példánál maradjak a 225/VW ami már volt és az utánna lévő értékeket meg kell növelni 1-gyel, mert 2 egyforma nem lehet. És ugyanezt meg kell tenni akkor az Azon2-vel is.
A második kérdésre adott válaszodat köszönöm. Ezt a Code ablakba kell beírni ugye, nem lehet a tulajdonság ablakba.
-
SkizoFreen
újonc
Sziasztok!
A következő gond megoldásához kérnék segítséget:
Adott egy .XLS táblázatom. Bizonyos adatokat mentek le SAP rendszerből.
Egy olyan szűrő makróra lenne szükségem, ami:
- Automatikusan törli az általam megadott oszlopokat és sorokat a táblázatból. (sajnos rengeteg adatot tartalmaz a tábla amire nincs szükségem, és elég nehézkes átlátni)
- Továbbá 2 oszlopot át is kellene helyeznie (pl. G és H oszlopokat átrakni D oszlop elé)
- Az oszlopszélességeket ki kellene terjesztenie a bennük lévő szöveg méretéhez
Lehetőség szerint mindezt úgy, hogy egy gomb megnyomására kitallózom a legfrissebb lekérdezést, és a szűrt adatokat egy új lapra illeszti...Hát épp csak ennyi...
Tud valaki segíteni ebben? Esetleg egy hasonló minta ami átírható?Előre is köszi!
-
#02644736
törölt tag
válasz
Delila_1 #20950 üzenetére
Köszi a segítséget, sajnos félreérthetően írtam le lehet. A két azonosítóban lévő szám nem ugyanaz az érték, én mindkettőhöz ugyanazt a számot írtam sajnos példaként.
Még olyan kérdésem van, mert nem találtam rá sehol, hogy van ugyanezen a Userformon egy combobox (ComboBox1), és csak olyan értékmegadást találtam, ahol pl A1:A5, de nekem olyan kellene, ahol változik, mert tudok hozzáadni még értéket. Ebben is tudnál segíteni? (Adatok munkalapon lenne a forrás, A2 cellától lefele)
-
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.
-
#02644736
törölt tag
Sziasztok!
Userformról (UserForm1) szeretnék adatokat bevinni munkalapra, mondjuk munka1-re, ahol az első sorban fejléc van. Az adatoknál az első adat egy azonosító szám (Azon1) (A oszlopba kerülne), és van még egy másik azonosító is (Azon2) (K oszlopba kerülne), és ezeken kívül van még más adat is.
A próblémám az lenne, hogy abba a sorba kéne betennie, amennyi az Azon1 értéke, és előfordulhat, hogy kimarad egy, és azt utólag kell felvinni, tehát pl. volt már egy 345 értékű Azon1, de most újra fel kellene vigyem ugyanezt, és ezért az új felvételt kéne berakni a 345 értékhez, az utánna következő azonosítók értékét ezért meg kellene növelnie a programnak 1-gyel.
Azonban ezket az azonosítókat úgy szeretném már megjeleníteni az excel munkalapon, hogy pl. az Azon1 345/XY az Azon2 pedig Ma 345 /2014 jelenne meg. Azt tudom, hogy ezeket hogyan kell megcsinálni, csak azért írtam le, hogy így is lehetséges e az értékek növelése.Remélem érthetően írtam le a problémámat.
-
Mutt
senior tag
Sziasztok,
Egy másik fórumon jelent meg egy olyan kérés, hogy meg kellene számolni egy oszlopban hogy egymás után hányszor szerepel pozitív illetve negatív szám, és a legtöbb előfordulást kellene megadni. Mindezt segédoszlopok nélkül. VBA megoldás született rá, de itt hadd mutassam be képlettel is.
Pozitív számra ez a képlet (Excel 2010 vagy felette):
=HA(DARABTELI(A:A;">0")=0;0;MAX(GYAKORISÁG(HA(A:A>0;SOR(A:A));HA(A:A<=0;SOR(A:A)))))Negatívra:
=HA(DARABTELI(A:A;"<0")=0;0;MAX(GYAKORISÁG(HA(A:A<0;SOR(A:A));HA(A:A>=0;SOR(A:A)))))Természetesen Ctrl+Shift+Enter-el kell bevinni.
A pozitív számokhoz egy példán keresztül megpróbálom elmagyarázni, hogy működik a képlet.
A képen A-oszlopban az adatok, a C-F oszlopokban pedig a lenti magyarázathoz részeredmények láthatók.
1. A képlet magja a GYAKORISÁG függvény, amely egy halmazból és egy keresési csoportból áll. A függvényről a súgóban lehet olvasni, példát látni. Ha az eredeti számokat adnánk meg, akkor csak azt tudnánk meg, hogy melyik szám hányszor fordul elő, ami most nem jó.
2. A megoldás, hogy a szám helyett a sor számát írjuk ki, annyival megspékelve hogy ha negatív a szám, akkor hibát iratunk (most a leghosszabb pozitív számsort keressük). Ennek a képlete HA(A:A>0;SOR(A:A)) és eredményét a C-oszlopban látjuk. Ez lesz a gyakoriság függvény első fele.
3. A második fele a gyakoriságnak pont az ellentétje a fentinek, tehát ha negtív szám van a cellában akkor a kell a sor száma. A képlet HA(A:A<=0;SOR(A:A)) és eredménye a D-oszlopban van.
4. Most jön a gyakoriság, amely a keresési csoportokat nézi (D-oszlop emlékeztetőül) és onnan csak a számokat veszi figyelembe (a HIÁNYZIK-ot kihagyja) és megszámolja hogy két csoport között az adathalmazban hányszor fordul elő szám.
A könnyebb érthetőség miatt az E-oszlopba beírtam a keresési csoportokat, amelyek számok a D-ből 2 eltéréssel: az első csoport (ami most az 1-et tartalmazza) az valójában kisebb és egyenlő 1 értelmezendő, a másik pedig hogy mindig eggyel több csoportot használ a függvény így a 13 után van még egy nagyobb mint 13 is.
A fentiek alapján a C-oszlopban lévő számokat számolgatja, ezt az F-oszlopban látjátok.
pl. a 6 melletti 4 azt jelenti, hogy 1 (az előző csoport) és 6 között 4 szám a C-oszlopban, vagy pl. 13-nál kettő nagyobb van.
5. Ezek az értékek pedig pont a pozitív számok előfordulását jelentik negatív számok között. Így már csak a maximum kell nekünk innen.
6. A végén a téves visszajelzés miatt - ami akkor lehet ha a listában egyetlen pozitív szám sincsen - van egy figyelés (DARABTELI(A:A;">0")=0) és egyből 0-t írunk.üdv
-
Mutt
senior tag
Hello,
Nem aktuális már, de ezért még jól jöhet.
Sub CreateCsv()
Const sorok = 2000 'ennyi soronként szabdalunk
Const utvonal = "c:\Temp\" 'ide mentunk
Dim FileNum As Integer
Dim DestFile As String
Dim vLastRow As Long
Dim c As Long, i As Long, j As Long
Dim ki As String
Const sep = ";" 'a mezők ezzel lesznek elválasztva
Dim formatum As String
'megnézzük hány sorunk van
vLastRow = Range("A" & Rows.Count).End(xlUp).Row
'egy kis csinosítás a fájlban lévő sorszámra, pl. 1 helyett 01-et írunk majd
formatum = String(Len(WorksheetFunction.RoundUp(vLastRow / sorok, 0) & ""), "0")
'változó hogy tudjuk hanyadik fájlt írjuk
c = 1
'változó hogy tudjuk melyik sorban vagyunk
i = 1
Do
DestFile = utvonal & "test" & Format(c, formatum) & ".csv"
FileNum = FreeFile()
'megnyitjuk írásra a fájlt
Open DestFile For Output As #FileNum
Do While i <= sorok * c And i <= vLastRow
'betesszük egy változóba az aktuális sor celláit, a cellák közé a tagolójelet beszúrjuk
ki = ""
For j = 1 To Cells(i, Columns.Count).End(xlToLeft).Column
ki = ki & Cells(i, j) & sep
Next j
'fájlba tesszük a sor tartalmát tagolójellel
Print #FileNum, Left(ki, Len(ki) - Len(sep))
'következő sorra ugrunk
i = i + 1
Loop
'bezárjuk a fájlt
Close FileNum
i = sorok * c + 1
'új fájlra van szükség
c = c + 1
Loop While i <= vLastRow '
End Subüdv
-
Mutt
senior tag
válasz
alfa20 #20934 üzenetére
Hello,
Olyan makrót tudok készíteni ami megkérdezi melyik oszlop(ok)ból szeretném törölni a nullákat és szépen kitörli?
Ezt tudod használni, csak a kijelölt cellában/oszlopban/sorban töröl:
Sub NullaTorles()
Dim rngTartomany As Range
Dim rngAdatok As Range
On Error GoTo NullaTorles_Error
'kérjük be a tartományt
Set rngTartomany = Application.InputBox("Honnan szeretnéd törőlni a nullákat?", "Választás", , , , , , 8)
'szűkítsük csak a használatban lévő részre
Set rngAdatok = Intersect(rngTartomany, ActiveSheet.UsedRange)
If Not rngAdatok Is Nothing Then
Application.ScreenUpdating = False
rngAdatok.Replace What:="0", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False
Application.ScreenUpdating = True
End If
On Error GoTo 0
Exit Sub
NullaTorles_Error:
MsgBox "Kilépés"
End SubHa további nullákat akarsz keresni, akkor esetleg nézd meg így:
WorksheetFunction.CountIf(ActiveSheet.UsedRange, "=0")üdv
-
pampapamm
újonc
Sziasztok, egy kis segítséget szeretnék kérni. Adott egy összeg, amit sávokra szeretnék lebontani: az összeg 0-13, 13-26 és 26 feletti része, (ezeket külön oszlopokba rendezve) ez hogyan lenne ez megoldható excelben? Köszi szépen!
-
Delila_1
veterán
válasz
m.zmrzlina #20940 üzenetére
Sok szerencsét!
-
Delila_1
veterán
válasz
m.zmrzlina #20938 üzenetére
Igen.
-
Delila_1
veterán
válasz
m.zmrzlina #20936 üzenetére
Teljesen más ötlet.
Egy oszlopba bevinném az időpontokat, a címsorba pedig a dátumokat (nn formátummal, hogy kevés helyet foglaljanak). Lehet fordítva is az idő és dátum elhelyezése. A metszéspontokba 1-es értéket adnék, mikor égett a villany, és semmit, ha nem.
Egy feltételes formázással hátteret adnék az 1-et tartalmazó celláknak, azonos karakterszínnel. Diagram kilőve.A dátumok helyett lehetnek a munkahelyek, vagy amire szükséged van.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina #20935 üzenetére
A feladatot egyébként úgy tudnám leírni, hogy ábrázolni kell egyetlen ábrán hogy pl különböző lámpák mettől meddig vannak felkapcsolt és meddig lekapcsolt állapotban a nap folyamán.
Ha más ötlet van azt is szivesen fogadom.
-
m.zmrzlina
senior tag
Powerpointban küzdök vonaldiagrammal de gondolom a beállítások Excelben sem nagyon mások.
Vízszintes tengelyen idő van ábrázolva (24 óra) 15 perces felbontásban. A függőleges tengelyen egytől x-ig egész számok. Minden grafikon két értéket vehet fel a nullát és a grafikon sorszámát. Tehát az első grafikon 0-1 értékekből áll a második 0-2 az x-edik 0-x-ből)
Kérdés: hogyan állítsam be a grafikont, hogy minden vonal csak a 0-tól eltérő értékeket ábrázolja, magyarul ott ahol az érték nulla ott ne látsszon a grafikon vonala.
Valami olyasmire lenne szükségem mint az árfolyamdiagram csak megfordított tengelyekkel, azaz vízszintes vonalakkal.
-
alfa20
senior tag
sziasztok,
Olyan makrót tudok készíteni ami megkérdezi melyik oszlop(ok)ból szeretném törölni a nullákat és szépen kitörli?
A törlésre a makrót létrehoztam, de azt nem tudom, hogy esetleg lehetne egy felugró ablak ami megkérdi az oszlop nevét és azt teszi a megfelelő helyre
pl.:felugró üzen:
Adja meg az oszlopot: "textszöveg"makróban meg ezekbe a sokrokba be teszi a megadott oszlopot:
$oszlp = "textszöveg"
Columns("$oszlp:$oszlp").Select
ActiveSheet.Range("$oszlp" & "I1":$oszlp" & usor).AutoFilter Field:=1, Criteria1:="0"
Range("$oszlp" & "I3").Selectnem próbáltam de biztos nem ilyen egyszerű, meg ilyen felugró ablakokat nem sokat késztetem még.
esetleg a végén egy yes/no ablak, ami megkérdezni van e még oszlop, az igennel vissza menne a makró elejére a nem-re meg Sub End. de ez azt hiszem már nekem is menne
csere makróm:
Sub nulla_csere()
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
Columns("I:I").Select
Selection.AutoFilter
ActiveSheet.Range("I1:I" & usor).AutoFilter Field:=1, Criteria1:="0"
Range("I3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Selection.AutoFilter
Range("A1").Select
End Sub -
gyga
senior tag
-
Delila_1
veterán
válasz
LordVader80 #20931 üzenetére
Szívesen.
-
Delila_1
veterán
válasz
LordVader80 #20928 üzenetére
Az FKERES függvényt alkalmazd.
-
Delila_1
veterán
válasz
Prosectura2 #20926 üzenetére
A D14 cella képlete egy relatív hivatkozás. Azt tartalmazza, hogy a függvény adja össze a tőle 1 oszloppal balra lévő adatokat a 6 sorral fentebb kezdődő sortól a cellával azonos sorig.
Ha csak ezt a képletet másolod a D21-be, ott a 6 sorral fentebbi a 15. sor, a vele azonos a 21, C15:C21 lesz a képlet hivatkozása. Megtehetnéd, hogy mindig csak az összegző képletet másolnád a megfelelő sorokba, akkor is ezt az eredményt kapnád.
Egyszerűbb azonban az üres, képleteket nem tartalmazó cellákkal együtt másolni. Az egyszerűségen kívül biztosabb is a helyes eredmény. Az üres cellák biztosítják a megfelelő távolságot, nem kerül véletlenül feljebb, vagy lejjebb 1-1 képlet, ami ráadásul átfedést, hamis értékeket eredményezne az összegzéseknél.
-
LordVader80
őstag
Sziasztok!
Hogyan tudom azt megcsinálni, hogy az A oszlop cellájában engedélyezett adatot ha kiválasztok (lenyíló listából), akkor mellette a B oszlopban a "hozzá tartozó" adatot írja ki a program?
Az A oszlop adatait egy másik fül A oszlopa tartalmazza, mellette B oszlopban a hozzá tartozó adatok, tehát ide lehetne hivatkozni valahogy.
-
bandi0000
nagyúr
az a lényeg, hogy vannak korkedvezmények, meg van minden embernek a kora, és van egy táblázat, azt tudom hogy felveszek egy segédtáblát, ott leírom a határokat hogy 0-100%;6-33%;26-0%;65-100% és a megoldásban erre valami hivatkozást csinálhatott, vagy valami, mert így néz ki a képlete: =FKERES(C27;kor_kedvezmény;2)
és ezt a bizonyos kor_kedvezményt nem tudom hova rakni
-
Delila_1
veterán
válasz
Prosectura2 #20924 üzenetére
-
Prosectura2
tag
válasz
Delila_1 #20923 üzenetére
Na még egyszer, hátha így olvasható lesz:
Sziasztok!
Van egy oszlopban 365 adatom (igen, az év egy-egy napjához tartoznak)
Ezt szeretném hetenként összeadni/átlagolni, stb.
Az elején van egy töredék hét - ugye az év nem pont hétfőn kezdődik - szum(C3:C7)
Aztán jön az első hét - szum(BC:C14)
Beírtam a harmadikat is, hogy meglegyen a trend - mindig a következő 7 cellában levő értékeket kellene igazából összeadnia - szum(C15:C21)
Ha ezután lehúzom a sort, nem azt kapom, amit várok - szum(C22:C28);szum(C29:C35)...
Hanem ezt:
szum(C10:C16)
szum(C17:C23)
szum(C12:C18)
szum(C19:C25)
Mit csinálok rosszul, illetve meg lehet-e egyáltalán így oldani?
KösziAz összegzést egy másik lapon készíteném el, ahol egymás alatt vannak az egyes hetekhez kapcsolódó értékek.
-
Delila_1
veterán
válasz
Prosectura2 #20921 üzenetére
Gondolom, a D oszlopba írtad az összegzéseket, a szum(C8:C14) a D14-es cellában van.
Jelöld ki a D8:D14 tartományt, és ezt húzd le. Így az üres cellákat is másolod, a képletek jó helyre kerülnek.Nem lesznek tapsikoló figurák, ha a Konvertálatlan opciót alkalmazod.
-
Prosectura2
tag
válasz
Prosectura2 #20921 üzenetére
Hülye smiley-k hogy tűnnek el???
-
Prosectura2
tag
Sziasztok!
Van egy oszlopban 365 adatom (igen, az év egy-egy napjához tartoznak)
Ezt szeretném hetenként összeadni/átlagolni, stb.Az elején van egy töredék hét - ugye az év nem pont hétfőn kezdődik - szum(B3
7)
Aztán jön az első hét - szum(B814)
Beírtam a harmadikat is, hogy meglegyen a trend - mindig a következő 7 cellában levő értékeket kellene igazából összeadni - szum(B1521)
Ha ezután lehúzom a sort, nem azt kapom, amit várok - szum(B2228);szum(B29
35)...
Hanem ezt:
szum(B1016)
szum(B17-B23)
szum(B12-B18)
szum(B19-B25)Mit csinálok rosszul, illetve meg lehet-e egyáltalán így oldani?
Köszi
-
bandi0000
nagyúr
na Jó estét!
Lenne egy amatőr kérdésem itt vannak az érettségi feladatok, Excellel lett gondom, tehát a lényeg hogy ki kellene számolni a kedvezményt egy megadott lista alapján, viszont nem jövök rá hogy kell, a megoldásban megnéztem a képletet de nem tudom, hogy mit mivel csinált, szám szerint a 3. feladat
-
dellfanboy
őstag
válasz
dellfanboy #20912 üzenetére
megvan :
adatok-érvényesítés -
dellfanboy
őstag
köszi a szumha-s segítség sokat segített.
más tudtok abban segíteni, hogy kell létrehozni lenyíló nyilakat/opcionális választást?
az alábbit akarom a1cellában 5 értéket lehet kiválasztani (szöveg) ami mellé dedikáltan van x érték mögöttepl. ha pirosat választja ki akkor 5 az érték ha kéket akkor 22 stb.
mind konstans 5 választható érték van csak.előre is köszi
-
lappy
őstag
válasz
dellfanboy #20908 üzenetére
szia!
ez jó de nekem a tartományt valamiért nem veszi be =SZUMHA(A1:A3;FKERES(D5;A1:C3;1;0);B1:C3) -
#02644736
törölt tag
Sziasztok!
Az hogyan oldható meg, hogy van egy cellám, ami legördülő lista, és azt szeretném, hogy ne lehessen kitörölni, de azért a listából tudjanak választani.
-
gyga
senior tag
üdv
van ez a kis kódom. ez megakadályozza a mentést és csak a mentést engedi.
1. tovább kellene fejleszteni hogy a másként mentett táblát már lehessen normálisan menteni.
'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'If SaveAsUI = False Then
' Cancel = True
' MsgBox "You cannot save this workbook. Use Save As"
'End If
'End Sub
-
dellfanboy
őstag
fkerest, hogy kell úgy kiegészíteni, hogy szummázza a sorokat?
tehát van egy táblám ahol van ezer sor és kb 10 kategória
az tök egyértelmű hogy ha ezer kategóriám lenne akkor fkeressel hogy kellene megkeresni az értékeket de én
én egy olyan fkerest keresek ahol ezt a 10 kategóriát szummázva kidobna.
tudtok erre egy jó fv-t? vagy mivel egészítsem ki az fkerest? -
csferke
senior tag
A C oszlop adataiból van egy diagramom, havi lebontásban a következő tartományok.
=$C$2:$C$8
=$C$9:$C$15
=$C$16:$C$22Hogyan lehet automatikusan bővíteni a diagramot az új tartomány adataival amikor új évet adok hozzá? =$C$23:$C$29
=$C$30:$C$36.....köszi
-
Jumbo
tag
Sziasztok!
A következő jelenség ütötte fel a fejét eddig csak egy, mostmár több excel táblázatomban is:
pl. egy oszlopban lévő számokat pár sor után szummázza egy képlet, ha átírok egy számot, vagy üres mezőbe írok be egy számot, enter ütés után nem számolja át a szumma értéket, csak ha rámentek. Hasonló egy másik táblában: vízszintesen pár cella össze van szorozva, ha a képletet függőlegesen húzom lefelé, nem átszámítódnak az egyes sorok szorzatai, hanem a lemásolt cella értékeit látom, szintén csak mentés után frissülnek a képletek. Nem mindegyik táblázatban csinál így, van ahol frissül, .xls és .xlsx-nél is jelen van.Hol és mit kellene beállítanom?
Előre is köszönöm!
Üdv!
Jumbo
-
krisztianAMG
senior tag
Sziasztok!
Tud az Excel komplex számokkal számolni?
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! Microsoft XBOX One S 1TB lemezes játékkonzol garanciával hibátlan működéssel
- AKCIÓ! Gigabyte H510M i5 10400F 16GB DDR4 512GB SSD GTX 1080Ti 11GB Rampage SHIVA Zalman 600W
- iKing.Hu - Apple iPhone 14 Plus - Yellow - Használt, karcmentes
- VÉGKIÁRUSÍTÁS - REFURBISHED - HP Elite / ZBook Thunderbolt 3 docking station
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 1TB SSD Radeon Pro 5500M garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged