Keresés

Részletes keresés

TechBo Creative Commons License 2022.07.12 0 0 40
Előzmény: niknew (38)
DaveTaylor22 Creative Commons License 2016.04.19 0 0 39

Sziasztok!

 

Egy olyan makrót szeretnék írni, hogy az Excel, érték beillesztéseként értelmezze, lehetőleg olyan rugalmasan, mint a CTRL+V kombináció.

 

A gyakorlatban így működne a dolog:

CTRL+C egy tetszőleges cella

CTRL+Q egy másik tetszőleges cella (akár másik táblázatból, vagy lapfülről) értékként beilleszt.

 

Tudna nekem segíteni valaki, egy nagyon exact leírásban (ma kezdtem a makrózást, szóval nagyon kezdő vagyok)

 

Köszönöm előre is, üdv!

niknew Creative Commons License 2014.05.28 0 0 38

Úgy látom, az eddigi hozzászólások nem igazán a fórum címéről ( "Excel makró") szólnak, hanem matematikai feladatok viszonylag egyszerű, standard excel-függvényes megoldásairól. Engem viszont nagyon  érdekelne a makró-szerkesztés, de még semmi tapasztalatom nincs.  Összefoglalná valaki egy laikus számára a makró-készítés lehetőségeit, határait? Szeretném, ha átbeszélnénk, legalább tíz-tizenöt gyakoribb parancsot. Egyelőre annyira semmittudó vagyok, hogy még kérdést sem tudok feltenni, de valahol el kell kezdeni.  Mi a véleményetek, érdemes itt türelmesen várnom?

 

hegyi14 Creative Commons License 2014.05.24 0 0 37

Illetve még egy kérdésem lenne. Egy fájlon belül átmásolom Sheet2-ből A1, A2, A3... A9 cella tartalmát Sheet1-be egymás mellé (A1, B1, C1, D1...). Ezután ezekre a cellákra hivatkozva végzek műveleteket a tovább oszlopokban. Azonban a különböző fájloknál különböző mennyiségű sorom van a Sheet2-ben, tehát egyikben A1-A4-ig, míg egy másikban A1-C1 például. Le lehet programozni, hogy annyit másoljon át, amennyi sorban adatokat talál, illetve ezután a műveleteket is változó számú oszlopra hivatkozva végezze el?

Köszi!!!

hegyi14 Creative Commons License 2014.05.24 0 0 36

Sziasztok!

 

Az alábbi problémáimra keresem a válaszokat amiben segítségre lenne szükségem.

 

1. Amennyiben azt szeretném, hogy a "Ha" függvényem "hamis" értéke üres cella legyen (ne 0 vagy HAMIS), mit tegyek? Miután kiszámolom B1 cellában a HA függvénnyel amit szeretnék és lehúzom az összes sorba, ezt a képletet kell alkalmaznom B oszlopon: =GYÖK(NÉGYZETÖSSZEG(B:B)(DARAB(B:B)) azonban csak azokra az értékekre, ahol nem nulla a HA fgv. eredménye. 45 ilyen oszlopom van, és megoldásként átmásoltam az oszlopokat, beillesztettem értékként és kicseréltem a 0-kat üres cellára, így működött, azonban az általam írt makró így fél óra alatt fut le egy fájlon (és van 900 fájl amin le kell futtatnom). A fél órából 27 perc amíg kicseréli a 0-kat üres cellára.

 

2. Egy makróban be tudom azt írni, hogy amit az első cellában kiszámolok, azt egészen addig számolja ki az adott oszlopban, ahány soros a fájl vagy egy másik oszlop? Ha egy fájlom 40ezer sor hosszú, amiben a makrót csináltam, akkor minden fájlban 40ezer sorra számolja ki, attól függetlenül, hogy 15 sorom van vagy 60ezer...

 

3. Egy makrót le tudok automatikusan futtatni több fájlra egymás után anélkül, hogy egyenként megnyissam a fájlokat és elindítsam a makrót? Ezt meg lehet úgy is csinálni, hogy egymás után 2 makró fusson le az egyes fájlokon?

 

Nagyon köszönöm a segítséget előre is!

 

Üdv,

András

hegyi14 Creative Commons License 2014.05.24 0 0 35

Sziasztok!

 

Az alábbi kérdéseim lennének, amire segítséget szeretnék kapni.

 

1. Amennyiben azt szeretném, hogy a "Ha" függvényem "hamis" értéke üres cella legyen (ne 0 vagy HAMIS), mit tegyek? Miután kiszámolom B1 cellában a HA függvénnyel amit szeretnék és lehúzom az összes sorba, ezt a képletet kell alkalmaznom B oszlopon: =GYÖK(NÉGYZETÖSSZEG(B:B)(DARAB(B:B)) azonban csak azokra az értékekre, ahol nem nulla a HA fgv. eredménye. 45 ilyen oszlopom van, és megoldásként átmásoltam az oszlopokat, beillesztettem értékként és kicseréltem a 0-kat üres cellára, így működött, azonban az általam írt makró így fél óra alatt fut le egy fájlon (és van 900 fájl amin le kell futtatnom). A fél órából 27 perc amíg kicseréli a 0-kat üres cellára.

 

2. Egy makróban be tudom azt írni, hogy amit az első cellában kiszámolok, azt egészen addig számolja ki az adott oszlopban, ahány soros a fájl vagy egy másik oszlop? Ha egy fájlom 40ezer sor hosszú, amiben a makrót csináltam, akkor minden fájlban 40ezer sorra számolja ki, attól függetlenül, hogy 15 sorom van vagy 60ezer...

 

3. Egy makrót le tudok automatikusan futtatni több fájlra egymás után anélkül, hogy egyenként megnyissam a fájlokat és elindítsam a makrót? Ezt meg lehet úgy is csinálni, hogy egymás után 2 makró fusson le az egyes fájlokon?

 

Nagyon köszönöm a segítséget előre is!

 

Üdv,

András

heted7 Creative Commons License 2014.04.14 0 0 34

Kezdem unni...

 

Megteheted, pl. hogy ez lesz az A1 mező tartalma: =(HA(SOR(A1)<=12;1;0)) Ekkor ha ezt lemásolod a A100-ig (lehúzva a jobb alsó sarkát), akkor lesz 12 egyesed és 88 nullád. Igaz, az első 12 lesz egyes.

Ha ez nem elég, mert random sorrendet akarsz, akkor több módszert is használhatsz. Pl. fogod ezt, kimásolod, és irányított beillesztéssel értékként beilleszted egy új oszlopba, hogy már ne képlet legyen. Mellé raksz egy újabb oszlopot, amiben minden mező tatalma =VÉL() . Utána ez utóbbi szerint sorba rakod e két oszlopot, majd törlöd a véletlen oszlopot.

 

Ha mindez automatikusan kell, akkor a KICSI() és az FKERES() a barátod, ahogy itt van leírva http://chandoo.org/wp/2008/09/23/sort-in-random-order-excel-formulas/, de ez picit bonyolult és már nincs energiám leírni pontosan.

Előzmény: Esterka (33)
Esterka Creative Commons License 2014.04.14 0 0 33

De-de. :) Megvan, hogy a háztartások 12%-a rendelkezik egy bizonyos típusú hitellel, úgyhogy nekem pontosan kell a 12%.

Hogy is nézne ki az a függvény?

Köszi-köszi :)

heted7 Creative Commons License 2014.04.14 0 0 32

Hanem mennyi?

 

Nem lesz *pontosan* négy mindig. Erről szól a valószínűségszámítás. Dobj fel egy pénzérmét 8-szor! 4-szer lesz fej? Elképzelhető, de valószínű, hogy nem. Sőt, dobd fel kétszer. Egy fej egy írás lesz? Azt várnád, pedig az esélye pontosan 50%, nem több.

Lehet olyan függvényt is írni, ami pontosan a cellák 40%-ába rak 1-est, de szerintem nem azt akarod.

Előzmény: Esterka (31)
Esterka Creative Commons License 2014.04.14 0 0 31

Bemásoltam 10 cellába és nem 4 egyes van. :/

heted7 Creative Commons License 2014.04.14 0 0 30

Így van. Értelemszerűen: ugyanezt a képletet kell sok cellába bemásolnod. A cellák akkor 1-esekkel és 0-kkal lesznek feltöltve, az egyesek aránya 40% lesz.

Előzmény: Esterka (29)
Esterka Creative Commons License 2014.04.14 0 0 29

És akkor ez csak a minta 40%-hoz fog 1-est rendelni?

heted7 Creative Commons License 2014.04.10 0 0 28

Magyarázat: a vél() függvény egy 0 és 1 közötti, egyenletes eloszlású véletlenszámot generál. Asszem a többi innen érthető.

Előzmény: heted7 (27)
heted7 Creative Commons License 2014.04.10 0 0 27

Szia!

=HA(VÉL()<0,4;1;0)

 

:)

 

Üdv

H7

Előzmény: Esterka (25)
NevemTeve Creative Commons License 2014.04.10 0 0 26

Generálj véletlenszámot 1 és 5 között (határokat is beleértve), ha páros, akkor van hitele, ha páratlan, akkor nincs.

Előzmény: Esterka (25)
Esterka Creative Commons License 2014.04.10 0 0 25

Újabb feladványom van. :)

Most olyat kellene csinálnom, hogy mindegyik háztartáshoz hozzárendelem, hogy vagy van hitele (1) vagy nincs hitele (0). Mondjuk a háztartások 40%-a rendelkezik lakáshitellel, akkor a háztartások 40%-hoz 1-est kellene rendelnie, a többihez 0-t.

Ötlet? :) (Ígérem, megköszönöm :D )

heted7 Creative Commons License 2014.04.07 0 0 24

Nincs mit :)

Előzmény: Esterka (23)
Esterka Creative Commons License 2014.04.07 0 0 23

Köszi-köszi :)

heted7 Creative Commons License 2014.04.07 0 0 22

A 15 és 21 hozzászólás közötti kapcsolat: az inverz eloszlás ott (olyan x-re) veszi fel a 0 értéket (y=0), amennyi a sima eloszlásfüggvény (y) értéke az (x=) 0 helyen.

Előzmény: heted7 (21)
heted7 Creative Commons License 2014.04.07 0 0 21

Alakul :)

 

Hát, a matek az, hogy megnézed, hogy az adott eloszlás eloszlásfüggvényének értékét az X=0 helyen. Erre pedig van excel függvény:

=NORM.ELOSZLÁS(0;82416;50388;IGAZ)

Én ennél kicsi bonyibban csináltam, de mondjuk ez a szebb. A pontosabb érték amúgy 0,0509587824681558

Nemtom mennyire vagy képben a valszámmal, és ezért mennyire érted ezt. Adott az eloszlásnak a sűrűségfüggvénye, ami ilyen haranggörbe -végtelen és végtelen között, 82416-os középpel. Ennek az integrálja -végtelentől végtelenig épp 1. Ehelyett azonban te egy olyan eloszlást szeretnél, aminek a sűrűségfüggvénye hasonló ehhez, de a negatív tartományban azonosan nulla. Vagyis levágod a negatív tartományt. Ekkor azonban picit növelni kell a pozitív részt, hogy az integrál továbbra is 1 legyen. Ehhez ki kell számítani a negatív rész összsúlyát, ami integrál -végtelentől 0-ig a sűrűségfüggvény, ez pedig definíció szerint épp az eloszlásfüggvény a nulla helyen, az excel meg épp tudja ezt beépítve, rendes tőle.

 

No, szal ha csak 0,05095... és 1 között generálsz véletlen számokat, akkor az inverz eloszlásfüggvényt e helyen nézve épp 0 és végtelen közötti számokat kapsz majd. Ha ez utóbbi nem világos, akkor azt kell megérteni, hogy az inverz eloszlásfüggvénybe 0 és 1 közötti eloszlást helyettesítve miért épp olyan eloszlású valószínűségi változót kapsz, amit keresel... de ez egy másik történet, mondhatni off topic :)

Előzmény: Esterka (20)
Esterka Creative Commons License 2014.04.07 0 0 20

Örök hálám. :) Azt még leírnád még egyszer, hogy is jött ki az a 0,05095879 érték?

heted7 Creative Commons License 2014.04.07 0 0 19

Így illik, ha már letörtem itt az árakat...

Előzmény: Esterka (18)
Esterka Creative Commons License 2014.04.07 0 0 18

Persze köszönöm :)

heted7 Creative Commons License 2014.04.07 0 0 17

Verziófüggő.

http://office.microsoft.com/hu-hu/excel-help/inverz-norm-fuggveny-HP010335652.aspx

"Ezt a funkciót pontosabban működő és a használat módját jobban tükröző nevű új funkciók váltották fel. A régi funkció az Excel korábbi verzióival való kompatibilitás végett továbbra is elérhető. Ha nincs szükség ilyen kompatibilitásra, célszerű mostantól az új funkciókat használni, hiszen azok pontosabban megfelelnek feladatuknak."

 

Azért egy köszi vagy valami???

Előzmény: Esterka (16)
Esterka Creative Commons License 2014.04.07 0 0 16

INVERZ.NORM amúgy, nem?

heted7 Creative Commons License 2014.04.07 0 0 15

Jó kérdés. Először is kérdés, hogy mit akarsz? Legyen olyan az eloszlás, mint egy adott szórású, várható értékű normális, csak megszorítva a pozitív számokra? Vagy más?

 

Ha ez előbbit akarod, akkor így:

==NORM.INVERZ(VÉL()*(1-0,05095879)+0,05095879;82416;50388)

 

A trükk a 0,05095879. Ez a Norm.inverz valahogy úgy működik, hogy első paraméternek kap egy 0...1 közötti egyenletes eloszlású véletlen számot, és megnézi, hogy azon a helyen mennyi a normális eloszlás inverzének az értéke, így számít egy normális eloszlású vál.változót. A fenti módosított eloszlás eléréshez nem 0 és 1 közötti számot kell adni neki első paraméternek, hanem olyat, ami x és 1 között van, úgy, hogy X-re 0-t adjon az inverz elolszásfüggvény. Ki is lehetne számolni X-et, de én inkább picit játszottam, hogy milyen X-re lesz 0, és így jött ki a 0,0509... varázsszám. Magyarul: =NORM.INVERZ(0,05095879;82416;50388) egy elég pici pozitív szám (36 fillér), e feletti számokat generál majd  a fenti képlet.

Előzmény: Esterka (11)
heted7 Creative Commons License 2014.04.07 0 0 14

:)

Előzmény: tbando (13)
tbando Creative Commons License 2014.04.07 0 0 13

Elnézést. Nem láttam a hsz-ed :)))).

 

Előzmény: heted7 (9)
tbando Creative Commons License 2014.04.07 0 0 12

A 80.000 átlagú és 50.000 szórású normál eloszlási sokaság törvényszerűen tartalmaz egy csomó (kb. 15%) negatív számot. Ezeket ugyan el lehet iminálni, de akkor az eloszlás már nem normál. Másfelől az is megfontolandó lehet, hogy miért csak a negatív számokat kéne eliminálni. A 10-100-1000-10000 ft jövedelem sem életszerű.  

Előzmény: Esterka (11)
Esterka Creative Commons License 2014.04.07 0 0 11

És hogy lehet leszűkíteni pozitív számokra? :)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!