Keresés

Részletes keresés

SQLkerdes Creative Commons License 2011.05.18 0 0 14885

=RIGHT(A1,LEN(A1)-MAX((MID(A1,ROW(INDIRECT("a1:a"&LEN(A1))),1)=" ")*ROW(INDIRECT("a1:a"&LEN(A1)))))

 

Ctrl+Shift+Enter-rel lezárva.

A1 tartalmazza a szöveget.

Előzmény: SQLkerdes (14884)
SQLkerdes Creative Commons License 2011.05.18 0 0 14884

A cella tartalmát felbontod betűkre egy MID tömbfüggvény alkalmazásával.

Minden betűre megvizsgálod, hogy az szóköz-e (IGEN=1, NEM=0), ezt az eredményt megszorzod az adott betű sorszámával és ezeknek a szorzatoknak a maximumát keresed egy MAX függvénnyel.

A kapott eredmény az utolsó szót megelőző szóköz pozíciója.  Innen már csak egy sima RIGHT függvény.

 

Ha vannak a cellatartalom végén szóközök akkor az egész fenti cuccot nem a cella tartalmára, hanem a cella TRIM-melt tartalmára végzed el.

 

Lesz kb 3 sor a függvény, de működni fog.

Előzmény: wawabagus (14883)
wawabagus Creative Commons License 2011.05.18 0 0 14883

Még szeretnék tőletek kérdezni valamit.

Hogyan lehet egy tetszőleges hosszúságú és db szóból álló cella utolsó szavát kiszedni?

 

Ha pl csak 3, esetleg 4-5 szóból álló celláról van szó, akkor a LEN, FIND, RIGHT segítségével ezt meg tudom oldani, ha tudom mennyi a maximális szó mennyiség.

 

De hogyan oldható ez meg ha nem tudom mennyi lehet a maximális szó a cellában?

 

Köszi a segítséget!!

Y

 

wawabagus Creative Commons License 2011.05.18 0 0 14882

Sziasztok!

Azt szereteném az exceltől kérni makróban, hogy egy megadott folderban lévő összes munkafüzetet nyisson ki, majd mindenek az első lapját másolja egy master fájlba.

De nem akar működni.

 

Hol rontottam el szerintetek?

Köszi a segítséget!!

 

--------

 

Sub MergeSheets()

Dim wbMaster As Workbook
Dim NumbSht As Integer
Dim BegSht As Integer

Application.ScreenUpdating = False

útvonal = "S:AdHoc AnalysisMACROExperiment"

Workbooks.Add 1
ActiveWorkbook.SaveAs Filename:=útvonal & "Master.xls"

With Application.FileSearch
    .LookIn = útvonal
    .FileType = msoFileTypeExcelWorkbooks
    .Execute
    
For i = 1 To .FoundFiles.Count
     Workbooks.Open .FoundFiles(i)
     
     BkName = ActiveWorkbook.Name
     BegSht = 1
   
             Workbooks(BkName).Sheets(BegSht).Move Before:=Workbooks("Master.xls").Sheets(1)
   Next
End With

Application.ScreenUpdating = True
End Sub

SQLkerdes Creative Commons License 2011.05.18 0 0 14881

Kuldtem e-mailt a profilodban megadott e-mailcímre.

Előzmény: Xooo (14876)
Sznida Creative Commons License 2011.05.18 0 0 14880

Biztosan a sinus olyan tartományában használtad, ahol nem volt feltűnő a különbség, gondolom...

 

Üdv: Sznido

Előzmény: Axi-Maxi (14879)
Axi-Maxi Creative Commons License 2011.05.18 0 0 14879

Az előző szinusznál fok volt és ott működött itt is fok de a tangesnél már nem, most hogy kitöröltem jó.

Előzmény: Sznida (14878)
Sznida Creative Commons License 2011.05.18 0 0 14878

El kellene döntened, hogy a bemenő adatod az radián, vagy fok, amennyiben radián, akkor a képlet jó, amit kelan összefűzött, amennyiben fok, akkor a képletből töröld ki az összes "fok" szót!

 

Üdv: Sznido

Előzmény: Axi-Maxi (14877)
Axi-Maxi Creative Commons License 2011.05.18 0 0 14877

2 fok 46 perc 50,7 mp kéne kijönnie

Előzmény: Sznida (14871)
Xooo Creative Commons License 2011.05.18 0 0 14876

Az mondjuk pont nem lenne lényeges :D Azt az egy hónapot kiszámoljuk manuálisan :)

Előzmény: SQLkerdes (14875)
SQLkerdes Creative Commons License 2011.05.18 0 0 14875

Azt kell mondjam excelben ez sem halálos probléma.

Ha a worksheet-ek neve egységesítve van (pld 2011+PONT+SZÓKÖZ+HÓNAPTELJESNEVE), akkor még egy durva kinézetű OFFSET-tel is meg lehet csinálni.

Ha a worksheetek nevét nem lehet valamilyen logikai lánc alapján előállítani akkor meg ott van régi barátunk az UDF.

 

A 2011. január 5-e viszont valszeg szíven döfi a rendszert, mert ahogy látom az egy teljesen más file-ban van (mármint a 2010 decemberi adat).  Bár...  ;-)

Előzmény: Xooo (14873)
Xooo Creative Commons License 2011.05.18 0 0 14874

A termékek neve alatti oszlopokról van szó, tehát I5, M5 stb

Előzmény: Xooo (14873)
Xooo Creative Commons License 2011.05.18 0 0 14873

 

Így néz ki a táblázat. Amint látjátok az első fülre egy összesítőt tettem, ami gyakorlatilag ugyanez a táblázat csak leegyszerűsítve, ebbe kellene az utolsó 20 nap eredménye. DE jogos a kérdés, mi van ha február 5-én szeretném megtudni... itt kezdődik a baj. A táblázatom egy évre van bontva ahogy a képen látszik, tehát pl febr 5-én január 15-ig kellene hogy visszaszámoljon, viszont a hónapok különböző hosszúságúak... pfff. :(

Előzmény: Sznida (14870)
SQLkerdes Creative Commons License 2011.05.18 0 0 14872

Vagy (xl2007 és fölötte esetén) lehet az IFERROR-t használni:

=IFERROR(SUM(INDIRECT("B"&(DAY(TODAY())+1-20&"":B"&DAY(TODAY()+1);SUM(INDIRECT("B2:"&DAY(TODAY()+1)))

 

Ekkor mindíg megpróbál 20 napot visszamenni az időben, de ha még nincs 20-a akkor hibát kap, az IFERROR hiba ágon pedig más B2-től számoltatja.

Szárazon írtam a fenti függvényt, szóval akár rossz is lehet szintaktikailag.

Előzmény: Sznida (14870)
Sznida Creative Commons License 2011.05.18 0 0 14871

Az nem jó?

2,78075 radián az 159,3252°

 

Üdv: Sznido

 

 

Előzmény: Axi-Maxi (14869)
Sznida Creative Commons License 2011.05.18 0 0 14870

A mai nappal kibővítve, az új képlet:

 

=HA(NAP(MA())>=20;SZUM(INDIREKT("B"&(NAP(MA())+1)-20&":B"&(NAP(MA())+1)));SZUM(INDIREKT("B2:B"&(NAP(MA())+1))))

 

Üdv: Sznido

Előzmény: SQLkerdes (14867)
Axi-Maxi Creative Commons License 2011.05.18 0 0 14869

 2,78075 erre az értékre 159fok 19 perc 30,86 szögmásodpercet ír

Előzmény: Sznida (14866)
Sznida Creative Commons License 2011.05.18 0 0 14868

Igazad van..., lehet ma nem kellene hozzászólnom semmihez, mert szétszórt vagyok...

 

Üdv: Sznido

Előzmény: SQLkerdes (14867)
SQLkerdes Creative Commons License 2011.05.18 0 0 14867

Szerintem ez nem jó, mert csak a hónap utolsó 20 napját összesíti.

A megoldásba be kell építeni a TODAY() függvényből vett adott napi napot és abból levonni 20-at (ha több mint 20, egyébként 1-től kezdeni az összesítést).

 

Vagy félreértettem a feladatot.

Előzmény: Sznida (14865)
Sznida Creative Commons License 2011.05.18 0 0 14866

Mi a hiba? Lehet annak a szögnek nem érvényes a tangense?

 

Üdv: Sznido

Előzmény: Axi-Maxi (14861)
Sznida Creative Commons License 2011.05.18 0 0 14865

És most talán sikerül úgy elküldenem, hogy minden jó lesz.... :(

 

 

Üdv: Sznido

Előzmény: Sznida (14864)
Sznida Creative Commons License 2011.05.18 0 0 14864

Itt a kép is!

Előzmény: Sznida (14863)
Sznida Creative Commons License 2011.05.18 0 0 14863

Szia,

 

Csatolva a kép, ahol látszik a képlet!

A képletben a "B" át kell írni az aktuális oszlop számára, amikor másolod jobbra a képletet!

 

Üdv: Sznido

 

Előzmény: Xooo (14858)
SQLkerdes Creative Commons License 2011.05.18 0 0 14862

Ez a videó megválaszolja minden kérdésedet.

A megoldás az OFFSET függvény használata, amit úgy paraméterezel be, hogy egy dinamikusan változó tartományt adjon vissza.  Az OFFSET-tel "létrehozott" tartományt elnevezed (named range) és a Chartod bemeneti adata ez a Név lesz.

Vigyázz, van egy trükk (bug) amikor a chart bemeneti adatának név hivatkozást használsz, szépen megmutatja a videóban (kell a név elé a munkalap neve).

 

Sok sikert.  Ha van kérdésed a videó után, vágd hozzánk nyugodtan.

 

Előzmény: kelan (14852)
Axi-Maxi Creative Commons License 2011.05.18 0 0 14861

És tangensnél is mennie kellene

 

=KEREK.LE(FOK(S45);0)&"° "&KEREK.LE((FOK(S45)-KEREK.LE(FOK(S45);0))*60;0)&"' "&SZÖVEG((((FOK(S45)-(KEREK.LE(FOK(S45);0)))*60)-(KEREK.LE((FOK(S45)-(KEREK.LE(FOK(S45);0)))*60;0)))*60;"0,00")&"''"

 

??

Sznida Creative Commons License 2011.05.18 0 0 14860

Szia,

 

Akkor mi van ha február 5-ét írunk, akkor is vissz kell menjen 20 napot?

 

Üdv: Szindo

Előzmény: Xooo (14858)
Sznida Creative Commons License 2011.05.18 0 0 14859

Nincs mit, szívesen!

 

kelan: Köszi az összefűzést, sajnos már nem volt rá időm... :)

 

Üdv: Sznido

Előzmény: Axi-Maxi (14857)
Xooo Creative Commons License 2011.05.18 0 0 14858

Sziasztok, már megint butaságokkal bombázlak benneteket.

 

Van egy táblázatom, amiben van egy aktuális hónap. ABCD oszlopokban van egy-egy termék neve, a sorok pedig a hónap napjait jelentik. A termékek nevei alá függőlegesen beírjuk a darabszámokat, amiket a végén szummáz. Így tudjuk, hogy miből mennyit adtunk ki, ez egyfajta teljesítményelszámolás is. Amit szeretnék megvalósítani, hogy egy másik munkafüzetben ugyanilyen alapon, de csak az elmúlt 20 nap számait adja össze egy cellában az aktuális dátumhoz képest. Tehát ha január 30-at írunk, akkor csak január 10-től szummázzon.

 

 

 A B C D ( termékek )

 

1 ( a hónap napjai illetve darabszámok )

2

3

 

 

Ha valakinek van ötlete nagyon örülök neki. :)

 

Köszönöm a segítséget előre is.

Axi-Maxi Creative Commons License 2011.05.18 0 0 14857

Szia

nem gond a több lépcső

 

Köszi szépen.

 

Üdv

Előzmény: Sznida (14855)
kelan Creative Commons License 2011.05.18 0 0 14856

Sznida megoldása, ha egy cellában szeretnéd megkapni az eredményt, és nem akarsz vele tovább számolni:

 

A szám az A1 cellában szerepeljen. Ez meg egy másik cellában:

 

=KEREK.LE(FOK(A1);0)&"° "&KEREK.LE((FOK(A1)-KEREK.LE(FOK(A1);0))*60;0)&"' "&SZÖVEG((((FOK(A1)-(KEREK.LE(FOK(A1);0)))*60)-(KEREK.LE((FOK(A1)-(KEREK.LE(FOK(A1);0)))*60;0)))*60;"0,00000")&"''"

Előzmény: Sznida (14855)

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