-
GAMEPOD.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.
Új hozzászólás Aktív témák
-
Mutt
aktív tag
válasz alfa20 #19042 üzenetére
Hello,
Több feltételes keresésre az alábbi megoldások műkődnek (A és B-oszlopokban a kulcsmezők, C-ben pedig a visszatérési érték:
1. SZORZATÖSSZEG (SUMPRODUCT).
Ha számot akarsz visszakapni, akkor az alábbi formátumban tudod használni.
=SZORZATÖSSZEG(--(A:A=feltetel1);--(B:B=feltétel2);C:C)Ha szöveget, akkor pedig használd így:
=INDEX(C:C;SZORZATÖSSZEG((A:A=feltetel1)*(B:B=feltetel2)*SOR(C:C)))2. KERES (LOOKUP)
=KERES(2;1/(A:A=feltetel1)/(B:B=feltetel2);C:C)3. HOL.VAN (MATCH)
Ez egy tömb függvény, vagyis kapcsos zárójelek nélkül kell bevinni és a bevitel végén Ctrl+Shift+Enter-t kell nyomni.
{=INDEX(C:C;HOL.VAN(feltetel1&feltetel2;A:A&B:B;0))}üdv.
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
alfa20
senior tag
köszi, de sajnos nem sikerül össze hoznom,
Van ugye két táblázatom:
Az elsőből kellene az adatokat összekeresni a másodikba, úgy ahogy a példa táblában is van,
csak persze az lenne jó ha nem kellene az első táblázatban az "A" oszlopot beszúrni és egy egyedi azonosítót létrehozni."Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
Mutt
aktív tag
válasz dudikpal #19052 üzenetére
Hello,
A lenti példára ezt a képletet tudom javasolni:
=HAHIBA(INDEX($A$1:$A$14;ÖSSZESÍT(15;6;SOR($B$1:$B$14)/(($B$1:$B$14=E$1)*($C$1:$C$14=E$2));SOROK($E$3:$E3)));"")Az alábbi elven megy:
A képlet magja a ($B$1:$B$14=E$1)*($C$1:$C$14=E$2) rész, amely a B és C-oszlopokban lévő értékeket hasonlítja össze E1 és E2-ben lévő fix értékkel, és IGAZ vagy HAMIS értékeket add vissza ott ahol vagy van vagy nincs találat. Ha logikai változókat szorzunk össze, akkor pedig 1 és 0 lesz az érték Excelben. "a" és "b" értékre keresve tehát ezt kapjuk vissza: {1;1;1;1;1;1;0;0;0;0;0;0;0;0}
Ezek alapján tudjuk hogy mely esetekben vannak találatok, most már csak a helyük kérdéses. Ehhez jön a képbe a SOR($B$1:$B$14) rész, ez ugye ilyet ad vissza alapból: {1;2;3;4;5;6;7;8;9;10;11;12;13;14}
Ha ezt elosztjuk azzal az eredménnyel, amellyet korábban megkaptunk - amely megmondja hogy hol van a feltételeknek megfelelő egyezés - akkor kapunk egy olyan halmazt amelyben számok (1-el való osztás eredményeként) és hibák (0-val való osztás) lesznek. A SOR($B$1:$B$14)/(($B$1:$B$14=E$1)*($C$1:$C$14=E$2)) eredménye ez lesz: {1;2;3;4;5;6;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!;#ZÉRÓOSZTÓ!}Most már tudjuk, hogy melyik sorban vannak a nekünk szükséges értékek már csak sorban ki kell venni őket. Erre a KICSI(halmaz;hanyadik elem) függvény az ideális, de az csak akkor műkődik ha a halmaz nem tartalmaz hibát, nekünk pedig van egy csomó #ZÉRŐOSZTÓ! hibánk benne így ez nem járható (CSE-vel megoldható lenne). Az ÖSSZESÍT egy olyan függvény, amely képes "meghívni" egyéb függvényeket és kezeli a hibákat is. Az ÖSSZESÍT(15;6;halmaz;hanyadik elem) ugyanaz mint a KICSI(halmaz; hanyadik elem) és közben kezeli a hibákat (az első paraméter a 15-ös jelenti a KICSI-t, a második pedig hibakezelést).
Már csak azt kell megadnunk, hogy sorban az első, második, harmadik stb. elemet adja vissza a képlet.
Ilyet sokféleképpen lehet előállítani, én gyakran ezt használom: SOROK(induló cella fixen;futó cella).
Példánkban: SOROK($E$3:$E3), ez 1-et fog visszaadni, de ha lemásoljuk akkor már SOROK($E$3:$E4) lesz belőle és 2-es lesz az értéke.Ezek alapján az ÖSSZESÍT képlet teljesen így néz ki: ÖSSZESÍT(15;6;SOR($B$1:$B$14)/(($B$1:$B$14=E$1)*($C$1:$C$14=E$2));SOROK($E$3:$E3))) és az eredménye 1-es lesz mivel pont az első találat kell nekünk, amely az első sorban van.
Meg van a sorszám már csak ki kell iratni, ehhez az INDEX(tömb;sorszám) képletet lehet használni.
A végén egy HAHIBA függvénybe zárva az egészet eltüntethetűk az esetleges hibák.üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz alfa20 #19053 üzenetére
Szia,
Nem jó képletet használsz, FKERES-el nem fog menni.
H3-ban ez a képlet legyen (csak 100 sort néz a képlet):
=SZORZATÖSSZEG(--($B$3:$B$100=F3);--($C$3:$C$100=G3);$D$3:$D$100)Vagy ez a CSE függvény:
{=INDEX($D$3:$D$100;HOL.VAN(F3&G3;$B$3:$B$100&$C$3:$C$100;0))}Vagy simán KERES-el:
=KERES(2;1/($B$3:$B$100=F3)/($C$3:$C$100=G3);$D$3:$D$100)üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz dudikpal #19057 üzenetére
Hello,
Én néztem be, mivel jól írtad le a kérést.
Az eredeti probléma megoldásához az INDEX függvény kell, amelynek a képlete INDEX(tartomány;kívánt sor száma).
Röviden ezek a képletek működnek 2007 vagy újabb Excelben:
A1-be:
=HAHIBA(INDEX(VÁLASZT(ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))+1;E:E;F:F;G:G);DARABHATÖBB(B$1:B1;B1;C$1:C1;C1)+2);"")B1-be:
=HAHIBA(INDEX($E$1:$G$1;ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))+1);"")C1-be:
=HAHIBA(INDEX($E$2:$G$2;ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))+1);"")Felraktam mindkét változtatot ide.
Hosszabban:
Az INDEX-nél nem a tartománnyal van gond igazán, hanem hogy mindig a szükséges sort adja vissza a tartományból. Itt tehát ennek a képlete a kulcs, hiszen a példádon is látható hogy először 1-től 6-ig kell egy sorszámot visszadni, majd után 1 és 3 és végül 1 és 5 között kell nekünk egy szám.Na erre a problémára ezt a képletet alkottam:
ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))Hozzáteszem, hogy természetesen van egyszerűbb változat is (HA függvények egymásba ágyazása), de annak bővíthetősége nehézkes.
A fenti képlet valójában 3x ugyanaz, nézzük egy példán:
ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))A függvény 3 értéket adhat vissza (-1;0;1) attól függően, hogy az éppen vizsgált sor száma (SOR függvény) az E:F tartományban lévő számokat tartalmazó cellák számánál több-e vagy kevesebb vagy egyenlő.
Konkrétan: ha az 5-ös sorban vagyunk, akkor 0-t fogunk kapni (=(5-1)/9), ami azt jelenti hogy az E:F oszlopokból elég választanunk cellát, mivel abban 9 van de nekünk ebből a 9-ből csak az 5 kell.
Ha a 14-es sorban vagyunk akkor pedig 1 lesz, az érték ami azt jelenti hogy nem az E:F oszlopokban van a keresett cella.A 3 db előjeles képlet csak a DARAB függvény paraméterében változik, az elsőben csak az E-oszlopokat nézzük, a másodikban már az E:F oszlopokat és a harmadikban már az E:G oszlopokat. Mindegyik rész 0-t vagy 1-et fog visszadni a fentiek szerint, de példánál maradva az első 6 sorra 0-t kapunk, 7-9-es sorokra 1-et, 10-14-es sorokra 2-öt, felette pedig 3-at.
Ezzel a függvénnyel a neheze már meg is van, de nézzük meg a többit.
Kezdem a B-oszlophoz tartozóval, mert ez az egyszerűbb.
Itt semmi más nem kell mint az E1:G1 tartományból kiírni vagy az első vagy a második vagy a harmadik értéket. A kulcs függvényünk pont erre lett kifejlesztve, így a képlet gyorsan meg is van:=INDEX($E$1:$G$1;ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))+1)
A C-oszlophoz ugyanez a logika kell csak ott E2:G2 tartományból kell kivenni az értéket, a képlet csak ebben változik.
Az A-oszlop ezek után már könnyedebb dolog lesz, de itt az a gond hogy eleinte E-oszlopból kell érték, majd F-ből és később G-ből. Itt az a megoldásom, hogy a VÁLASZT függvényt használjuk. Amelynek a szintaxisa: VÁLASZT(index szám;érték1;érték2.....).
Egy példán keresztül: VÁLASZT(2;"Férfi";"Nő";"Ismeretlen") eredménye "Nő" lesz mivel a második értéket kértük vissza a függvénytől.
A kulcs függvényünk pont egy sorszámot ad vissza - valójában egyet hozzá kell adnom, mert a tömb nem a nulladik hanem az első elemmel indul -, vagyis először E:E oszlop kell nekünk, majd F és végül G:G. Ezek alapján a
VÁLASZT(ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))+1;E:E;F:F;G:G)
attól függően, hogy melyik sorban vagyunk E:E; F vagy G:G-t fog visszadni, amit az INDEX függvényben azonnal fel is tudunk használni.Az INDEX-nek azonban kell egy sorszám hogy hanyadik értéket kell a bemeneti tartományból visszadni. Erre kell egy újabb képlet. Itt a DARABHATÖBB-et használtam (Excel 2007 alatt SZORZATÖSSZEG segít).
Egyszerűen megszámolom az aktuális sorban hogy mellette a B és C-oszlopban szereplő értékek hányszor szerepeltek. A példára visszatérve pl. az első sorban az "a" és a "b" először szerepel, így E-oszlopból az első szám kell, a 4-ik sorban pedig már 4x szerepel így 4. szám kell az E-oszlopból.
A képlet így néz ki: DARABHATÖBB(B$1:B1;B1;C$1:C1;C1)
Itt fontos, hogy mindegyik esetben a tartomány első fele fixen van rögzítve a második pedig fut!Megis vagyunk mert tudjuk a tartományt és hogy hanyadikelem - itt kettőt hozzáadtam mert az első kettőt figyelmen kívül kell hagynunk - kell belőle. A képlet vagyis ez lesz:
INDEX(VÁLASZT(ELŐJEL(INT((SOR()-1)/DARAB($E:$E)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$F)))+ELŐJEL(INT((SOR()-1)/DARAB($E:$G)))+1;E:E;F:F;G:G);DARABHATÖBB(B$1:B1;B1;C$1:C1;C1)+2)Ezzel vége is, persze egy kis HAHIBA függvénnyel kozmetikáztam.
üdv.
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Pá
addikt
Sziasztok!
Excel 2003-at használunk a munkahelyemen és van két hotkey kombináció, amik nélkül már el sem tudnám képzelni a munkámat.
ALT + T + G --> goal seek
ALT + E + S --> paste specialTényleg nagyon gyakran használom ezeket. Gyakran van, hogy kb 2 perces időtartam alatt akár 20-30x, szóval gyakorlatilag folyamatosan.
A gond az, hogy a cég most fog váltani office 2010-re, ahol ha jól tudom ezek a kombinációk nem, vagy másképp működnek. Kérdésem, hogy lehet megoldani, hogy ezeket tudjam továbbra is használni excelben? Sajnos a gyári hotkey nem az igazi, 3 gombot is kell nyomni hozzá és annyira nem is esik kézre. Akár makró vagy külső script is jöhet, bármilyen megodlás érdekel.
''Annyira vagyunk egészségesek, amennyire a gondolataink humánusak.''
-
81lendo$
csendes tag
Sziasztok!
Van egy Excel-es problémám.
kezdés
első gomb megynyomását követve: a munkalapokat(sheets) felsorolja Listboxba
kijelölöm ki kellene.
és jönne a következő gomb...
Abban kellene segíteni azt leprogramozni.
Ezeket kell elvégeznie ennek a gombnak:
-egy új Excel file-ba ki kéne írni a Listboxban kijelölt munkalap neveket.
-és a nevek mellé (az új Workbook-ba) kellene még 3 cella adatait beírni arról a munkalapról amit kijelöltünk.
($E$2 és $K$27 és $K$28)Minden segítségnek örülök!
-
terencehIII
tag
válasz kopogo #19038 üzenetére
Hi!
ezzel a módszerrel azt is meglehet csinálni ha például A oszlopba azok közül lehet választanihogy:
(alma ,körte,autó) és azt választom hogy alma: akkor a mellette lévő cellában azok közül lehessen választani: hogy piros vagy zöld, illetve ha a másik kettőt közül választok akkor szintén másik 2 lehetőség közül választhassak? -
Sprite75
tag
Sziasztok
A következő lenne a gondom amivel nem boldogulok.Az M8 tól kezdődően lefelé ki kellene számoltatnom a havi futott Km-eket.
Összesen kb 30 járműről lenne szó és mindegyiknek így néz ki a munkalapja.
Valahogyan a hónapok száma alapján kellene az adott hónap utolsó tankolási Km-ét kivonni az előző hónap utolsó tankolási Km-éből. Csakhogy a havi tankolások darabszám, vagyis az egy hónaphoz tartozó sorok száma mindig változó, ahogy a képen is látszik.
Ennél az autónál pl a 7. havi futott km a D19-D16, a 6. havi km D16-D14, az 5. havi D14-D9 stb.Az átlagfogyasztás átlagha, a tankolt mennyiség szumha függvénnyel { =SZUMHA($G:$G;J8;$E:$E) } van megcsinálva. De ezzel a futott Km-es dologgal nem boldogulok.
Előre is köszi a szegítséget[ Szerkesztve ]
-
Sprite75
tag
válasz Sprite75 #19062 üzenetére
Valami megoldásfélét találtam, bár nem teljesen jó:
{=MAX(HA($G:$G=J14;$D:$D))-(M8+M9+M10+M11+M13+M12+$K$2)}A havi legnagyobb km-ra állásból kivonja ez előző havi értékeket minusz az előző évi záró km-óra állást.
Ez majdnem jó megoldás akkor ha van minden hónapban tankolás, de pl ennél az autónál is a februárnál minusz érték jönne ki ha a semmiből kivonja a januári futott km-ert. Ja és még azoknál a hónapoknál is hülyeséget számol ami még hátra van az évből. (8,9,10,11,12 hó)Szóval finomítani kellene a dolgon, vagy ha valakinek teljesen más ötlete van azt is szívesen fogadom
-
Sprite75
tag
válasz Sprite75 #19063 üzenetére
Bonyolítás
{=HA(MAX(HA($G:$G=J14;$D:$D))=0;0;MAX(HA($G:$G=J14;$D:$D))-(M8+M9+M10+M11+M13+M12+$K$2))}
Ha a D oszlop vizsgálatának eredménye 0 mert nincs abban a hónapban tankolás akkor az adott hónap cellaértéke 0 egyébként pedig elvégzi az előbbiekben leírtakat.
Kicsit hosszú a képlet de működik -
Caipi
tag
válasz terencehIII #19061 üzenetére
-
psg5
veterán
Sziasztok!
Segítséget szeretnék kérni.
Wxcelben keresem a függvényt arra, hogy adott egy összeg, mely 10 számból adódik össze és szeretném megkapni minden szám esetében, hogy a teljes összegnek hány százalékát teszik ki külön-külön.
Melyik ez a függvény?F.K.T.
-
-
Mutt
aktív tag
válasz Sprite75 #19062 üzenetére
Hello,
...a hónapok száma alapján kellene az adott hónap utolsó tankolási Km-ét kivonni az előző hónap utolsó tankolási Km-éből....
Ez az én képletem az M8-as cellába:
=(HAHIBA(INDEX(D:D;ÖSSZESÍT(14;6;SOR($G$2:$G$19)/($G$2:$G$19=J8);1));0)-HA(J8=1;$K$2;HAHIBA(INDEX(D:D;ÖSSZESÍT(14;6;SOR($G$2:$G$19)/($G$2:$G$19=J8-1);1));0)))*SZÁM(HOL.VAN(J8;G:G;0))*SZÁM(HA(J8=1;1;HOL.VAN(J8-1;G:G;0)))A működése:
1. ÖSSZESÍT(14;6;SOR($G$2:$G$19)/($G$2:$G$19=J8);1)) kikeresi a hónap utolsó km sorának számát. pl. Április hónapnál 9-es sor.
Az ÖSSZESÍT ezen felhasználását itt mutattam be, de ugyanerre juthatunk ezen képletekkel is,:
=SZORZATÖSSZEG(MAX(($G:$G=J8)*SOR($G:$G)))
{=MAX(HA((G:G=J8);SOR(G:G);0))}2. Ezt a sorszámot felhasználva INDEX függvénnyel kiolvassuk a D-oszlopból az értéket. Áprilisban ez 45205 lesz.
3. Az egészet becsomagoljuk egy HAHIBA-ba, ahol hiba esetén 0-t kérünk vissza.
4. Az első három lépést ugyanúgy lejátszuk, de eggyel korábbi hónappal (ugyanaz a képlet csak J8 helyett J8-1 -et használunk). pl. Március esetén az érték 43444 lesz.
5. Itt még figyelembevesszük, hogy január esetén az előző évi óraállás kell K2-ből; ezt a HA(J8=1;K2;....) rész csinálja.
6. A két számot kivonjuk egymásból. pl. 45205-43444=1761Kész is lennénk, ha minden hónapban és megelőző hónapban lenne érték, de ez nem garantált.
7. Megnézzük, hogy a vizsgált hónap száma G oszlopban megtalálható-e a HOL.VAN függvénnyel. Ez egy számot add vissza ha ott van a keresett hónap. A SZÁM függvény tehát vagy IGAZ vagy HAMIS-ra fordítja le az eredményt.
8. Ugyanezt megcsináljuk a megelőző hónapra, de itt még figyelünk arra hogy január előtti hónap is kezelve legyen.
9. A 6-os lépésben kapott számot megszorozzuk a 7 és 8-as eredménnyel. pl. 1761*1*1=1761Március esetén a számok így jönnek ki:
Március végi eredmény: 43444
Február végi eredmény: 0 (mivel hibára fut a függvény és ekkor 0-t kapunk vissza).
Március bent van a G oszlopban: IGAZ (1)
Február bent van a G oszlopban: HAMIS (0)
Az eredmény: (43444-0)*1*0 = 0üdv.
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Sprite75
tag
Nekem ez magas mint malacnak a zsiráfvályú.
Beraktam az M8 ba majd másoltam lefelé. Valami hiba lehet benne mert a márciushoz a M10-be nem ír semmit, viszont az utána következő hónapokat jól számolja.Közben Delila_1 -től kaptam egy ilyet privátban és ez jól működik.
M8
=HAHIBA(HA(DARABTELI(G:G;J8)>1;INDEX(D:G;HOL.VAN(J8;G:G;1);1)-K2;INDEX(D:G;HOL.VAN(J8;G:G;0);1)-INDEX(D:G;HOL.VAN(J7;G:G);1));"")
M9-től pedig
=HAHIBA(HA(DARABTELI(G:G;J9)>1;INDEX(D:G;HOL.VAN(J9;G:G;1);1)-INDEX(D:G;HOL.VAN(J8;G:G;1);1);INDEX(D:G;HOL.VAN(J9;G:G;0);1)-INDEX(D:G;HOL.VAN(J8;G:G);1));"")
A kettő közül egyiknek a működését sem értem teljesen de azért a segítséget köszönöm.
-
81lendo$
csendes tag
Szuper valami hasonlóra gondoltam.
Pár férdésem még lenne, ha lehet.
- Ugye én nem formon, hanem Munkalapon csináltam, de elvileg ott is működik ez a megoldás?
- Ilyenkor amikor konkrét cellát viszel át egy másik fájlba, akkor fomátuma is átmegy. (pl.: pénznem [Forint], [Euro])?
- El tudnád küldeni, a kódját, az "ExportList" gombnak?
Előre is köszönöm a segítségedet!Üdv: Gábor
-
Delila_1
Topikgazda
válasz Sprite75 #19074 üzenetére
Sokkal egyszerűbben M8-ba:
=HA(DARABTELI(G:G;J8)=0;0;INDEX(D:G;HOL.VAN(J8;G:G;1);1)-K2)
M9-től:
=HA(DARABTELI(G:G;J9)=0;0;INDEX(D:G;HOL.VAN(J9;G:G;1);1)-INDEX(D:G;HOL.VAN(J8;G:G;1);1))
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Agostino
addikt
sziasztok
fkeres függvénnyel szenvedek. adott az oszlop amiben ott a keresési érték, ez egy irányítószám jelen esetben. lehúzom a listán, azt mondja mindegyik értékre hogy #hiányzik. amint viszont megszerkesztem a keresési érték celláját, rányomok egy F2-t, egyszerre jó a függvény és berántja a keresett értéket. namost ezt kb 100k sornál macerás. a sorok általános formában vannak tehát nem egészen világos ez nekem...
hey friend listen, i know the world is scary right now but its gonna get way worse
-
Agostino
addikt
üdv
mind a kettő oszolpot átraktam számformátumra, semmi sem változott, továbbra is azt mondja, #hiányzik. viszont amint szerkeszteni akarom, tehát bele sem nyúlok, csak nyomok az adott cellán egy F2-t, megjavul. azt vettem észre viszont képletszerkesztőben a jó szám önmagában áll, míg ami nem megfelelő, idézőjelbe van téve.
hey friend listen, i know the world is scary right now but its gonna get way worse
-
Mutt
aktív tag
válasz Sprite75 #19074 üzenetére
Hello,
Nem egyszerű a képlet, így nem kell érteni azonnal, ezért próbáltam meg levezetni. A lényeg, hogy lásd máshogy is el lehet érni, és hogy lehessen ötletet meríteni belőle.
1 hiba van benne: fixen $G$2:$G$19-re hivatkozom, mert ennyi adat volt, helyette G:G hivatkozás kell, de mivel van már más megoldás nem kell ezzel foglalkoznod..
Márciusra azért nem ad értéket, mert február hónapban nem volt kilóméteróra-állás rögzítve.Így nem tudja mihez viszonyítson. Ezért van a levezetésemben a 7 és 8-as pont, ilyenkor 0-t ad vissza.
A lényeg, hogy neked működő képletet tudott a közösség adni.
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz 81lendo$ #19077 üzenetére
Szia,
...El tudnád küldeni, a kódját, az "ExportList" gombnak?
Nincs jelszavazva, Alt+F11-el te is megtudod nézni alaposan, a kód részlet pedig ez:Private Sub bExportList_Click()
Dim i As Integer
Dim vHits As Integer
Dim arryHits()
Dim wsCel As Workbook
'találatok száma
vHits = 0
'végigmegyünk a lista elemein
For i = 0 To lbList.ListCount - 1
'amely ki van jelölve azt egy találati tömbbe tesszük
If lbList.Selected(i) Then
'találatok számát növeljük
vHits = vHits + 1
'a találati tömböt átméretezzük hogy fogadja az új elemet
ReDim Preserve arryHits(1 To vHits)
'betöltjük az új elemet
arryHits(vHits) = lbList.List(i)
End If
Next i
If vHits Then
'új fájl létrehozása
Set wsCel = Workbooks.Add
wsCel.Sheets(1).Range("A1") = "Munkalap neve"
For i = 1 To vHits
'kért adatok kiiratása
wsCel.Sheets(1).Cells(i + 1, "A") = arryHits(i)
wsCel.Sheets(1).Cells(i + 1, "B") = ThisWorkbook.Sheets(arryHits(i)).Range("E2")
wsCel.Sheets(1).Cells(i + 1, "C") = ThisWorkbook.Sheets(arryHits(i)).Range("K27")
wsCel.Sheets(1).Cells(i + 1, "D") = ThisWorkbook.Sheets(arryHits(i)).Range("K28")
Next i
End If
'form bezárása
Unload Me
End Sub...- Ilyenkor amikor konkrét cellát viszel át egy másik fájlba, akkor fomátuma is átmegy. (pl.: pénznem [Forint], [Euro])?
A sima Copy nem viszi át VBA-ban, így nekem sem fogja a formázást másolni, de természetesen meg lehet csinálni (PasteSpecial).
...- Ugye én nem formon, hanem Munkalapon csináltam, de elvileg ott is működik ez a megoldás?
Ha ActiveX vezérlőket használsz a lapon, akkor műkődhet. A gond azonban, hogy ezek a vezérlők egymástől függetlenül fognak létezni, ezért globális változók kellenek az adatok cseréjéhez.üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz Agostino #19083 üzenetére
Nem elég számformára állítani az oszlopot, attól még szöveg típusúak az értékeid. Sajnos így működik az Excel.
Viszont egyszerű kijavítani.
Beírsz valahova, egy üres cellába egy egyest. Ctrl+c-vel másolod, kijelölöd az átalakítandó tartományt. Jobb klikk, Irányított beillesztés, Szorzás, OK.A szorzástól számmá alakulnak az értékeid, az egyest kitörölheted.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
the radish
senior tag
Sziasztok!
Van egy képlet, amiben a kritériumként szereplő "5"-t szeretném egy cellaértékkel módosítani. Pl. legyen az A1 cellában szereplő érték.
=SZUMHA(H15:H31;"<5";I15:I31)Ezt hogy tudnám megoldani?
-
the radish
senior tag
válasz the radish #19090 üzenetére
Köszi, régen tudtam és meg is találtam, már nem aktuális.
-
the radish
senior tag
Újra elakadtam
Van egy adatbázis, mely jelenleg így van szűrve:
Sheets("Filter").Select
ActiveSheet.Range("$A$1:$C$5001").AutoFilter Field:=3, Criteria1:= _
">=0:00:45", Operator:=xlAnd, Criteria2:="<=0:02"
Szeretném Criteria1-nek a Munka1 lap A1, míg Criteria2-nek a Munka1 lap B2 celláját megadni. (Mindkettő idő formátumú.)
Sajnos nem értek hozzá, így van valakinek türelme leírni, hogy mit illesszek be a makróba?Előre is köszönöm.
-
Delila_1
Topikgazda
válasz the radish #19092 üzenetére
A Munka1 lap A1 cellájába írd be idézőjelek nélkül a >=0:00:45 szöveget, a Munka2 lap B2 cellájába pedig <=0:02-t. A két cella értékét 1-1 változóba teszed, és kritériumként ezeket a változókat adod meg.
kr1 = Sheets("Munka1").Range("A1")
kr2 = Sheets("Munka2").Range("B2")
Sheets("Filter").Select
ActiveSheet.Range("$A$1:$C$5001").AutoFilter Field:=3, Criteria1:= _
kr1, Operator:=xlAnd, Criteria2:=kr2Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
RJan
csendes tag
Sziasztok
szükségem lenne egy kis segítségre.
Csináltam egy "adatbázist", ahol vezetnénk kollégámmal a munkáinkat.
Négy lap van, az első az összesítő, ahol csak az időszak a változó...
Többi három lapon a munkanemek vannak. 1lap 1munkanem.
1lapon adott hónap (pl:2013_09) felmérést készítő és feldolgozó neve szerepel.
Az összesítő lapon szeretném kimutatni, h tárgyhóban ki mennyi felmérést és feldolgozást készített munkanemenként.
Lásd itt:
Íme az xlsx: http://rghost.net/private/49020327/b7bd71a18d0cf812f3e9328a87e3af25
Hiába próbálom az időszak váltásával a nevek számát kimutatni, csak egy időpontot szerepeltet és a továbbiaknál a neveket nem adja össze.
(Excel2010-ben dolgozunk.)
Segítségeteket előre is köszönöm szépen! :-)[ Szerkesztve ]
-
Delila_1
Topikgazda
Ha jól értem, a mostani összes adat helyett csak a 9. haviakat szeretnéd az Összesen lapon feltüntetni. Ehhez a DARABHATÖBB függvényt használd.
A D7 cella képlete legyen
=DARABHATÖBB(Energetika!A:A;"2013_09";Energetika!D:D;C7)Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz the radish #19096 üzenetére
"A Munka1 lap A1 cellájába írd be idézőjelek nélkül a >=0:00:45 szöveget", de az is jó, amit most írtál, csak akkor a cellában ne szerepeljenek relációs jelek (=, >, <).
[ 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.
-
Delila_1
Topikgazda
válasz the radish #19098 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
pirit28
csendes tag
Jóó napot az uraknak, illetve hölgyeknek..
Ismét egy általam nem teljesíthető feladattal állok szemben ,amiben a segítséget kérném attól aki tudja a megfelelő választ.
2002-2003-as excel-t használok.
Van egy túlórás file-om sheet1 névre hallgatva.
Ebben a táblában,az első oszlopban sorszám ill. a második oszlopban nevek vannak.A 3. oszlopban meg a nevekhez tartozó műszak,...A ill. B műszak.
Szeretném ebből a táblából egy másik táblába kigyűjteni a neveket akik A műszakosak.
Kiindulni az if függvényből indultam el ,úgy hogy megnéztem az illető A műszakos-e vagy B.ezt az R és S oszlopban rögzítettem.
ezt követően a "csoportos a" fülben megpróbáltam a kicsi függvénnyel a sheet1 R oszlopában levő sorszámokat kiirattatni. =SMALL(Sheet1!$R$3:$R$82;1) "minden sorban +1"
A problémám az az hogyha elfogynak a nevek akkor #num hibaüzenet fogad,amit szeretnél eltüntetni valahogyan, de nem tudom hogyan.
Ha esetleg lenne egy egyszerűbb megoldás akkor az is megfelelne.
Mellékelek a sheet1-ről egy képet hátha többet segítek vele.A választ, válaszokat előre is köszönöm.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Steames kulcsok jó áron eladóak!