Keresés

Részletes keresés

SQLkerdes Creative Commons License 2010.07.14 0 0 12337
Vagy:
HÓNAP(Adat!$B$12:$B$2000)=>7 * HÓNAP(Adat!$B$12:$B$2000)<=9

Rengeteg variáció van...
Előzmény: SQLkerdes (12335)
SQLkerdes Creative Commons License 2010.07.14 0 0 12336
A Feltölt után még kell kattintani a Beilleszt (vagy mifene) linkre is!
Előzmény: madbazsi (12330)
SQLkerdes Creative Commons License 2010.07.14 0 0 12335
Akarom mondani:
ÉS( HÓNAP(Adat!$B$12:$B$2000)=>7; HÓNAP(Adat!$B$12:$B$2000)<=9)
Előzmény: SQLkerdes (12334)
SQLkerdes Creative Commons License 2010.07.14 0 0 12334
HÓNAP(Adat!$B$12:$B$2000)=7 + HÓNAP(Adat!$B$12:$B$2000)=8 + HÓNAP(Adat!$B$12:$B$2000)=9.

Ennek működnie kell és nem kell mindent háromszor csinálni.
vagy
AND( HÓNAP(Adat!$B$12:$B$2000)=>7; HÓNAP(Adat!$B$12:$B$2000)<=9)

Lehet ez a második gyorsabb is egy kicsit...
Előzmény: Redlac (12331)
Redlac Creative Commons License 2010.07.14 0 0 12333
Megint lemaradt a vége.

=SZUM(SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*1; (ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000=M3)*1;(Adat!$H$12:$H$2000="Anyagi")*1)

Beletettem egy space-t, hogy megtörje, hátha így megmarad az egész.
SQLkerdes Creative Commons License 2010.07.14 0 0 12332
Én továbbra sem látom.
Tegyél már be lécci szóközöket a pontosvesszők után, hogy a fórummotor el tudja törni a sorokat.
Előzmény: Redlac (12331)
Redlac Creative Commons License 2010.07.14 0 0 12331
=SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000=M3)*1;(Adat!$H$12:$H$2000="Anyagi")*1)

Ez van végül is egymás után 3x, annyi különbséggel, hogy a hónapok változnak 7, 8 és 9. Ezt a hármat szummázom, mert arra nem jöttem rá, hogyan lehetne a hónap feltételnél mind a 3 hónapra összesíteni. Az megvolt, hogy valami "és"-sel, de nem jött össze a függvény
Előzmény: SQLkerdes (12326)
madbazsi Creative Commons License 2010.07.14 0 0 12330

az új kép feltöltésénél kellene összejönni nem?

rámegyek, hogy feltölt...aztán nem jelenik meg az oldalon

esetleg mailen?

Előzmény: madbazsi (12329)
madbazsi Creative Commons License 2010.07.14 0 0 12329
reméljük sikerül
Előzmény: SQLkerdes (12328)
SQLkerdes Creative Commons License 2010.07.14 0 0 12328
Rakd be újra, lécci.
Előzmény: madbazsi (12323)
SQLkerdes Creative Commons License 2010.07.14 0 0 12327
Filter - uique values only.
Milyen exceled van, milyen nyelven?
Előzmény: bbjj (12325)
SQLkerdes Creative Commons License 2010.07.14 0 0 12326
Nálam Safari-n nem látszik az utolsó két képlet vége.

írd be őket újra, lécci.

Én első ránézésre arra gyanakszom, hogy túlbonyolítottad. Ha van SZORZATÖSSZEG-ed, akkor valszeg a SZUM már nem kéne.

De mivel nem látom a teljes képletet, nehéz megmondani...
Előzmény: Redlac (12324)
bbjj Creative Commons License 2010.07.14 0 0 12325
Sziasztok!

Van egy több ezer rekordos listám, benne az egyik mező városneveket tartalmaz.
Hogyan tudnék a listából olyan kigyűjtést csinálni, hogy minden városnév egyszer szerepeljen?

Redlac Creative Commons License 2010.07.14 0 0 12324
Na, most kavarodtam meg igazán.

Azt szeretném, ha a táblán lévő adatokból, összegezze, hogy, ha 2010.07. havi sorok mellett lévő "IGEN"-eket, vagy bármilyen más feltételt is együtt.

Ez:
=SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$G$12:$G$2000="IGEN")*1)

És ez is működik:

=SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*(ÉV(Adat!$B$12:$B$2000)=2010)*(Adat!$G$12:$G$2000="IGEN"))

Tehát összeszámolja az igenek DARABJÁT, azokban a sorokban, ahol 2010.07. hó van.

Sőt:

=SZUM(SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000="DP")*1);SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=8)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000="DP")*1);SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=9)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000="DP")*1))

ez is működik. Itt negyedévenként összesíti a táblán lévő adatokat, az előbbi feltételek alapján

Sőt-sőt:

=SZUM(SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000=M3)*1;(Adat!$H$12:$H$2000="Anyagi")*1);SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=8)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000=M3)*1;(Adat!$H$12:$H$2000="Anyagi")*1);SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=9)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$F$12:$F$2000=M3)*1;(Adat!$H$12:$H$2000="Anyagi")*1))

Ez negyedévenként összesít 4 változó alapján. 2010, július, augusztus és szeptember adataiból azokat, amelyek mellett az egyik sorban szerepel az "anyagi" szó, illetve egy másikban megegyezik az M3-ban lévő (egyébként "DP") szóval. Mindegyik feltételnek teljesülni kell, és azokat számolja össze. Nem értékeket összegez, hanem a feltételek teljesülését számolja össze.

Ráadásul nem tömbképletként vannak bevíve.

De, ha jól értem, amit írtatok, ennek nem kellene működnie.

Az eredeti kérdéshez visszakanyarodva. Lassú a számolás. Most úgy oldottam meg, hogy a második fülön (az elsőbe viszem be az adatokat, a 2. összesít) van egy újraszámol gomb ezzel:

Sub Gomb1_Kattintáskor()
Application.Calculation = xlCalculationAutomatic
End Sub

Az adat fülön lévő bevitelnél, a makrók futásánál ki van kapcsolva ez a számolás, így az adatbevitel gyors. Majd amikor kész vagyok, akkor vagy rányomok az újraszámol gombra, vagy rámentek/bezárom.

A bonyolultnak tűnő függvények miatt elképzelhető a lassú számolás? Vagy fogadjam el SQLkerdes véleményét, hogy sokat számolunk, sok időt vesz igénybe?
madbazsi Creative Commons License 2010.07.14 0 0 12323
elküldtem a screenshotot is, de nem látom... ???
Előzmény: madbazsi (12322)
madbazsi Creative Commons License 2010.07.14 0 0 12322

Lehet az elözö üzenetem nem ment el:

Szóval mindig csak 1 bejövö tételt vizsgálnék.

A nyitott számlák 1 oszlopban vannak.

Igen - klasszikus kipontozás - a bejövö tétel, mely számlákat egyenlíti ki.

Előzmény: SQLkerdes (12320)
madbazsi Creative Commons License 2010.07.14 0 0 12321

Remélem az excel screenshot-tal világosabb lesz mit szeretnék.

Mindig csak egy bejövö tételt vizsgálnék, nem többet.

Egy OSZLOPBAN vannak a nyitott számlák.

Èn ezt az értéket, mely számlákba tudhatom bele.

 

Előzmény: SQLkerdes (12320)
SQLkerdes Creative Commons License 2010.07.14 0 0 12320
Szóval klasszikus kipontozást akarsz csinálni.
Ehhez tudni kell, hogy hol vannak a tábládban a bejövő pénzösszegek és hogy hol vannak a számlák.
Milyen struktúrában?

Jól értem, hogy egy sorban szerepel az összes bejövő utalás összege?
Hol vannak a számlák? Hány számla van?
Csinálj egy screenshot-ot a file-ról és rakd ide be.
Nem az adatok érdekelnek, hanem a tábla szerkezete.
Előzmény: madbazsi (12318)
jim_01 Creative Commons License 2010.07.14 0 0 12319
Sziasztok,

olyan excelproblémával már találkoztatok, hogy bizonyos felhasználónál nem lehet a cellákba írni. Minden más (word, notepad) szoftverbe tudok írni.... Rendszergazda alól simán megy. Valamilyen jogosultsági probléma...de nem tudom, hogy hol állíthatnám be. Már kapott a felhasználó rendszergazda jogot is, de így sem ment. Csak helyi rendszergazdával tudtam a cellákat módisítani..

Előre is köszi a segítséget....


Csaba
madbazsi Creative Commons License 2010.07.14 0 0 12318

Szerintem válaszoltam: 1 oszlop - 0 sor (nincs üres oszlop)

Igen bejövö utalásom van (érték).

Egy francia vevömnek több vevöi kódja van, és utalásoknál nem tünteti fel, hogy mely számlákat egyenlítenék ki. Mert van úgy, hogy mivel egy cég, de több telephely, több vevöi kódon vannak a számlái..

Szóval le tudom szürni az összes nyitottszámlájukat, ezt teszem egy oszlopba. Ebben az oszlopban kellene meglelni, hogy az utalás mely nyitott számlák kombinációja lehet, hogy tudom a bankot velük kiegyenlíteni.

Köszi elöre is!

 

Előzmény: SQLkerdes (12306)
Delila_1 Creative Commons License 2010.07.14 0 0 12316
Az utolsó, ; után bevitt tartománynak az összegzendő értékeket kell tartalmaznia. IGEN értékeket nem tud összeadni.

Nálad valamelyik oszlop értékeinek az összegét kellene kiszámolnia a képletnek, ha a B oszlop kezdete 2010.07 , és a G oszlop IGEN. De melyik oszlop összegeit számolja? Ezt az utolsót kell ;-vel írni az előző 3 után, és ebbe már nem jön feltétel.

Ezt a képletet csak az Adat lapon lehet alkalmazni, vagyis a feltételeknél azt nem kell megadni.

=SZOZATÖSSZEG
((HÓNAP(B12:B2000)=7)*(ÉV(B12:B2000)=2010)*(G12:G2000)="IGEN");X12:X2000)

képlet adja az eredményt, amennyiben az X oszlop értékeit akarod összegezni, ha a 3 feltételnek megfelelnek.

Előzmény: Redlac (12313)
SQLkerdes Creative Commons License 2010.07.13 0 0 12315
Tömbfüggvényekben való hibakeresés módja:
- jelöld ki az - esetedben - SZORZATÖSSZEG egy önálló elemét. A lenti példádban, pld HÓNAP(Adat!$B$12:$B$2000)=7
- nyomd le az F9-et (ez megmutatja az adott művelet eredményét, az összeset)
- UNDO-val csináld vissza
- ezt csináld meg mindegyik önálló elemre
- ahol hibát látsz eredményként az f9 után, ott a problémád

Ha nincs az egyedi elemek között hiba, akkor jelöld ki az egyedi elemek valamely kombinációját (lenti példa szerint: HÓNAP(Adat!$B$12:$B$2000)=7)*(ÉV(Adat!$B$12:$B$2000)=2010)

F9, hiba keresése, UNDO

Ezt addig kell csinálni amíg meg nem leled a hibát.

Ez a technika sokat segít abban hogy megértsd az adott függvény működését.
Előzmény: Redlac (12313)
SQLkerdes Creative Commons License 2010.07.13 0 0 12314
Boolean adatot (IGAZ v. HAMIS) a SUMPRODUCT nem tud szorozni.
Amikor két boolean eredményt szorzásjellel összeszorzol a SUMPRODUCT-on belül, akkor az excel automatikusan számmá alakítja az eredményt (1 v. 0 lesz belőle).
Ha viszont a SUMPRODUCT-ot próbálod meg arra használni, hogy az IGAZ v. HAMIS-t alakítsa át számmá, akkor az nem megy.

Szóval a nem működő képleted megpróbál pld. egy TRUE-t meg egy 1-est összeszorozni, mivel ez nem megy neki, hibaüzenetet ad.

Ezért van az, hogy az IGAZ, HAMIS eredményt adó dolgokat a SUMPRODUCT-on belül átalakítjuk. Ennek módjai:
- dupla negatív előjel
- 1-el szorzés, vagy
- N függvény.

Előzmény: Redlac (12313)
Redlac Creative Commons License 2010.07.13 0 0 12313
Illetve...

Ez működik:

=SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*(ÉV(Adat!$B$12:$B$2000)=2010)*(Adat!$G$12:$G$2000="IGEN"))

Ez nem:

=SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*(ÉV(Adat!$B$12:$B$2000)=2010);Adat!$G$12:$G$2000="IGEN")
Előzmény: Redlac (12312)
Redlac Creative Commons License 2010.07.13 0 0 12312
Az utolsó mondatot alapján (A feltételek egy pár zárójel között vannak, és közöttük * jel van, az összegzendő tartomány ;-vel van elválasztva az előbbiektől.) értettem meg a szorzatösszeg teljes lényegét...

Előzmény: Delila_1 (12309)
Redlac Creative Commons License 2010.07.13 0 0 12311
1. Nem másoltam minden sorba, hanem teljes tartományt számol.
2. Sokadik próbálkozásra jött ki ez.
3. Az enyémből töröltem az 1-eket, és működik:-). Ez okozhat lassulást?
Előzmény: Delila_1 (12309)
SQLkerdes Creative Commons License 2010.07.13 0 0 12310
Gondolom a *1-et a dupla negatív helyett használja. Használhatta volna az N függvényt is...
Előzmény: Delila_1 (12309)
Delila_1 Creative Commons License 2010.07.13 0 0 12309
Kicsit átalakítottad a szorzatösszeg függvényt, de nem tudom, miért. Mit keresnek benne a *1-ek?
Ezt a függvényt nem kell minden sorba lemásolni, a teljes tartományról ad képet egy cellában.

Az eredeti így nézett ki:
=SZORZATÖSSZEG((HÓNAP(A1:A100)=10)*(ÉV(A1:A100)=2010);B1:B100)

a mostani:
=SZORZATÖSSZEG((HÓNAP(Adat!$B$12:$B$2000)=7)*1;(ÉV(Adat!$B$12:$B$2000)=2010)*1;(Adat!$G$12:$G$2000="IGEN"

(a vége lemaradt).

A feltételek egy pár zárójel között vannak, és közöttük * jel van, az összegzendő tartomány ;-vel van elválasztva az előbbiektől.
Előzmény: Redlac (12308)
Redlac Creative Commons License 2010.07.13 0 0 12308
oké, vettem :-)
Előzmény: SQLkerdes (12307)
SQLkerdes Creative Commons License 2010.07.13 0 0 12307
Hát a tömbfüggvények már csak ilyenek, írtó sok adattal írtó sok dolgot csinálnak, ez néha időt vesz igénybe...

Előzmény: Redlac (12304)

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