Hozzászólások
-
SzerzőBejegyzés
-
Szia!
Szerintem ilyet nem lehet csinálni. Az összefűzéskor egy string jön létre a „2,1” tartalommal.
ha ezt átadod a Cells függvénynek, akkor az ennyiedik cellát próbálja meghivatkozni. Ez nem lehet sztring.A megfordítás esetén pont ugyanez a baj, tehát úgy sem fog menni.
Nekem az a furcsa, hogy miért nem fut hibára?Ha jól látom, valami olyasmit szeretnél, érzékelni, hogy mikor van egy oszlopban egymás alatt két egyforma érték. Ez egy működő megoldás lehet:
Sub megoldas() sor = 2 oszl = 1 Do akt = Cells(sor, oszl).Value kov = Cells(sor + 1, oszl).Value sor = sor + 1 Loop Until akt = kov End Sub
Több megoldás is lehet erre, akár sokkal elegánsabb is. Az a kérdés, hogy miután érzékelted az egyezést, mit szeretnél tovább csinálni.
A Te második megoldásodat, ami működik ugyan, nem javasolnám a select-ek miatt. Hacsak nem pont ez a folyamat lényege. Select elég a végén is, amikor megvan a pozíció.
imre
Közben megcsináltam a példát, feltöltöttem.
Fontos még arra figyelni, hogy a keresendő és a keresett adat azonos formátumú legyen.
Az összefűzésnél a cikkszámot vettem előbb, és utána a raktárhelyet.Imre
Attachments:
You must be logged in to view attached files.Szia Éva!
Fájlt feltölteni max. 512 MB-ig úgy tudsz, hogy ha beléptél, akkor balra lent találsz egy Fájl kiválasztása gombot.
Közben felfogtam, hogy mit szeretnél csinálni. Ez klasszikusan több feltétel szerinti keresés, mondjuk VLOOKUP.
Úgy szokták csinálni, hogy a feltétel oszlopokat egy új oszlopba összefűzik (függvénnyel vagy „&” operátorral). Ezzel teheted egyedivé, az azonos cikkszám, de eltérő raktárhely sorokat. És ebben az oszlopban végezzük.
Tegyük fel, hogy az alapriportban az elejére létrehoztál egy „rakt-cikk” oszlopot, és ide összefűzöd a raktárhely és a cikkszám mezőket.1. Az új táblának képzed a fejlécét. (Cikkszam, termek, raktárhelyek egyesével)
2. A cikkszam és termék neveket kitöltöd valahonnan
3. Jön a képlet az első raktárhely oszlopba (pszeudo kód)=VLOOKUP(cikkszam&raktarhely;alapriport_teljes tabla;5;0)
Feltéve, hogy a mennyiség az alapriportban a mennyiség az ötödik oszlop lett, mert az összefűzött oszlopot az elejére tetted.
Kíváncsi vagyok, sikerül-e!
Imre
Szia Éva!
Egy kicsit jobban kellene definiálni a feladatot. A leírás alapján ez nekem inkább szűrésnek tűnik, mint keresésnek. Feltételként pedig csak a raktárhelyet említed, és nem érzékelek másik feltételt.
A fenti példád alapján azt gondolom, hogy a raktárhely oszlopban ismétlődhetnek a raktárhely kódok, de más-más mennyiséggel. Neked pedig egy adott raktárhelyhez tartozó mennyiségek kellenek.De mivel ez sima autoszűrővel megoldható lenne, azt gondolom, mégsem ennyire egyszerű a feladat.
Esetleg csatolhatnál egy minta munkafüzetet, amiben benne van egy minta az alap táblából, és mellette vagy egy másik lapon pedig az, amit eredményként szeretnél látni.
Imre
Szia!
esetleg itt nézz utána:
http://stackoverflow.com/questions/14505852/create-thunderbird-email-from-excel-macro
imre
Kedves Roland!
Védett munkalapokon a táblázatok nem működnek rendesen.
A fenti problémára csak makrós megoldás létezhet.
Azt is jó alaposan definiálni kell, mielőtt bárki nekifog.Sajnálom,
imre
Szia!
Köszönöm a kérdést! Utána kellett egy kicsit néznem, és azt találtam, hogy ez egy alap Excel beállítás, ami különben nagyon hasznos is lehet.
Excel 2003-ban ezt kell csinálni, ha nem akarod:
Tools->Opions->Edit lap -> „Extend List Formats and Formulas” opciónál vedd ki a pipátMagyar verziónál: Eszközök->Beállítások->Szerkesztés lap -> Az angol szöveg valamilyen magyar megfelelője
Excel 2007 és felette:
Excel beállítások
Speciális->Szerkesztés ->
Magyar verzió: Adattartomány végén a formázás és a képletek folytatása
Angol verzió: Extend data range Formats and FormulasKülönben meg azt tapasztaltam, hogy ha a formátumot törlöd a már kitöltött tartomány alatti részekről, akkor is le lehet beszélni a folytatásról.
Imre
Szia!
Először is bocs, de módosítottam a Topic címét, mert az semmilyen módon nem utalt a tartalmára.
A mellékletet tanulmányozva ez klasszikusan a kamatos kamat időszakonkénti számítása.
tehát időszakonként mindig ugyanannyi százalékkal növeled az előző időszak már növelt összegét.
Kivéve az elsőnél, ahol az eredeti alap összegből indulsz ki.A kérdésedet úgy értelmeztem, hogy tudod a kezdő értéket és a végértéket, illetve tudod az időszakik számát, azaz hogy hányszor szeretnéd növelni az összeget.
Amit keresel, az az, hogy mennyivel kell növelni időszakonként, de amennyivel növeled, az mindíg állandó.Ez célérték kereséssel megoldható feladat.
A mellékletet visszatöltöttem, a megoldás fülön van a leírás, remélem erre gondoltál.Imre
Attachments:
You must be logged in to view attached files.Szia!
Van egy makró nélküli és egy makrós megoldás.
Nézzük először a makró nélkülit:
1. Kijelölöd a másolandó tartományt
2. Ctrl-C
3. Kijelölöd a többi munkalap füleket, ahová másolni szeretnéd (az eredetit NE)-Csoportosítás
4. Bármelyik kijelölt lap céltartományának első cellájába kattintasz
5. Ctrl-V
6. Csoport felbontásaKipróbáltam, nekem működött.
Mondjuk az 50+ lap kijelölése elég macerás lehet, még ha shift-el is csinálod.Tehát a titok az, hogy az eredeti lap ne legyen benne a csoportosított lapok között.
Jelezz vissza, hogy működik-e!
Imre
Köszönjük a megosztás!
Általában fordítva szokott lenni, azaz felületről működik, makróval nem.Szia!
Ránéztem egy pillanatra. Nagyon érdekes probléma.
Milyen nyelvű Excel-t használsz?A makróval valóban működik, és a felületen meg nem.
Nem kéne neki működnie makróval sem.
Ha a rövid hónapneveket átírtam a magyar megfelelőjére, akkor egy kicsit jobb lett helyzet.#Péter, örülök, hogy látlak itt!
#Mormogi: Péter tanácsa mindenképpen megfontolandó. ha a két táblázatot mindenképpen külön munkalapokon kell tárolnod, akkor makró nélkül nem lehet megoldani a kérdést.
Fontos lenne még, hogy lehetőleg azonos szerkezetű és elhelyezkedésű legyen a két táblázat.Volt nemrég egy hasonló kérdés, ahol visszatöltöttem egy makrós megoldást. Ott dátomra kellett leválogatni egy új munkalapra két (vagy több?) munkalap sorait.
Szia!
Összeraktam egy működő verziót.
Használata:
– Az 1. lap legyen mindig az összesítő
– A B1-ben legyen a szűrendő dátum (éééé.hh.nn) formátumban
– A 2. laptól hátrafelé legyenek a gépsorok lapjai
– A gépsorok lapjain az utolsó oszlop legyen feltöltve a munkalap nevével
– A dátumokat a gépsor lapokra teljes dátum formátumban kell feltölteni (éééé.hh.nn)– Az első lapon a korábbi szűrések eredményét lehet törölni a „Töröl” gombbal
– Egy dátum beírása után a „Szűr” gomb kigyűjti a gépsor lapokról az adott dátumú sorokat
– ha több dátumra szűrnél, akkor a szűrést minden új dátum beírása után ismételgetni kell
– Két törlés között csak egymás után gyűjtögeti.Az első lapon a B1-be lehet majd tenni legördülő listát is.
Ezt csak egy forrásból lehet megadni, tehát két munkalap dátumaiból csak úgy lehet megcsinálni, ha előbb egy külön tartományba egymás után másolod az össze gépsor lapról a dátumokat, majd eltávolítod az ismétlődéseket, és a maradékot adod meg a legördülő forrásaként.Hogy tetszik?
Imre
Attachments:
You must be logged in to view attached files.Szia!
Hát, így távolról nem fogom tudni megoldani. csak úgy tudnék esetleg segíteni, ha feltöltenéd, vagy esetleg privát email-en elküldenéd a fájlt, és némi segítséget, hogy tudjam reprodukálni a dolgot.
Imre
Na ok, akkor tölts fel mintát ahogy kértem, aztán meglátom, hogy mit és mikorra tudok segíteni.
Imre
Még néhány kérdés:
1. A legördülő menü forrása egy tartomány, amit Te tartasz karban ugye?
2. Egyszerre több dátumot is ki akarnál jelölni? Vagy egymás után több dátumra szűrnél?
3. A szűrés eredményében kellene látszani annak, hogy melyik sor melyik lapról származik? (melyik gépsor) Így lenne logikus.Kellene egy minta munkafüzet, ahol az eredmény lap és a legördülő menü már elő van készítve.
Tölts fel egyet, hogy megnézhessem mekkora is a feladat.Ez egy konkrét fejlesztés.
Nem nagyon bonyolult, de valószínűleg túlmutat egy ingyenes fórumsegítségen.
Nézz utána, lenne-e rá a cégnél költségvetés…Imre
Szia!
Mi a a hibaüzenet pontos szövege?
Pontosan mikor jelenik meg?imre
Szia!
Kicsit pontosítsuk a feladatot!
Első kérdés, hogy szűrésről, vagy kereséséről van-e szó.
Tehát a dátumok a forrás lapokon ismétlődőek vagy egyediek?Ha egyediek, akkor FKERES (VLOOKUP) vagy hasonló lesz a megoldás, annyiszor, ahány forrás lapod van.
Ha viszont a forráslapokon a dátumok ismétlődhetnek, akkor inkább szűrni kell, és a szűrés eredményét az eredménylapon megjeleníteni. Egy forrástábla esetén megoldható a dolog egy összetett tömbképlettel, ahogy egy korábbi postban leírtam:
Több forráslap esetén viszont csak az marad, hogy miután a legördülő menüben kiválasztottad a dátumot, egy makrót indítasz el, ami az összes lapot leszűri a kiválasztott dátumnak megfelelően, és a szűrések eredményét az eredménylapra másolja.
Más megoldás nincs erre szerintem.
Imre
Szia!
Hát, elég durva dolgot találtam, amire nem számítottam.
Mert az egy dolog, hogy ki és miért gondolja azt, hogy a számokba vesszőt ír, és kötőjelet a végére.
Ilyet már láttam, papíron.De kiderült, hogy a számok előtt egy hamis szóköz is van. Ez az ALT+0160.
Ilyesmivel ritkán találkozni, hacsak nem az adatok valami weboldalról származnak, mert a HTML-ben a nem törhető szóköz kódja ez, ha jól tudom.Szóval, ha az A2-ben van egy ilyen szám:
2,000-
Akkor melléírva ezt a képletet, meggyógyítható:
=ÉRTÉK(HELYETTE(HELYETTE(HELYETTE(A2;",";"");"-";"");" ";""))
Azt csinálja belülről kifelé, hogy
1. Kicseréli az A2-ben az összes vesszőt semmire
2. Az előző eredményben cserélei az összes kötőjelet semmire
3. Az előző eredményében cseréli a hamis szóközt semmire
4. Végül az egészet számmá alakítjaA legfontosabb, hogy a legkülső HELYETTE függvényben a vége felé látható szóköz nem szóköz, hanem ALT+0160.
A képlet ezután lehúzható az egész oszlopra, majd akár értékként visszarakható az eredeti oszlop helyére.
Sikerült?
Imre
2015-03-26-01:18 Hozzászólás: Autofilter multiple criteria – automatikus szűrés többszörös feltétellel #1991Szia!
Na, jól elbeszélgettél magaddal amíg meg nem oldottad.
Pont erre utaltam az elején, hogy rögzítővel nézted-e, mert a rögzítő a több feltételes autoszűrést úgy veszi fel, ahogy a megoldásodban szerepel, tehát egy tömbben definiálja a feltételeket.A három feltétel VAGY kapcsolata azért nem sikerült, mert nem lehet megcsinálni. Csak kettőnek van hely.
Imre
-
A hozzászólás módosításra került: 10 years telt el-
horvimi.
2015-03-24-22:48 Hozzászólás: Autofilter multiple criteria – automatikus szűrés többszörös feltétellel #1987Szia!
Ha több elemet jelölsz be az autoszűrőben, akkor azok egymással VAGY kapcsolatban vannak. (Ezt csak zárójelben mondom)
A problémával kapcsolatban, csak a nagyobb önállóság kedvéért, először azt kérdezném, hogy megpróbálad-e rögzítővel felvenni a többszörös szűrést?
Mert annak az eredményében elég egyértelmű, hogy mit is kellene tenni. (szerintem)
Ez a megoldás csak fix értékekre működik.ha relációkat szeretnél alkalmazni a feltételhez, akkor javaslom az irányított vagy speciális szűrőt használni, és azt lemakrózni.
Ennek az elméleti és gyakorlati része itt olvasható:
http://excel-bazis.hu/tutorial/feltetel-tartomany-halado-szureshez-es-adatbazis-fuggvenyekhezEz egy sorozat, érdemes tanulmányozni.
Ha sikerül ezzel megcsinálni, akkor a feltétel tartomány kézi létrehozása után a szűrést itt is rögzítővel javaslom felvenni, és tanulmányozni, módosítani a kódját.
Imre
Szia!
Ez makróval oldható csak meg.
Eseménykezelőt kell írni ami akkor fut le, amikor egy adott oszlopban lévő cella tartalma megváltozik.1. A szóban forgó munkalap nevén jobb klikk -> Kód megjelenítése
2. A megjelenő ablak jobb oldalának tetején(General) helyett átváltod „Worksheet”-re, mellette válaszd ki a „Change” eseményt.
3. Megjelenik a Worksheet_Change eseménykezelő Subrutin üresen.
4. Egészítsd ki erre:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Application.EnableEvents = False Target.Offset(0, 1) = Date Target.Offset(0, 2) = Time Application.EnableEvents = True End If End Sub
5. Ha sikerült, akkor azt fogod tapasztalni, hogy bármit beírsz vagy változtatsz az „A”, azaz az 1. oszlopban, mellé beírja a dátumot, amellé meg az időt.
Ha nem az „A” oszlopról lenne szó, akkor a kódban módosítsd a
If Target.Column = 1
részt az annyiadik oszlopra, amit szeretnél.6. Mentsd a munkafüzetet makróbarát munkafüzetként (*.xlsm)
Szólj, hogy sikerült-e!
Imre
-
A hozzászólás módosításra került: 10 years telt el-
horvimi.
Na, összehoztam egy megoldást, majd nézd át, csatoltam.
A P1 és P2 cellákat neked kell kitölteni.
A működő eredmény a D,E oszlopokban van.A kísérleti rész csak kísérlet.
Imre
Attachments:
You must be logged in to view attached files.Megpróbálom értelmezni a konkrét kérdést a feltöltött minta alapján:
A C2-ben lévő képletet szeretnéd dinamikusan összerakni attól függően, hogy milyen terméknév van az első oszlopban.A modellt még nem értem teljesen, de gyanítom, hogy nem a legszerencsésebb.
Mindenesetre, ha jól látom a feladatot, akkor fix méretekre megcsinálható. De ha valóban bejöhet új termék és újabb polc (ami különben életszerű), akkor az már nagyon bonyolítja a helyzetet, mert a mostani modell szerint az első táblázatban meg kellene tudni keresni a határvonalat a termékek és a mozgópolcok között, illetve az utolsó mozgópolc sorát is meg kell állapítani dinamikusan.
Előbbi nehezebb, utóbbi kicsit könnyebb.A második táblázat (H oszloptól) lenne a feltöltési terv?
A számok darabszámok?
A SUMPRODUCT-al mit számolsz ki?
A 400 termék tehát elnyúlik 400 oszlopban?imre
Szia!
Esetleg valami részletet felvázolnál? Ennyiből nem értem a feladatot.
– Mit szeretnél elérni?
– Mi a kiinduló tábla?
– Tölts fel mintát!imre
Én is Örülök
🙂Szia!
Ez egy feltételes formázás probléma.
2 szabályt kell készíteni a lejárati dátum oszlopra.Feltételezem, hogy a lejárati dátum ismert, és ez van az E4 cellában.
ha több sornyi adat van, akkor A lejárati dátumok E4-ben kezdődnek.
1. Kijelölöd a dátumokat
2. Kezdőlap/feltételes formázás/Új szabály/Formázandó cellák kijelölése képlettel
3. Lent, a képlet helyére beíros ezt:
=E4-MA()<30
Ez azt jelenti, hogy a formázaddó cellában lévő dátum és a mai dátum között kevesebb, mint 30 nap van
4. készítesz az előbbiek szerint még egy szabályt, amibe meg ezt írod:
=E4-MA()<10
, majdeállítod hozzá a formátumot
Ha 10-nél kisebb különbség van, akkor egy másik formátum érvényesüljön.kb. ennyi
Imre
Nagyon köszönjük!
🙂Ja, mondjuk az elején rájöhettem volna, hogy mi is a probléma.
Ügyes torna volt, de felesleges
A szövegeket teljesen másképp rendezi az Excel (illetve szinte minden), mint a számokat.
A számokat rendesen nagyság szerint, de a szövegeket karakterkód szerint.
Emiatt az 1,2,3,4,5……10,11,12,……19,20,21 adatok szövegesen rendezve így néznek ki:
1,10,11,12,……..19,2,20,3,4,5,6,7,8,9Ha mindegyik SZ-el kezdődik, attól még ez lesz a helyzet.
Megoldás
Ki kell venni a szövegből a számot egy külön oszlopba, és számmá alakítani.
Ezután a táblázatot ezen oszlop szerint kell rendezni.Persze ha kavarodnak az SZ-el és valami mással kezdődő számlaszámok, illetve a mással kezdődők számozása külön van, akkor valahogy ezeket külön listába kell tenni.
Az előző példák alapján meg tudod keresni a PER jel pozícióját, és meg tudod keresni az első számjegy pozícióját is. A kettő közül KÖZÉP() függvénnyel kiveszed a sorszámot, és az ÉRTÉK() függvénnyel számmá alakítod.
imre
Szia!
Nem lehet ilyet csinálni a jelenlegi Excel verziókkal.
Imre
Visszatöltöm.
De 2003-on nem tudom tesztelni.Attachments:
You must be logged in to view attached files.JAJ!
Eszembe jutott, hogy a HAHIBA függvény csak 2007-től létezik!
Az első számjegy kereső képletet javítsd ki erre:=MIN(IF(ISERROR(FIND({0;1;2;3;4;5;6;7;8;9};B12));"";FIND({0;1;2;3;4;5;6;7;8;9};B12)))
Crtl+Shift+Enterrel zárd le, mert tömbképlet!
Imre
Megnéztem a fájlt, amit feltöltöttél.
Ott a számlaszámok nem mindig „SZ-el kezdődnek, és vannak egészen más formátumú számlaszámok is.
Mindenesetre a kihívás az, hogy más szöveggel kezdődő, de azonos formátumú számlaszámoknál is működő megoldást kellene találni.
Érdekelt a tém, ezért utánajártam egy kicsit.Az a lényeg, hogy meg tudjuk találni az első számjegyet. Ha ez megvan, akkor erre alapozva a z előző megoldás kicsit átalakított verziója működhet.
Visszatöltöttem a megoldást.
Az előző képlet neked is kilóg a jobb oldali sidebar-ba?
imre
Attachments:
You must be logged in to view attached files.Szia!
Most épp egy angol excel előtt ülök, ezért ezen csináltam meg. A csatolmányra most nincs időm, de itt a képlet. ha magyar az Excel-ed, cseréld ki a függvényneveket ennek megfelelően.
Ha a számlaszám az A1-ben van:="SZ"&TEXT(VALUE(SUBSTITUTE(LEFT(A1;SEARCH("/";A1)-1);"SZ";""));"00000")&RIGHT(A1;5)
Ezután lehúzhatod a többire.
Működés:
1. Megkeresem a PER jelet
2. Kiveszem a balra lévő részt („SZ1”)
3. Ebből törlőm az „SZ” részt, a maradék a számlaszám
4. Ezt számmá alakítom
5. Visszaalakítom szöveggé, de előírom, hogy 5 karakteres legyen („00000” formázókód)
6. Elé írom újra a „SZ” részt, és mögé az eredeti szöveg „/év” részét jobbrólÉrtékként ráírható az eredeti oszlopra.
Működik neked is?
Imre
Szia!
Tök jókat kérdezel! Így mindig Én is újakat tanulok.
Szóval kb. így van:http://excelribbon.tips.net/T007758_Sequential_Page_Numbers_Across_Worksheets.html
1. Minden nyomtatandó lapot kijelöl Csoportosítás
2. Oldalszám beállítás az élőfejben vagy az élőlábban
3. Csoportbontás
4. [Opció]: Az első lapon az oldalbeállítás első fülén beállítani a kezdő oldalszámot Automatikus helyett arra, ahonnan akarjuk kezdeni. (Ha ez is automatikus, akkor 1-től kezdi)
5. A többi lapon marad automatikus!
6. Nyomtatás párbeszédben beállítani, hogy az egész munkafüzetet akarjuk nyomtatni
7. Nyomtatási kép ellenőrzés
8. NyomtatásSzia!
Az egyéni számformátumban ezt írd be:
"Név: "@
Imre
Szia!
Először a konkrét kérdésre válaszolnék.
Olyat nem lehet csinálni, amit Te próbáltál.Itt egy többszörös elágazásról van szó, ami ha a név a B30-ban van, kb. így néz ki kettő név esetén:
=HA(B30=név1;név1-tárgyeset;HA(B30=név2;név2-tárgyesete))
A Te konkrét megoldásod esetén a végére írt külön „T” betű felesleges szerintem, mivel a két név esetén már a HA függvényen belül meg lehet adni a tárgy eseteket.
=NAGYBETŰS(HA(B30="Krem Ferenc";"Krem Ferencet";HA(B30="Kaczo Csaba";"Kaczor Csabát")))
Így, aképletbe beledrótozva a neveket, csak akkor van értelme, ha kevés, azaz 2-3-4 neved van.
Ha több neved van, de azok száma nem túl sok, akkor én azt csinálnám, hogy egy két oszlopos táblázatba felvenném a neveket, és azok tárgyeseteit.
Ezután FKERES függvénnyel keresném ki a névhez tartozó tárgyesetet.Ha nem ismered előre a neveket, azaz bármi lehet, akkor egy nyelvészeti problémával állunk szemben, ami nagy részben a magyar nyelv szabályainak ismeretével megoldható. De bizonyára vannak rendhagyók is.
Ez utóbbi eset nem az én kompetenciám 🙂
Imre
Szia!
Ha jól értem, akkor azt akarod, hogy egy cellába megadsz egy tartomány címet, és az ebbe a tartományba eső cellákat akarod feltételes formázással kijelölni.
Nagy nehezen kibénáztam.
Kicsit utánaolvasgatva úgy tűnik, hogy a logikai függvények együtt használva az INDIREKT-el, hibásan működnek a feltételes formázás képletében.
Mintha Excel BUG lenne.
Emiatt kiiktattam az ÉS függvényt, helyettesítve szorzással, és megjavult.=(SOR()>=Első_sor)*(SOR()<=Utolsó_sor)*(OSZLOP()>=Első_oszlop)*(OSZLOP()<=Utolsó_oszlop)
Az egyes tényezőket külön zárójelbe kell tenni.
Majd jelezz vissza, hogy jó lett-e.
Visszatöltöm a javított verziót.Imre
Attachments:
You must be logged in to view attached files.Szia!
Igen,a hiba abban van, hogy az időket nem kettősponttal írjátok be.
Úgy kellene.
Ezzel még nem vagy kész, de ez lenne az alap.Tudni kell még, hogy az Excel az időt a nap törtrészében értelmezi.
1 nap, azaz 24 óra, az 1 egész.
Tehát fél nap, az 0.5.Ha időket összeadsz vagy bármilyen műveletet végzek velük, akkor ezzel tisztában kell lenni.
Emiatt, ha rendes órában akarsz eredményt kapni, mert pl. órabérben akarsz elszámolást végezni, akkor át kell váltani az időértéket órára.
Mert ha valaki mondjuk dolgozik 8 órát, az valójában 1/3 nap, tehát az érték, amit tárolni fog, az 0.3333… nyilván nem ezt akarod szorozni az órabérével, hanem a 8-at.
Ezért el kell osztani 1/24-el, vagy szorozni 24-el, hogy rendes órát kapj.0,3333*24=8
A javítás és további magyarázat a fájlban van.
Majd jelezz vissza, hogy rendben lett-e!
Imre
-
A hozzászólás módosításra került: 10 years, 1 month telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Szia!
Elég közel jársz a helyes megoldáshoz.
Talán el is olvastad a nemrég postolt anyagot az egyéni számformátumokról, ahol ott van, hoyg a nulla vagy a kettőskereszt egy, azaz 1 számjegyet képvisel.Tehát neked kettesével kell beállítani ezt. hat számjegy estén 3 pár számjegy lesz:
##" "##" "##
Ha a formázandó szám több jegyű, akkor a bal oldalát nem fogja tagolni. emiatt a várható leghosszabb számot kell feltételezned, és azt kell hasonlóan kettesével megadnod.
A szóközt csak azért kell idézőjelbe tenni, mert máskülönben magyarországon ezres tagolónak gondolja.Jó így?
Imre
-
A hozzászólás módosításra került: 10 years, 1 month telt el-
horvimi.
Szia Krisztián!
Átfutottam, és ez nekem full kínai. Ha valaki néhány konkrét példán végigmagyarázná, akkor talán megérteném. Majd ez után jönne a te konkrét eseted behelyettesítése, stb…
Erre nincs kapacitásom, nem vállalom, elnézést.
Imre
Szia Krisztián!
Nem ismerem a képletet, illetve nem látom hirtelen, hogy miért kell ehhez Excel?
Ha pontosabb részleteket írsz, ránézek, de videót biztosan nem készítek.
Ha küldesz adatokat és képletet, akkor szívesen ránézek, hogy mekkora feladat ez.Imre
Kedves Krisztián!
Bár a fent leírt makró úgy tűnik, hogy jó lenne, de azért előtte érdemes kipróbálni ezt-azt.
Az Excelben ilyesmire találták ki a RÉSZÖSSZEG (SUBTOTAL) függvényt. Ennek speciális módon meg lehet adni, hogy a rejtett sorokat belevegye, vagy ne vegye bele az összegbe.
Használata:
=RÉSZÖSSZEG(109;Tartomány)
Ezzel a függvénynel nem csak összegző, hanem más összesítéseket is lehet végezni(pl Átlag). Az első paraméterben dől el minden.
Olvasd el a FÜGGVÉNY SÚGÓJÁT!A 2010-es verziótól ugyanezt meg lehet csinálni az ÖSSZESÍT (AGGREGATE) függvénnyel. Erről már van egy bejegyzés a bázison:
http://excel-bazis.hu/tutorial/osszesit-aggregate-fuggveny-az-uj-reszosszeg-bajnokMajd jelezz vissza, hogy sikerült-e!
Imre
-
A hozzászólás módosításra került: 10 years, 2 months telt el-
horvimi.
Igen, létezik, de azt nem FKERES-el, kell megoldani, hanem a HOL.VAN/INDEX páros tömbképletes megoldással, aminek az egyszerűbb verziója itt van a Bázison, ráadásul ez a legnépszerűbb, talán nem véletlenül:
http://excel-bazis.hu/tutorial/fkeres-vlookup-helyett-van-jobbA lényegét ott elolvashatod, a megoldást pedig visszatöltöm csatolva, várom a visszajelzésedet.
A képletet a rendszámnál Ctrl+Shift+Enter-rel kell lezárni, ha hozzányúlsz, vagy másolod az éles verzióba!Imre
-
A hozzászólás módosításra került: 10 years, 2 months telt el-
horvimi.
-
A hozzászólás módosításra került: 10 years, 2 months telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Köszönöm, örülök, hogy sikerült!
Szia!
Másodszor találkozok ezzel a hülyeséggel két hónapon belül. Előtte viszont még soha. Az egyik cégnél jöttek egy hasonló fájllal, ahol a szóközök valójában nem szóközök.
Ott a fájl MS NAVISION-ból származott.
A szóköznek tűnő dolog az valójában a HEXA A0 vagy ALT-0160.Ez csak úgy derül ki, hogy ha az egyik kérdéses cella tartalmát kimásolod egy sima jegyzettömb (txt) fájlba, majd olyan szerkesztővel nézed meg, ami meg tudja mutatni a fájlban lévő kódokat is. A Total Commander F3-as nézőkéje pl. ilyen.
1. F3-al megnyitod a nézőkét
2. A Beállítások menüben átváltasz Hexa nézetre
3. Ott látszik, hogy a szóköz helyén nem a Hexa 20 (decimális 32), hanem a Hexa A0 (decimális 160) áll. Ennek ANSI kódja a 0160, és Bal oldali ALT+0160-al lehet begépelni.Megoldás:
1. Keresés/Csere (Ctrl-H)
2. Amit keresel: ALT-0160 vagy idemásolod az egyik cella szóköz szerűségét
3. Csere erre: Üresen hagyod
4. Az összes cseréjeNekem ez számmá változtatta a cellákat, és lehetett összesíteni.
Írj, hogy mi lett!
Imre
P.S
Van még egy ilyen barátunk, az ALT-255, aminek Hexa FF a kódja. Ez is szóköznek látszik, de valójában nem az.
Éppen tervezek egy cikket írni erről, most megerősített, hogy IGEN, van ilyen máshol is.Szia!
Akkor csatold a fájlt, illetve annak a lényegi részét, és írd meg, hogy pontosan melyik oszloppal és mi a probléma!
Szia!
Kicsit elgondolkodtam ezen, aztán a következőkre jutottam:
Olyat nem tudok, ami az eredményt úgy jeleníti meg, hohy csak azok a dátumok maradjanak a szűrt tételek mellett, amik az intervallumon belül vannak.
Olyat viszont tudtam csinálni, hogy egy szűrő oszlopba megfogalmaztam egy spec. tömbképletben, hogy ha bármelyik dátum nagyobb vagy egyenlő, mint a kezdő dátum, és kisebb vagy egyenlő, mint a végdátum, akkor TRUE legyen, különben FALSE.
Erre aztán tusz szűrni.A tetejére csinátam egy intervallum cuccost is, ahová a sárga cellába csak be kell írni a hónap számát.
persze ez csak aktuális évre jó, azt a MA() függvényből veszi.A szűrő képlet nem nagyon bonyolult, de azért nézegetni kell egy kicsit, sok sikert hozzá!
Csatoltam, majd adj némi visszajelzést.
Imre
Attachments:
You must be logged in to view attached files.Szia!
Ez klasszikus esete a több feltétel szerinti keresésnek. ha FKERES-el szeretnéd megoldani, akkor ebben az esetben a táblázat elejére be kell szúrni egy új oszlopot, és oda össze kel fűzni azokat az oszlopokat, amelyek együtt már egyértelműen meghatározzák az adott sort.
Tehát a fenti példában készítesz egy „ID” oszlopot az elejére, és oda összefűzöd a „Márka”, „Szín”, „Évjárat” oszlopokat.
Az FKERES-el pedig ebben fogsz majd kerestetni.A másik oldalon, a mit-keres paraméternél pedig szintén összefűzött adatokat kell kerestetned.
Kicsit elvonatkoztatva kb így néz ki az FKERES:
=FKERES(marka&szin&evjarat;masik tabla;rendszam oszlop;0)
Ha ennyiből nem megy, akkor visszaküldöm a csatolt fájlt is.
Imre
Szia!
Nagyon örülök. Valami hasonlóra számítottam.
A régi babérok helyett újakat keresel, és magam is ezt teszem.
Nem kell mindenhez érteni.Az első kérdést 100-ból 90-en vagy többen nem tudnák. A Scroll Lock határeset 🙂
Sok szerencsét,
Imre
Szia!
A gond valójában az lehet, hoyg a cellaháttér színezés lefedi a segédrácsot (Grid), ami nem ugyanaz, mint a cellaszegély.
és a visszaállításkor ugye fehér színt adtam meg, ami jó ugyan, de eltünteti a grideket.Próbáld ki ezt a verziót:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Const nofill As Double = 16777215 If Target.Column = 1 Then uo = Target.CurrentRegion.Cells(Target.CurrentRegion.Cells.Count).Column If Target.Interior.Color = nofill Then Range(Target, Cells(Target.Row, uo)).Interior.Color = RGB(252, 213, 180) Else Range(Target, Cells(Target.Row, uo)).Interior.ColorIndex = xlNone End If End If End Sub
Ez a kód a fehér háttérszín helyett a Nincs kitöltést alkalmazza ebben a sorban:
Range(Target, Cells(Target.Row, uo)).Interior.ColorIndex = xlNone
Imre
Szia!
Hát, ez valójában két probléma, és valójában két Topic-ot érdemel, de ahogy a vérmérsékletedet elnézem, már utálsz, hogy ilyen dolgokat kérek, de a Fórumokban ez alap.
Az első problémára valószínűleg az a megoldás, hogy az Excelben egy beállítás rossz.
Fájl->beállítások->Speciális
A tetején a Szerkesztés kategóriában van egy olyan, hogy Tizedesjel automatikus beszúrása. Ha itt van pipa, akkor vedd ki.
A Száma: mezőben valószínűleg 1 van.
Ez egy elég nagy marhaság, és ráadásul félre is érthető, mert sokan azt hiszik, hogy ez arra való, hogy a beírt számot azonnal két tizedessel írja a cellába. Ezzel ellentétben azt csinálja, hogy a beírt számot annyiszor 10-el elosztva írja be, amit itt látsz.Azt tudnod kell, hogy ez alap telepítésben nincs bekapcsolva, tehát ezt valaki bekapcsolta nálad. vagy Te voltál véletlenül, vagy egy jóakaród 🙂
Másik kérdés
valószínűleg véletlenül bekapcsoltad a ScrollLock billentyűt. Ez okozza a jelenséget. Kis lámpa is van hozzá a billentyűzeten. Laptopokon némi félrenyúlással könnyedén elkövethető a dolog.Majd azért jelezz vissza, hogy mi lett az eredmény mindkét esetben, mert a Fórumokban ez is szokás 🙂
Imre
Örülök, hogy megoldódott.
Meg lehetne csinálni, hogy a fehér helyett a „Nincs kitöltést” adnánk meg, de ha nem muszáj, akkor ezt már rátok bíznám…Ha megengedsz még egy megjegyzést.
Olyan táblázatokat, amiken intenzíven dolgozunk, szűrünk, keresünk, bármi, jobb ha nem formázzuk sehogy. Rengeteg kellemetlenségtől szabadulunk meg.
Legfeljebb a fejlécet, esetleg a számformátumot, hogy olvashatóbbak legyenek az adatok.Formázni csak a „Presentation” szinten javasolt.
A világban ez a trend, a „Best Practice”Minden jót a következő kérdésig,
Imre
P.S
Makróírást például nálunk is lehet tanulni.
http://pentaschool.hu/office/excel-makro-vba-tanfolyam.phpHa ez az időpont nem jó neked, ami most lesz, de különben érdekelne, akkor az oldal tetején lévő kis táblázat „Érdeklődés” gombjával tudsz érdeklődőként regisztrálni egy későbbi időpontra. A megjegyzésbe írd be, hogy nappali vagy inkább esti időpont lenne jó.
-
A hozzászólás módosításra került: 10 years, 2 months telt el-
horvimi.
Szia!
Pontosan hogy gondolod az A4-es lapot A3-ra nyomtatni? Nagyítással?
Vagy fekvő A3-ra az oldal felére nyomtatja?Vagy csak simán meg akarod változtatni a papírméretet?
Gondolom a nyomtató tudja az A3-at.Word VBA-ban valami ilyesmit kell csinálni:
ActiveDocument.PageSetup.PaperSize=wdPaperA3
Ha Wordben nyomsz Alt-F11-et, majd Ctrl-G-t, és az Immediate ablakba beírod ezt, akkor mi történik?
Imre
A tartománynak összefüggőnek kell lennie, legalábbis most így írtam meg.
Tehát nem lehet benne üres oszlop vagy akár teljes sor.ha ez nem teljesül, akkor még lehetséges színezni ateljes sort.
Akkor a kódot cseréld ki erre:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Const nofill As Double = 16777215 If Target.Column = 1 Then uo = Target.CurrentRegion.Cells(Target.CurrentRegion.Cells.Count).Column If Target.Interior.Color = nofill Then Target.EntireRow.Interior.Color = RGB(252, 213, 180) Else Target.EntireRow.Interior.Color = RGB(255, 255, 255) End If End If End Sub
Imre
Szia!
Megcsináltam neked a makrót, csak a beillesztését kell megoldanod, a kódután leírom hogyan:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Const nofill As Double = 16777215 If Target.Column = 1 Then uo = Target.CurrentRegion.Cells(Target.CurrentRegion.Cells.Count).Column If Target.Interior.Color = nofill Then Range(Target, Cells(Target.Row, uo)).Interior.Color = RGB(252, 213, 180) Else Range(Target, Cells(Target.Row, uo)).Interior.Color = RGB(255, 255, 255) End If End If End Sub
Beillesztés
1. Annak a lapnak a nevén, ahová szeretnéd jobb klikk ->Kód megjelenítése vagy View Code
2. A jobb oldali ablak tetején az első legördülőt „General” helyett „Worksheet”-re állítod
3. A mellette lévő legördülőben megkeresed a „BeforeDoubleClick” eseményt.
Ezután kapsz egy üres eseménykezelő rutint, amit a fenti kóddal cserélj ki
4. KipróbálhatodHa az első (A) oszlopban duplán kattintasz egy cellán, akkor az egész sort a kódban látható RGB színre színezi, majd aktívvá teszi a cella szerkesztését. Ez utóbbit nem tudtam kiküszöbölni.
Ha egy már színezett sor első celláján kattintasz duplán, akkor leveszi a színt.5. ha tetszik, akkor a fájlt makróbarát munkafüzetnént (*.xlsm) formátumban kell mentened.
remélem sikerül, azért csatolok egy képet.
Imre
P.S
A másik kérdésben nem tudok segíteni sajnos.-
A hozzászólás módosításra került: 10 years, 2 months telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Szia!
A jelölő szónál leakadtam, csak próbálok találgatni.
leírom, hogy hogy értem ezt most Én:Egy táblázat első oszlopába, minden cellába szeretnél tenni egy checkbox-ot, amit ha megnyomsz, akkor a hozzá tartozó egész sort kiemeli egy színnel, ha újra megnyomod, akkor meg vissza.
Ha így van, akkor tennék javaslatot, hogy ne így csináld, mert akkor annyi checkbox kell, ahány sorod van, és ráadásul, ahogy tapasztalod, minden másolathoz külön-külön be kel állítania cellacsatolást, ami praktikusan különben az alatta lévő cella lenne.
Sok sor esetén drámaian lassítani fogja a modellt, és a fájlméret is jelentősen nőni fog.Én 1-el vagy 0-val jelölném azt, hogy színezni kell a sort vagy nem, és feltételes formázással színezném az 1-essel jelölt sorokat.
Aprócska makró betéttel meg lehetne oldani azt is, hogy ha duplán kattintasz az első oszlop bármely celláján, akkor színezze a teljes sort valamilyenre, ha megint duplán kattintasz, akkor pedig vissza.
A makrónak nem kell az ominózus fájlban lennie.
Imre
Szia Attila!
Az első kérdésedre azt tudom válaszolni, hogy tudásom szerint ezt csak makróval lehetne megcsinálni. Értesz hozzá valamennyire?
Ha jól értem, akkor sor-folytonosan haladva, cellánként ki akarod másolni a tartalmakat egy külön oszlopba egymás alá.
Ezt vagy soronkénti transzponálással, vagy cellánkénti másolással lehet megtenni.
Másik kérdés, hogy azt is akarod-e, hogy a kimásolt cellák kövessék az eredeti táblázat celláinak változásait? Mert ebben az esetben cellahivatkozásként kell kimásolni őket.A második kérdésre a válasz az, hogy NEM.
Színeket nem szabad használni megkülönböztetésre. Ugyan az új Excelek tudnak szűrni színre, de olyan munkalapfüggvény nincs, ami színre tudna feltételesen bármilyen műveletet végezni. Ez tehát megint makró lehetne, de Én inkább egy új oszlopot vezetnék be a fejkialakításnak, mondjuk egy legördülő választéklistával.
Két feltétel szerint már lehetne FKERES-t vagy Hol.VAN/INDEX keresést használni. Az sem triviális, de megoldható.Ja, Én nem látok csatolt táblázatot. Mikor feltöltötted, neked megjelent?
Imre
Szia!
Kicsit tovább tanulmányoztam a kérdést, és sikerült egy egyszerűbb, és nagyszerűbb megoldást találni.
Eljátszogattam azzal, hogy mi lenne, ha a cellacímet is két darabból raknánk össze. Az egyik darab ugye az oszlop, ez állandó, és a sor a másik, aminek pedig lefelé húzva növekvőnek kellene lennie.
Többféleképpen lehet lefelé húzva növekvő számsort előállítani, de nekünk most az a verzió kell, aminek csak a kezdő sorszámát kell megadni, és utána már működik, és nem függ a többi cellától, azok másolásától vagy mozgatásától.Előkészület
—————————–
Ha egy cellába beírod, hogy
=SOROK($1:1)
akkor 1-et kapsz. ha húzod lefelé, akkor növekszik. A függvény a megkapott tartomány sorainak számát adja vissza. Az érdekes az, hogy most két teljes sort adtunk meg neki, de az elsőt lekötöttük, azaz mindig 1, a másik viszont követi a lehúzás irányát. Tehát a második cellában már az lesz, hogy=SOROK($1:2)
, a harmadikban=SOROK($1:3)
, stb…Mindez az INDIREKT-el
—————————————
=INDIREKT("A"&SOROK($1:1))
Ez az A1-re fog hivatkozni INDIREKT módon ugyanazon a lapon. Vontathatod az A1-et, nem fogja követni.
Ha húzod lefelé, akkor viszont A2, A3, stb-re hivatkozik ugyanúgy
Ha nem az első sorban lévővel akarod kezdeni, mint a Te példádban, ahol a B7-el kezdesz, ot az első képletben ez kell:
=INDIREKT("B"&SOROK($1:7))
Azaz egytől hetes sorig a sorok száma lesz a kezdet, ha lehúzod, akkor jön a 8,9,stb.Mindez másik lapra
———————————-
=INDIREKT("Órarend!B"&SOROK($1:7))
Mondanék azért valamit. Az INDIREKT függvény un. VOLATILE típusú. Ez azt jelenti, hogy nem csak akkor számolódik újra, amikor valamelyik forrás cellája változik, hanem mindig, amikor bármely cella megváltozik.
Tehát ha több ezer sorod van, és ebben soronként 3 INDIREKT, valószínűleg drasztikusan lassú lesz a fájl.
Hogy miért pont ezt a megoldást választod, azt neked kell tudni, de nem igazán optimális modell. Persze, lehet, hogy makrózni kellene, de ezt most hagyjuk.
Visszatérve a problémára:Ha mindent úgy csinálsz, mint ahogy leírtam, működnie kellene, de Én is sejtettem, hogy lesz itt még valami.
Küldd el a fájlt, jelöld meg az átalakítandó oszlopot, és megküzdök vele, majd beszámolok.
horvimi[qkac]gmailSzia!
Egyik probléma generálja a következőt! 🙂
Mindenesetre nagyon inspiráló kérdéseket teszel fel, de még állom a sarat! 🙂
Először el akartam passzolni, de végül ezzel is elvoltam egy darabig, és az egyik ötlet beválni látszik.
Most csak arra hozom a példát, hogy az A oszlopra akarsz hivatkozni INDIREKT-el.
Angol 2013 előtt ülök most, a magyar megfelelőket kell használnod.
Lépésenként megyünk:
1. B1-be írd ezt
=CHAR(34)&ADDRESS(ROW(A1);COLUMN(A1);4)&CHAR(34)
A KARAKTER(34) az idézőjel kódja. A CÍM függvény visszaadja egy cella címét. belül a SOR és OSZLOP függvényeket használtam a sor sé oszlop tényezőkhöz, a 4-es pedig azt kéri, hogy relatív, tehát A1 formában adja vissza.
ha ezt beírod a B’-be, akkor „A1” lesz az eredmény.
Húzd le az egész oszlopra.2. C1-be írd ezt:
="=INDIRECT("&B1&")"
Ez szövegesen képzi az INDIREKT függvényt, belefűzve az előbb összerakott címet. Az eredménye ez lesz: =INDIRECT(„A1”). Viszont nem számol, mert ez még csak szöveg.
Húzd le az egész oszlopra.
(Ha a képletnek még van további része, akkor azt szövegesen hozzáfűzheted még itt)3. A C oszlopot saját magára tedd vissza értékként.
Továbbra is szöveg marad, de már nem képlet, tulajdonképpen működnie kellene. Ezt ki tudod próbálni, ha a C1-en nyomsz egy F2-t, majd egy ENTERT, azonnal jó lesz. De ezt több ezer soron macerás lenne, ezért:4. jelöld ki a C oszlopot, majd nyomd meg az ALT-F11-et, hogy átlépj a Visual Basic szerkesztőbe.
Ezután nyomj Ctrl-G-t, hogy megnyíljon a parancssor. (Immediate Window). Rendezd úgy az ablakokat, hogy mögötte lásd az excel felületen még mindig kijelölt C oszlopot.5. Az Immediate ablakba írd be:
selection.formula=selection.formula
Ez eljátssza, mintha minden cellán nyomtál volna egy F2+ENTER-t.
6. A segéd B oszlopot ezután törölheted.
Nekem ez így sikerült.
Csatolom a minta fájlt. Ebben először a D oszlopba lemásoltam a C oszlop képletét, és a 3. ponttól azon csináltam meg, hogy megmaradjon az eredeti.
Imre
-
A hozzászólás módosításra került: 10 years, 3 months telt el-
horvimi.
Attachments:
You must be logged in to view attached files.Szia!
Csak annyi a hiba, hogy az FKERES-nek van egy utolsó, negyedik argumentuma,amit Te nem adtál meg. Ez az argumentum mondja meg, hogy pontos vagy közelítő keresést végezzen. A 0, azt jelenti, hogy pontos, az 1 pedig azt, hogy közelítő.
Ezt most nem fejtegetném, nézd meg az FKERES súgóját vagy bárhol a neten, rengeteg leírás van.
Mindenesetre ebben az esetben az FKERES függvény végére még egy nullát kell tenned, és jó lesz.=FKERES(D2;$A$2:$B$4;2;0)
Imre
Szia!
Ez úgy lehetséges, ha ismert, hogy melyik névhez milyen kód tartozik.
Ha ez az összerendelési lista csak néhány elemből áll, akkor akár a HA() függvénnyel is megoldható a probléma.Ha hosszabb ez a Név->Kód lista, akkor ezt az összerendelési listát minimum két oszlopban le kell tenni egy tartományba, és utána FKERES vagy HOL.VAN+INDEX megoldással lehet megoldani.
Utóbbira találsz magyarázatot itt:
http://excel-bazis.hu/tutorial/fkeres-vlookup-helyett-van-jobbha nem boldogulsz, tölts fel egy mintát, amiben képlet nélkül bene van, hogy miből mit szeretnél előállítani, és a válaszban visszatöltöm a megoldást.
Imre
2014-12-19-22:53 Hozzászólás: Eredeti cellahivatkozás megőrzése a hivatkozott cella áthelyezése esetén #1670Szia!
Tipikus alkalmazási lehetőség az INDIREKT függvényre.
Magyar verzióban INDIREKT, angolban pedig INDIRECT.
Tehát, ha pl. a B2-es cellára akarsz mindig hivatkozni, és nem szeretnéd, hogy a hivatkozás kövesse a B2 mozgását (vontatás, vagy sor/oszlop beszúrás, stb.), akkor így kell rá hivatkozni:=INDIREKT("B2")
Az INDIREKT függvény argumentumában szövegesen adjuk meg a hivatkozott cella vagy tartomány címét. Ez az alkalmazás a lehető legegyszerűbb, de jelentősen bonyolultabb hivatkozások is összerakhatók szöveges összefűzésekkel.
Imre
Szia!
Érdekes, most Én sem látom a többi részt az idézett linken.
Igen, regisztrációt és fizetést is igénylő oldal, de eddig egy-egy kérdésjhez megmutatta a válaszokat.na mindegy, lényegében az van benne, hogy próbáld meg JAVÍTANI az office telepítést.
Vezérlőpult->programok…->Microsoft Office…->javításVagy levenni és újra telepíteni.
Mondjuk én ActiveX vezérlő gombot munkalapon eleve nem használok, csak a sima Form típusút. Egyszerűbb, nem sérülékeny, és ugyanazt tudja mint a másik.
Imre
Szia Feri!
Nem találkoztam még hasomló problémával. Egy gondolatom lenne magamtól:
Az a kérdés, hogy tudsz-e Active-X vezérlőt (Gombot vagy bármilyet) betenni egy teljesen új munkafüzetbe?
Ha igen, akkor valószínűleg megsérült a jelenlegi fájl. Pakolj át mindent egy újba.Más lehetőségek:
Rákerestem, ezeket találtam, remélem segíthet valamelyik. majd írd meg, ha esetleg.
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_27664527.html-
A hozzászólás módosításra került: 10 years, 4 months telt el-
horvimi.
Szia Csilla!
Még nem csináltam ilyet, de utánanéztem.
Csak arra találtam megoldást, hogy másik munkalapról hogy lehet választani, illetve kijelölni. Úgy tűnik, hogy másik munkafüzetből nem enged választani, állandóan visszadob az aktuális munkafüzetbe.Egy kicsit módosítottam, hogy ne legyen benne goto, és ha semmit nem választunk, akkorne történjen semmi.
Sub proba() Dim ThisArea As Range On Error Resume Next Set ThisArea = Application.InputBox(prompt:="Select a range...", _ Title:="Select a range in a different worksheet", Type:=8) If Not ThisArea Is Nothing Then 'ide jon, amit akkor kell csinalni, ha valasztott valamit ThisArea.Parent.Parent.Activate ThisArea.Parent.Activate ThisArea.Select End If On Error GoTo 0 End Sub
Ahol találtam:
http://www.vbaexpress.com/forum/showthread.php?21137-Solved-Inputbox-method-to-pick-a-range-in-another-workbookMit csinál:
– A ThisArea az Inputbox-al kijelölt terület
– ThisArea.parent a kijelölt terület munkalapjának (szülője) neve
– ThisArea.Parent.Parent A munkafüzet, ahonnan választottad.Tehát belép a kijelölt tartomány munkafüzetébe és munkalapjába, és kijelöli a kiválasztott tartományt.
Másik munkafüzet
Ehhez egy speciális UserForm-ot kell készíteni, ahol először munkafüzetet választasz, és utána külön tartományt a refEdit vezérlővel. A megoldást itt találod:
http://stackoverflow.com/questions/18125650/vba-dialog-box-to-select-range-in-different-workbookFigyelem!
A párbeszéd kirakása előtt meg kell jegyezni, hogy melyik munkafüzet az aktív, mert ez azzal trükközik, hogy aktívvá teszi a megadott munkafüzetet, majd ott enged választani. A választás után, a Form bezárását kövbetően vissza kell menni az eredetileg aktív munkafüzetbe.Sok sikert,
Imre
Szia!
Alapvetően szerintem két út áll előtted, ha valamiféle automatizált szűrést szeretnél.
Az egyik a makró. Ezen belül két lehetőséged van:
1. Egy gombnyomásra vagy billentyűkombinációra induló szűrés, ami a fő táblázatod sorait az aktuális állapot szerint az igényeid szerint szűri, és az egész eredményt, vagy annak csak a kívánt oszlopait átteszi egy megadott lapra.2. A másik, hogy eseménykezeléssel automatizálod, azaz ha a címke oszlopban változás történik, akkor fusson le az előbb leírt szűrés és másolás.
A másik pedig a képlettel történő dinamikus szűrés.
Erre itt találsz példát:
http://exceltactics.com/make-filtered-list-sub-arrays-excel-using-small/Imre
-
A hozzászólás módosításra került: 10 years, 5 months telt el-
horvimi.
Azt hiszem már nagyjából értem a feladatot. Egy meglehetősen bonyolult összefüggés, lehet, hogy fel lehetne képletezni, de nem vállalkozom rá. Ne haragudj, de ennyi időm nincs egy témával foglalkozni. Még makrót írni is eléggé bonyolult lenne rá.
imre
Szia!
Elég hosszan nézegettem a fájl tartalmát és a szöveget, amit írtál hozzá, mire leesett hogy valószínűleg mit akarsz csinálni. leírom, mit értettem:
Vannak a könyvelési dátumok, az azonosítók és a hónapok oszlopai.
A hónapok oszlopai a kitöltendők, ehhez kellene képlet.
Vegyük a „C” oszlopot, ami a januárhoz tartozik:
Ha a könyvelési dátum januárban van, és az adott kód először fordul elő, akkor az érték legyen a könyvelési dátumhoz tartozó nap,különben nulla. (A mostani képlet nem ezt csinálja, de gondolom az csak egy próbálkozás)
Ez a logika megbukik a „D8”-ban, mert abban a sorban a „200405” azonosító másodszor fordul elő, ezért a „D8”-nak nullának kellene lennie.Még azt látom esélyesnek, hogy a fentieket adott hónapon belül kell vizsgálni, azaz az elején lévő „200000” azonosító előfordul egyszer januárban, és egyszer februárban, és mivel nem ugyanabban a hónapban van, mindkét eset első előfordulásnak számít. Ebből következően „C2”-nek 1, „D3”-nak 28 lenne a kívánt értéke.
Ha utóbbi az igaz, akkor meglehetősen bonyolult a probléma, legalább is ezzel a szerkezettel.Visszatöltök egy fájlt, aminek az első munkalapján C,D oszlopába kézzel beírtam, hogy szerintem minek kellene ott lennie a bonyolultabb eset szerint, és az E oszlopba duplikáltam a februárt, és írtam egy képletet, ami az egyszerűbbik esetre ad megoldást, azaz nem figyeli azt, hogy mikor duplikálódik az azonosító. Emiatt D3<>E3 és D7<>E7.
DE az is jó lenne, ha tisztáznánk mi is a feladat Exceltől függetlenül. Pl. az, hogy mondjuk meg, havonta, hogy egy adott azonosítót hányadikán könyveltek először?
A feltöltött munkafüzet második, „próba” lapján megcsináltam a második módszer szerint. A „C” oszlopba tettem egy segéd oszlopot, ami összefűzi a könyvelési dátum hónapját és az azonosítót. A fejlécet átneveztem hónapszámok szerint.
Így most a színezett részen képletekkel számol minden hónapban az adott azonosító első előfordulását írja ki a megfelelő oszlopba.Majd megírod jó-e valamelyik megoldás.
Attachments:
You must be logged in to view attached files.Szia!
Én nem látok csatolt fájlt, a leírásból meg nem igazán jön le mit szeretnél.
Egy dátumhoz tartozó hónap napjainak száma könnyű, de a duplikációs részt nem értem.
Nem engedte a rendszer a fájl feltöltést?Szia!
Ezt klasszikusan egyéni adatérvényesítési szabállyal szoktuk megoldani. Milyen Excelt használsz és milyen nyelven?
Tegyük fel, hogy magyar Excelt használsz.
1. Első lépésként javaslom, hogy alakítsd táblázattá az egész tartományt.
2. Jelöld ki azt az oszlopot, ahol a szabályt akarod, fejléc nélkül.
tegyük fel, hogy ez az F2:F10 tartomány.
3. Adatok->Érvényesítés
4. Megengedve: Egyéni
5. Képlet:
=DARABTELI($F$2:F10;F2)=1
Működés
Megvizsgálja, hogy az F2-től az aktuális celláig lévő tartományban az aktuális cella értéke hányszor van benne. ha ez 1, akkor megengedi beírni, ha nem, akkor hibaüzenetet ad.Imre
Ha táblázatá alakítod, akkor magától viszi a szabályt a következő sorra.
Szia!
Egy kicsit pontosítanod kellene az igényt, de megpróbálom kitalálni.
Ha beírsz az egyik táblázat(forrás) utolsó sorába egy új rekordot, akkor az vagy teljes egészében, vagy csak bizonyos cellái automatikusan jelenjenek meg egy másik táblázat (cél) ugyanannyiadik sorában.Ha automatikusan szeretnéd, akkor ez csak makróval oldható meg.
Megoldható cellánként, vagy akkor, ha kész vagy a teljes forrás sor beírásával. A célhelyen megjelenhetnek a másolatok értékként vagy képlettel. Utóbbi esetben ha a forrás változik, a cél is fog.A másik, egyszerűbb megoldás, hogy a céltáblázat celláiban egyszerűen áthivatkozol a forrás táblázat megfelelő sorában lévő celláira.
Így, ha a forrás táblába beírtál új sorokat, akkor a céltábla utolsó sorát csak le kell húzni, hogy a képletek a további sorokat is áthozzák.
Ez persze nem teljesen automatikus, csak félig.Imre
Szia!
Teljesen jogos, rossz sorrendet írtam le, miután megcsináltam. javítottam a sorrendet, így már jó lesz.
Nyilván, miután már értékként van beillesztve, nem fog képletet tartalmazó cellákat találni benne. Tehát addig kell keresni a számot eredményező képletet, amíg még képlet állapotban van.Imre
Szia!
Nézzük a létező problémákat:
- Igen, gyakran előfordul, ha mindenképpen szövegesként szeretnének egy értéket, hogy elé generálnak egy aposztrófot
- Az aposztroftól nem könnyű megszabadulni. Pl. ha aposztróf nélkül leírjuk a cella tartalmát egy másik cellába, majd értékként beillesztjük az aposztróforra, akkor is megmarad az aposztróf.
- Ha egy képlettel eltüntetjük az aposztrófot, akkor a cella tartalma nem lesz üres, mert az excel nem rtud egy cellába ÜRES, azaz BLANK értéket írni. Ezt dupla idézőjellel szokták csinálni, de ez nem üres cella, csak üres sztring.
Megoldási lehetőség
- A csak aposztrófokat tartalmazó cellák hossza nulla. Írunk egy képletet, ami a nem nulla hosszúságú cellákról leveszi az aposztrófot, a nulla hosszúságúak helyett pedig egy számot ad (mindegy mit, én a nullát választottam.) Legyen A10 az aposztrófos oszlop első cellája, akkor mellé egy segédoszlopba jön a képlet:
=IF(LEN(A10)<>0;RIGHT(A10;LEN(A10));0) =HA(HOSSZ(A10)<>0;JOBB(A10;HOSSZ(A10));0)
- Ezután ezt lemásoljuk az egész oszlopra
- A képletes oszlopot kijelöljük (ha nem lenne kijelölve) és a speciális kijelölést választva azt jelöljük be, hogy Képlet->Szám. Ezzel kijelöli csak a nullákat, és egy DEL-el lehet őket törölni.
- Még mindig ugyanezt az oszlopot saját magára értékként beillesztjük.
- Kitöröljük az eredeti, aposztrófos oszlop tartalmát. (Fejléce marad)
- Az előbb értékként beillesztett oszlopot áttesszük az eredeti helyére, a segédoszlopot törölhetjük.
Kész, mehet a kategóriák pótlása a fenti leírás szerint.
Ja, és abban van a speciális kijelölés is, ha esetleg valaki nem ismerné…
Imre
-
A hozzászólás módosításra került: 10 years, 10 months telt el-
horvimi.
-
A hozzászólás módosításra került: 10 years, 10 months telt el-
horvimi.
-
A hozzászólás módosításra került: 10 years, 10 months telt el-
horvimi.
-
A hozzászólás módosításra került: 10 years, 10 months telt el-
horvimi.
-
A hozzászólás módosításra került: 10 years, 10 months telt el-
horvimi.
A PIVOT nemfrissül automatikusan, csak az adatterület, ha az táblázat.
A PIVOT-ot jobb klikk/Frissítés paranccsal minden változáskor frissíteni kell.Vagy lehet csinálni egy eseménykezelő makrót, ami minden változáskor frissíti a Pivot-ot.
Imre
Szia!
A régi és az új ügyfelek számolását továbbra sem értem. Főleg, ha TAJ oszlopot használod erre. egy kicsit magyarázd el.
Nem nagyon indokolt különben olyan képletet alkalmazni, ami teljes oszlopokra hivatkozik. Ne felejtsük el, h több, mint 1 millió sor van!
A megoldás az, hogy táblázattá kell alakítani a statisztika adatlap tartományát, és így név szerint tudsz hivetkozni egy oszlopra, bármennyi sora van, az új sorokkal pedig automatikusan bővülni fog.
Lásd: http://excel-bazis.hu/tutorial/dinamikus-nevtartomany-hasznalataDe egyelőre hagyjuk ezt, és nézzük csak a régi/új oszlop képletét, amit dinamikus névtartomány használatát feltételezve így írnék:
=HA(DARABTELI(Taj;B2)=1;"uj";"regi")
Ez azt fogja tenni, hogy ha egy Taj számot újra bevisznek a táblázatba, akkor az „régi” lesz, de az első előfordulása is átvált „régi”-re, és Te pont ezt szeretnéd, ah jól értem.majd ezután csinálnék az egészből egy PIVOT-ot, aminek a Sor cíkéjébe bevinném a TAJ mezőt, az oszlop címkéjébe a Regi/uj mezőt, és a Szumma területébe pedig behúznám újból a régi/új mezőt, hogy megszámlálást csináljon.
Így minden Taj-ra megkapod, hogy régiként hányszor van benn és újként hányszor (itt csak az egyszer szereplő Taj számok lesznek nyilván)
A sor összesítésben Taj számonként fogod látni, hogy hányszor van bevive ua a Taj, az oszlop összesenekben pedig látod, hogy hányszor szerepel a régi és hányszor az új szó az oszlopban.
talán ez még nem teljesen az, amit szeretnél, mert ha egy ügyfél háromszor van benne, akkor az három „régi” szó lesz, de ez valójában egy db régi ügyfél.
Megoldás:
A taj oszlop mellé kell egy segédoszlop,a mi egy Taj első előfordulásákor 1-et ad, különben pedig nullát. A TAJ a B oszlopban van, akkor a képlet a C oszlopban:
=HA(DARABTELI($B$2:B2;B2)=1;1;0)
És a PIVOT-ba a szumma területre ezt a mezőt is húzd be. (Szum fv)
Az oszlop összesenekben látszani fog, hogy hány régi és hány új ügyvél van.Imre
-
A hozzászólás módosításra került: 10 years, 10 months telt el-
horvimi.
Szia!
Első probléma, az ügyfelek száma. Azt nem tudom értelmezni, hogy hány régi és hány új ügyfél van, mert amikor valaki először belekerül, akkor újnak számít, legközelebb már réginek.
De arra tudok megoldást adni, hogy hány ügyfél van egyáltalán, tehát hány különböző TAJ szám van a TAJ oszlopban.
Képlet angol Excelre:
=SUM(1/COUNTIF(TAJ oszlop,TAJ oszlop))
Képlet magyar Excelre
=SZUM(1/DARABTELI(TAJ oszlop;TAJ oszlop))
Figyelem! A képletet Ctrl+Shift+Enterrel kel lezárni, mert tömbképlet
A TAJ oszlop a TAJ számokat tároló oszlop hivatkozása, pl.: B2:B500
A részletek itt:
http://www.excel-easy.com/examples/count-unique-values.htmlMásodik probléma, hogy ha bekerül egy új sor, akkor a megfelelő oszlopba megadja, hogy a új vagy régi ügyfél. Ehez azt kell csinálni, hogy a bevit TAJ számot megkell nézni az egész TAJ oszlopban az elejétől az aktuális sorig, hogy hányszor szerepel. ha ez 1, akkor most került be elsőre, ha nem, akkor már legalább egyszer benne volt. Ennek megfelelően kell egy ha fv, ami ezt eldönti.
Tegyük fel, hogy a táblázatban a TAJ számok a B oszlopban vannak, és az adatok a második sortól kezdődnek, mert az első a fejléc.
Képlet a „regi/uj” oszlop második sorában:
=HA(DARABTELI($B$2:B2;B2)=1;"uj";"regi")
Ezt aztán le lehet húzni a többi sorra.Imre
Szia!
A DARABTELI (Countif) függvénynek ismert ez a hülyesége.
14 karakterig jól működik.
Ezt a képletet próbáld ki:
=szorzatösszeg(–(tartomány=feltétel))
Pl. ha a kódjaid,amiben keresel az A1:A10 tartományban vannak, amiket keresel pedig a B1-től kezdődik, akkor a C1-be írd ezt:
=SZORZATÖSSZEG(–($A$1:$A$10=B1)), majd húzd le az oszlopban.
Működése
————–
A Szorzatösszeg zárójelein belül egy tömbképlet van, ami az A1:A10 tartomány minden elemét összehasonlítja a B oszlop aktuális elemével, és visszaad egy tömböt, ami kb így néz ki: {FALSE;TRUE;FALSE….} .
A dupla mínusz jel a TRUE/FALSE értékekből 1/0 értékeket csinál, azaz
{0;1;0…} Végül nincs más dolgunk, mint összeadni ezt a tömböt. Ahány egyes van benne, annyi egyezést talált. Azért használunk itt Szorzatösszeg függvényt a SZUM helyett, hogy ne kellejen CTRL-SHIFT-ENTER-el lezárni, elég legyen a sima ENTER.
Imre2014-04-15-22:38 Hozzászólás: Makró készítés/használat táblázat autómatizáláshoz, sorbarendezéshez. #1474A problémát eseménykezelő makróval lehet megoldani.
Az esemény az, hogy az adott munkalapon megváltozik egy cella tartalma.
Ezt így leírva meglehetősen hosszadalmas lesz, de megpróbálom:
Feltételezem, hogy a táblázatod folyamatosan ki van töltve, és a pontok az “F”, azaz az 5. oszlopban vannak. Tehát, ha az 5. oszlopban bármelyik cella megváltozik, akkor a táblázatot az 5. oszlop szerint rendezi csökkenő sorrendben.
Lépések:
1. Legyen az aktív cella azon a munkalapon, ahol a táblázatod van
2. Lépj át a VBE felületre (ALT-F11)
3. Ha nem látszik, kapcsold be a Projekt ablakot (Ctrl+R)
4. Kattints a projekt ablakban duplán a táblázatot tartalmazó Sheet-re
5. A jobb oldalon a kód ablakba másold be ezt a kódot:
——————————————————————-
Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Integer
col = 5
If Target.Column = col Then
ActiveSheet.sort.SortFields.Add Key:=ActiveCell, _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveSheet.sort
.SetRange ActiveCell.CurrentRegion
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
————————————————————
6. Ha nem az 5. oszlopban vannak a pontszámok, akkor változtasd meg a col=5 sort másik számra.
7. Menj vissza az Excel lapra
8. Próbáld ki, hogy beírsz egy új sort, vagy csak egy új pontszámot a végére.
Jó szórakozást!
Horváth ImreÉn ezt így oldottam meg
Hát, igen, az egyesített cellák…
Van rá megoldás, de meglehetősen bonyolult tömbképlet, amivel az a baj, hogy ha nem tudod hogyan működik, akkor nem is tudsz rajta változtatni.
Találtam egy ilyesmit, igaz, hogy függőlegesen van, de áttehető vizszintesre.
http://forum.chandoo.org/threads/formula-challenge-021-sumif-in-merged-cells.11927/Én inkább azt javasolnám, ha már ilyen táblaszerkezetet használtok, hogy az összevont cellákat (napokat) tartalmazó sor alá tegyél egy új sort, ahol minden naphoz mindhárom cellában megismétled a nap nevét. Ezt a sort aztán el lehet rejteni. A SUMIF képletben pedig ezt a sort használod kritériumnak.
Imre
Szia!
Egy cellába beírod a munkafüzet nevét, majd onnan kiolvasod egy változóba.
Javaslom, hogy a neve tartalmazza a kiterjesztést is.
Pl.: ha A munkafüzet neve a D1-ben van, akkor írhatsz ilyet, hogy:valtozo=Range(„D1”).value
Mentéskor vagy megnyitáskor a teljes útvonalra szükség lesz, mert ha nem definiálod, akkor az aktuális munkakönyvtárba ment, vagy ott ker3esi a megadott nevű fájlt, ami nem biztos, hogy jó.
De ez már egy másik történet.Imre
Az IF() függvényen belül lehet írni még egy IF-et, és azon belül még egy IF-et, stb.. azaz egymásba lehet őket ágyazni. A hasonló feladatokra ez egy lehetséges megoldás.
Általánosan így néz ki:
=IF(első_feltétel;érték_ha_ez_igaz;IF(második_feltétel;érték_ha_ez igaz;érték_ha_egyik_sem_volt igaz))Ez csak matematika. De technikailag úgy kell gondolkozni, hogy a ledolgozott órákat mindenképpen be kell írni valahová. Így soronként 3 oszlop kell.
Mondjuk az elsőbe írod a valódi órákat, ami ha jól értem >=8. De életszerű, hogy lehet kevesebb is.
A következóben van a normál, ami úgy néz ki, hogy ha a normál nagyobb, mint 8, akkor 8 lesz, különben pedig normal.
=IF(normal>=8;8;normal) A normal a megelőző cella.
A harmadik oszlopban pedig jön a túlóra, ami a valódi és a normal különbsége.Imre
Szia!
Nagyjából értem, amit csinálni akarsz. Az a lényeg, hogy meg kell számolni, hány nulla van a tartományban (sorban), és annyit kell kivonni a huszonnégyből.
Angol függvénnyel ez a COUNTIF.
Tegyük fel, hogy az órákat az A:K oszlopok között vezeted.
A COUNTIF(A1:K1,0) megmondja, hogy hány nulla van az A1:K1 tartományban.
A képlet valami hasonló lehet:
=24-COUNTIF(A1:K1,0)
A 24-et persze beírhatod egy külön cellába, főleg ha mindenkinek más mennyiségű szabadnap jár, mert ez több dologól függ.Imre
Ezt ennyiből nagyon nehéz megmondani. Nyilván látszik, hogy valahol itt a balhé:
R[” & -1 * ecskoordinatayAz érthető, hogy mit szeretnél, és miért.
Hogy mi a hiba, azt nyomozni kell, pl. a fenti változó követésével.Ha nem boldogulsz, akkor látnunk kell afájlt és a kódot, hogy ki tudjuk próbálni.
Nekem ez vált be:
Ha csak annyit írsz, hogy Cells(x,y), az az aktív sheet Cells gyűjteményét jelenti. Mert nem adod meg, hogy mihez tartozik.
Csináltam két próbát:
Sub proba()
With Sheets(„InvAct”).Range(Sheets(„InvAct”).Cells(3, 1), Sheets(„InvAct”).Cells(10, 1))
.Value = „valami”
End WithEnd Sub
————————————————-
Sub proba_1()Set sh = Sheets(„InVact”)
Set r = sh.Range(sh.Cells(3, 1), sh.Cells(10, 1))
With r
.Value = „valami”
End WithEnd Sub
Mind kettő megy tökéletesen.
Tehát a Cells() előtt definiálni kell, hogy melyik lap Cells gyűjteményével dolgozol.
A meglévő makrót nem küldted be, de lapot beszúrni és elnevezni egyben így lehet.
Elejére, vagy bármelyik elé:
sheets.Add(before:=sheets(1)).name="valami"Végére:
sheets.Add(before:=sheets(sheets.count)).name="valami"Ha már létezik,és utána akarod átnevezni, akkor tudni kell, hogy hányadik lap, vagy mi a neve. Új munkalap nevét elég nehéz eltalálni, ezért ehhez jobban kellene ismerni a Te esetedet. Az átnevezendő munkalapot hová szúrtad be?
De lehet, hogy az elejln adott megoldás már elég is…Speciális számformátumot kell alkalmaznod.
1. Jelöld ki a tartományt, ahová a számok kerülnek
2. Nyomd meg a Ctrl+1 kombinációt (Cellaformázás)
3. Az egyéni kategóriában a kódhoz másold be ezt:
„+ „# ##0;-# ##0Ha Ft-ot is szeretnél, akkor pedig ezt:
„+ „# ##0″ Ft”;-# ##0″ Ft”A pontosvessző bal oldalán a pozitív, a jobb oldalán a negatív számokhoz tartozó formátumkódot kell írni, ha különböznek.
Semmit nem rontottál el, a szerkesztőléc mutatja a képletet, a cella meg az eredményét. Ezt kell saját magára, vagy az eredeti, rossz számot felülírni értékként. Ha esetleg ez számosra újdonság, akkor leírom:
1. Kijelölöd az ÉRTÉK képleteket
2. Ctrl+C (Copy)
3. Kijelölöd az eredeti cellát/cellákat
4. Irányított beillesztés -> ÉrtékekEzzel a képletek aktuális értéket írja a kijelölt cellába
Szia!
Továbbra sem látok vesszőt a fenti számban, csak kötőjelet, ezért feltételezem, hogy ezt akartad írni. Tegyük fel, hogy ezek a számok (amik most szövegek) egy oszlopban vannak, legyen ez a ‘B’ oszlop, és az adatok a ‘B2’-ben kezdődnek. Azt is feltételezem, hogy magyar rendszert használsz, ahol az ezres elválasztó a szóköz, és nem a pont. A feladat 3 lépésben oldható meg.
Ha nincs üres oszlop, akkor szúrj be 3 üres oszlopot jobbra.1. A ‘C3’-ba írd a következő képletet:
=HELYETTE(B2;”.”;””)
Ez kiveszi a pontokat az adatból. Kicseréli a pontokat a semmire.
Húzd le az egész oszlopra. (Dupla klikk a sarkán)2. A ‘D3’-ba jön a következő képlet:
=HELYETTE(C2;”-„;””)
Ez kicseréli a kötőjelet a semmire, marad a szám, de még szöveg formában van. Húzd le az egész oszlopra.3. Az ‘E3’-ba jön az utolsó képlet
=ÉRTÉK(D2)
Ez a szöveges számot valódi számmá alakítja. Húzd le az egész oszlopra.Végül a ‘D’ oszlopot értékként másold vissza az eredeti ‘B’ oszlopra, majd
kitörölheted a felhasznált 3 segédoszlopot.Jó munkát 🙂
Továbbra is azt gondolom, hogy formátum probléma van, illetve kerekítési/megjelenítési gond. A másolást ezek szerint vízszintes irányban csinálod.
Erre nem válaszoltál:
– A kiinduló értékeket Te írod be, vagy adottak valahonnan?Próbáld meg a kiinduló értékeket egésszé alakítani a csonk() vagy a kerek.le() függvénnyel, majd értékként visszatenni, és utána próbáld meg a kitöltést.
Ez alapesetben nyilván nem normális viselkedés. Kicsit pontosítsuk a jelenséget, ezért kérdeznék:
1. te írod be az első két értéket, és utána lehúzod?
2. Ha új fájlt nyitsz és beírod az első kettőt, majd lehúzod, akkor mi történik?Szerintem formázási probléma van, Azt tippelem, hogy az első két érték valójában nem 24,5 és 24,6, csak annak látszik. próbáld meg növelni a tizedeshelyeket, hogy lásd, hol tér el!
Természetesen lehet az Index-hez is és a Match-hez is másik lapról adni a tartományt. Sőt, eltérő lapokról is. Hogy próbáltad?
Érdekelne, hogy lehet Fkeres-sel és a Hol.van fgv-nyel egy kétdimenziós tömbben mwgtalálni egy értéket. Még csak elképzelni sem tudom hogyan kéne egymásba ágyazni a 2 fgv-t ehhez. Vegyük mondjuk az A1:E10 tömböt, amiben random számok vannak, többek közt a C3-ban az ‘5’. Na ezt kéne megtalálni. Az eredmény lehet 13, ha sorirányban számol, és 23, ha oszlopirányban.
Az eredeti kérdésem egyébként inkább elméleti volt, ugyanis nem akartam elhinni, hogy ha az excelt felkészítették arra, hogy egy tömbbeli cellára cells(a)-val is lehessen hivatkozni, akkor ezt miért nem alkalmazták a match-nél is.
Ha a táblázat dátum szerint rendezve van, és tegyük fel, hogy a dátumok az ‘A’ oszlopban vannak, (‘A1’-ben kezdődnek), akkor az egyik lehetséges megoldás:
1. A ‘B1’-be (az első dátum mellé) írni egy 1-est
2. A ‘B2’-be, a második mellé pedig a következő képletet=Ha(A2=A1;B1;B1+1)
Ezt le lehet húzni a végéig.
Úgy műxik, hogy ha az aktuális dátum egyenlő az előző dátummal, akkor az előző sorszámot írja a cellába, különben pedig az előző+1-et.
A Hol.VAN fv (MATCH) egy dimenziós tömbben tud keresni.
Létezik két dimenziós keresés, ha az Fkeres és a Hol.van függvények egymásba ágyazva használjuk.
Esetleg írhatnál egy példát, hogy mit szeretnél megoldani.
Imre -
A hozzászólás módosításra került: 10 years telt el-
-
SzerzőBejegyzés