Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Sablonként (.xlt) kell menteni a megformázott füzetet Munkafüzet.xlt néven a
C:Documents and SettingsFelhasználóApplication DataMicrosoftExcelXLSTART könyvtárba (2003-as verziónál). Hatására minden új füzet, új lap ezzel a formátummal nyílik.
Jobban tetszik erre a célra SQL ötlete, a táblázattá (2003-ban listává) alakítás, amihez nem kell makró, a táblázatban állva a Ctrl+r bill. kombináció megcsinálja. Ebben az esetben nem kell a más célra használandó füzet formátumát mindig átalakítani.
1. Az excel formázását alapértelmezetté lehet tenni - így mindig ezzel fog megnyílni. (Nem tudom fejből az elérési utat, de felül kell írni egy fájlt vele)
2. Elkészíted ezt a formázást és lemented. (Akár üresen). Ebből a lementett munkafüzetbeől az ecset (brush) segítségével átmásolod a formázást és kész... Ezt viszonylag egyszerű makróval is - a munkafüzet megnyitása nélkül. Makróban objektumként meg lehet nyitni, úgy hogy csak a feladatkezelőben látszik, hogy nyitva van. Sajnos nincs időm leírni ezt, de pár sor lenne az egész.
Tettem fel print screent az előző kérdésemet szemléltetendő. Az első képen látható "nyers" lista az amit a céges ERP rendszerünkből le tudunk szűrni. Ez az, amit meg kell formáznunk mielőtt tovább dolgozunk vele. Makrórögzítővel próbálkoztunk, ez működik is addig, míg maradunk abban a munkafüzetben, amelyben végrehajtottuk a makrórögzítést. Azonban ha újra csinálom a lekérdezést a ERP rendszerben, majd az eredményről lehívok egy új excel táblát, abban már nincs meg ez a formázás makró. Teljesen mindegy, hogy egyéni makró munkafüzetbe mentem vagy az adott munkafüzetbe. Amit szeretnék az az, hogy akárhányszor csinálok egy lekérdezést az ERP-vel, majd leívom excelben, egy kattintásra formázza meg a második képen látható módon.
Rendezd a B oszlop szerint a tarományt csökkenő sorrendbe az A-tól Z-ig ikon segítségével. Csak beállsz a B oszlop bármelyik cellájába, és rákattintasz az ikonra.
Be szerettem volna tenni egy képet az ikonról, de csak az Indafotón keresztül engedi a fórummotor (monnyon le!), az meg túl hosszadalmas. Biztosan megtalálod a felső ikonsoron.
Makró rögzítésekor a makró helye ne az "Ebben a munkafűzetben" legyen, hanem az "Egyéni makró-munkafüzet". Ekkor mindig elérhető lesz a makró, hozzá lehet rendelni egy ikont, és akkor gombnyomásra végzi is a dolgát.
Olyan kérdésem lenne, hogy van egy két oszlopos táblázatom. Az első oszlopban szerepel 8 név. A második oszlopban pedig a nevek mellett számok vannak. Ezek a számok folyamatosan változnak. És azt szeretném megcsinálni, hogy akinek a legtöbb szám szerepel a neve mellett az ugorjon a lista elejére, akinek a második legtöbb pontja van ő ugorjon a másodikra és így tovább. Erre van valami függvény vagy valami? Tehát röviden: Két oszlop. Nyolc név az "A" oszlopban. "B" oszlopban pedig nyolc szám. A számok folyamatosan változnak. Köszi előre is!
Minden bizonnyal meg lehet oldani a feladatot, de így látatlanban elég nehéz. Kéne legalább valami mintafájl, feltöltve valahová, hogy hogy néz ki a nyers riport, és milyenre kellene formázni. Lehet tele kitalált adatokkal is, csak a formátum legyen meg.
Egy kérdéssel szeretnék hozzátok fordulni, tudom, hogy egy jártas programozónak banális lehet ez a kérdés, nekünk azonban problémát okoz:
A munkahelyen az SAP-nak egy webes felületén dolgozunk, melyből minden nap lehúzunk egy listát excel formátumban. Ez a lista minden tördelést, formázást nélkülöz. Szeretnék csinálni egy olyan makrót, mely egy kattintásra "megformázza" a táblázatot. (Sortörés, cellarácsok hozzáadása, a sor - és oszlopszélesség igazítása a szöveg hosszának megfelelően stb) Próbálkoztunk a makrórögzítéssel, működik is abban a fájlban, amit letöltöttünk, azonban ha újra lehívjuk ugyanazt a listát, már nem működik a makrónk. HA tudtok valami okosságat légyszives segítsetek! Előre is köszi!
Nem tudom elmondani mennyit kerestem valamelyik nap a régi-stílusú pivot varázslót, erre itt van ez, amivel könnyedén megleltem volna. (és kiderül, hogy a régi stílusú pivot varázsló nincs is rajta a ribbon-on :-(
A Ctrl + g az a "Go" vagyis menüből lehet megmondani az excelnek, hogy hova menjen. Amire itt gondoltak az a Ctrl+G és utána a Special (a feljövő form bal alsó sarka). Ott ki lehet választani, hogy az üres cellákat jelölje ki.
Az üres cellák kijelölése után, már csak azt kell csinálni, hogy a kijelölt (üres) cellák teljes sorát jelölöd ki (nálam Shift+szóköz) és Ctrl és minusz billentyű kombinációra törlés.
Nem sajnos, mert nem a számítás eredménye, hanem csak a kijelzése van módosítva, tehát jó, hogy az eredeti számmal számol tovább.
Vagy használd valamelyik kerekítő függvényt - figyelni kell le és felfelé kerekítésre - vagy a 123-nál jól bevált "szorzás révén tizedesjegy váltás, majd egész levágása (int) után visszaosztás a megoldás.
Gondolom ugyan így megoldható, hogy a név elé is kerüljön valami más szöveg. Ugyan is idő közben sikerült megoldanom (mondjuk nem a legelegánsabb, de annál látványosabb) Auto Mouse Clicker nevű programmal :D
Megadtam neki, hova kattintson a képernyőn, aztán illesszen be és görgessen a következőre...aztán hátraőltem amíg a gép dolgozott :)
Én egy hónapon belül rájöttem, hogy a betegséget, szabadságot nem tudom Excellel elegánsan lekezelni, ezért kellett bonyolítani. És jobb egy lépésben jóra csinálni, mint hónapokig reszelni. De ha ilyen igény nincs, akkor persze nem kell. :)
Sőt, lent van egy N = 12 és egy É = 12 tartomány. Lehetne a 12-es szám helyett avval a cellával számolni, amelyik a 12-t ott tartalmazza.
De tovább bonyolítható. :)
Egy segédlapon csinálsz olyan sorokat, hogy N 12; É 12; Sz 8; B 8; BSz 8 stb., és fkeres-sel megkeresteted a betűhöz tartozó óraszámot. Célszerű minden dolgozóhoz két sort felvenni: felül a beosztás kódja, alatta az óraszám. Ahogy te felülre beírod, hogy N, az alatta lévő cellában lévő képlet a segédmunkalapon kikeresi, hogy az N cellaértékhez 12 tartozik, ezért ez fog ott alul megjelenni. Ekkor a jobb oldalon csak egy sima SZUM kell.
Sziasztok! Egy tök egyszerű problémát nem tudok megoldani... Hogyan kell elneveznem azt a tartományt, ami a DARABTELI függvényemben lesz, ha ez a tartomány mindig az autoszűrővel kapott terület? Vagyis egy szűrt listán belül szeretnék bizonyos kritériumok szerinti darabszámot megállapítani.
Bocsánat, hogy belevau, de volt szerencsém vezényléses Excelekhez, és felmerült egy kérdés bennem:
Az előfordulhat, hogy valakit beírsz Ü-re meg Sz-re is, figyelmetlenségből (vagy akár két Ü-re ugyanazt az embert)? Ezt ki tudod szűrni? (egyáltalán: fontos ez?)
Nálunk össze kellett számolni a neveket, hogy egyezik a lentre került Sz+Ü-vel (amolyan visszacsatolásféleképpen), mert a vezénylést készítő néha nem nézte a délutánosoknál, hogy délelőttre be van-e már osztva....
Nem teljesen értem, most a 3 hónap adtad össze, vagy a 1-1 hónapot?
A megadott függvény (darabteli) ismételt használatával, valamint megfelelő paraméterezésével lehet 1-1 hónapot is számolni, valamit a 3 hónapot egyben is.
Illetve ha a 1-1 hónap megvan:
a H11: =B11+D11+F11
Vagy ha 3 külön munkalapon van a táblázatösszesítő, akkor így lehet hívatkozni rá:
Jippiii! Eddig sikerült. :) Már csak az kellene, hogy lett így egy június, július, augusztus összesítő táblám, hogy ki mennyit, hol merre volt. No, ezeket kellene külön összeadni, egy másik táblázatban. Ötleted esetleg rá? (bár már eddig is annyit segítettél....)
Az nem megoldható, hogy az A oszlop egyáltalán nem lenne, és az oszlopokban szerepelnének a nevek? Tehát ahogy nálad szerepel, hogy júl. 1. az alatt nem az lenne, hogy Ü vagy Sz, hanem az, hogy pl. "Kovács". És a táblázat meg számolná, hogy hány Kovács van, meg hány Kiss meg hány Nagy. Bár ott meg a lényeg az lenne, hogy ügyfelezéseket számolja csak, ha nem ügyfelezik ne számolja bele. Hmm, ez bonyolultabb, mint gondoltam...
Szia!!! Nagyon rendes vagy, hogy próbálsz segíteni!
Jó ötletnek tűnik, amit küldtél. Nem volt előttem a megoldás még csak képben sem, de így már könnyebb lenne. Már csak azt kéne tudni, hogy össze lehet-e adni, hogy a kollégák hány napot töltenek kint-bent, és ha változtatjuk a szabadság - és ügyfelezés arányát, akkor összeadja és nem nekem kell egyesével összeadni.
Jaj, nem jut eszembe, hogy csináltam ezt száz éve: ha a =(D11+E11)/(D12+E12) képlet a #DIV/0! eredményt adja (nullával oszt), akkor azt akarom, hogy a kiírt szöveg a hibaüzenet helyett legyen pl. Zero. Melyik függvénybe ágyazzam a műveletet és hogyan? Köszönöm!
Nagyon kezdő vagyok, és épp ezért szeretném a Ti segítségeteket kérni.
Egy táblázatot kellene csinálnom, ami a nyári időszakra szólna, gyakrolatilag június, július, augusztus hónap naptára lenne az alap. 6 kolléganő beosztását (ügyfélszolgálatosok vagyunk) foglalná magában. Minden naphoz 3 ügyfelező kolléganő tartozna, a többi személy vagy szabadságon, vagy nem ügyfelezik. Legördülő menüben szeretném, hogy a neveket ki lehessen választani, hogy egyszerűen át tudjuk nem várt szabadság esetén a beosztást variálni.
A legjobb az lenne persze, ha még a szabadságon és az ügyfelezéssel töltött napok számát is mérné a táblázat, amennyiben lehetséges!
Nos, szerintetek excelben meg tudom én ezt csinálni, vagy access kell hozzá?
Bocsi a kezdő kérdésért... De engem bízott meg a főnököm ezzel és valahogy meg kellene oldanom.
van egy wordben lévő táblázat, amiben ilyen szerepel (meg sok más is) pl hogy +3 / -0,5
Az egész táblázatot át akarom másolni excelbe, de ezt a bejegyzést törtnek veszi és -6 lesz a cellában, holott nekem az lenne a jó, ha az excelben is +3 / -0,5 szerepeljen.
A cellaformátumot hiába állítottam előtte "szöveg"-re, bemásoláskor érvényét vesztette.
Van erre megoldás? Fárasztó és időigényes kézzel átirogatni.
Function Rendezett_tömb(arrInput) Dim arrOutput Dim rTemp As Range, i As Long, j As Long
arrOutput = arrInput For i = LBound(arrOutput) To UBound(arrOutput) - 1 For j = i + 1 To UBound(arrOutput) If arrOutput(i).Value > arrOutput(j).Value Then Set rTemp = arrOutput(i) Set arrOutput(i) = arrOutput(j) Set arrOutput(j) = rTemp End If Next Next Rendezett_tömb = arrOutput End Function
Sub teszt() Dim arr1(1 To 5) As Range, arr2
Set arr1(1) = Range("A1") Set arr1(2) = Range("C2") Set arr1(3) = Range("F3") Set arr1(4) = Range("B9") Set arr1(5) = Range("A2") arr2 = Rendezett_tömb(arr1)
Bocs, ez engem is érdekelne (mármint az a kérdés, hogy hogyan lehet pl. műveleteket végrehajtani a tömbbe rendezett értékekkel).
Pl. egy tömb elemeit (miután megadtad neki a cellaértékeket) lehet-e sorba rendezni anélkül, hogy bemásolnád a tömbértékeket egy egybefüggő excel-tartományba?
Nálam az FKERES tartományát kijelölve, majd F9-et nyomva ílyen lett a képlet:
=FKERES(F2;{0.80;1000.63;6000.48};2;1)
Szerintem is zseniális, tuljadonképpen azzal egyenlő, mintha a tartományt fixen adtam volna meg, de a képletben látszanak is a tartomány értékei. Az F9-es képlet bevitele után az FKERES tartománya kitörölhető.
1 Vállalat I. negyedév II. negyedév II. negyedév IV. negyedév Éves összesen Önköltségi ár Nagyker. ár Veszteség
2 AB Bt. 16 db 18 db 21 db 25 db 81 db 97 Ft
3 CD Kft. 1300 db 1495 db 1719 db 2063 db 6577 db 47 Ft
4 EF Rt. 231 db 266 db 305 db 367 db 1169 db 103 Ft
A táblázatom nem teljes, de nem volt türelmem több adatot beírni..
Feladat: Az Önköltségi ár oszlop tartalma: 0-999 db-ig 80 Ft, 1000-5999 db-ig 63 Ft, 6000 db éves termelés felett pedig 48 Ft.
A Veszteség oszlop tartalma a következők szerint alakul: a veszteség esetén (az önköltségi ár nagyobb, mint a nagyker ár) számítsa ki a veszteség mértékét, nyereségnél a nyereséges szó szerepeljen!
Próbáltam HA függvénnyel, de valamiért nem sikerül.
Nem tudom biztosan, de szerintem nem. Egy makró lefutása után az Excel nem őrizget a memóriában semmit, vagy ha igen, nem tudom, meddig, és milyen feltételek mellett. Ezzel már elég sokat szívtam korábban.
Inkább azt lehet csinálni, hogy írni külön egy Public Sub-ot arra, hogy ezeket a Set hozzárendeléseket megcsinálja, és minden makró első műveleteként ezt a Sub-ot meghívni.
Cellákat ugyanúgy fogsz tömbbe, mint bármi mást. Megcsinálod az 5 elemű tömböt, aztán egyesével értéket adsz nekik.
Sub teszt_3() Dim R(1 To 5) As Range Set R(1) = Range("A1") Set R(2) = Range("C2") Set R(3) = Range("F3") Set R(4) = Range("B9") Set R(5) = Range("A2") End Sub
A fenti kód lefutása után az R(1) változó az A1 cellára fog hivatkozni. A cellát felülírni tehát így kell :
R(1) = 123
értékét kiolvasni pedig:
x = R(1)
Ha az öt cellát együtt is tudni akarod kezelni, akkor esetleg érdemes az alábbi módon csavarintani rajta egyet:
Sub teszt_4() Dim R(0 To 5) As Range Set R(1) = Range("A1") Set R(2) = Range("C2") Set R(3) = Range("F3") Set R(4) = Range("B9") Set R(5) = Range("A2") Set R(0) = Union(R(1), R(2), R(3), R(4), R(5)) End Sub
Ekkor R(0) az 5 cella uniója.
Alternatív lehetőség, hogy nem Range, hanem String típusú tömböt hozol létre, amelyben a tartományok nevét tárolod el.
Sub teszt_5() Dim RN(1 To 5) As String
RN(1) = "első tartomány neve"
Range(RN(1)) = 123
x = Range(RN(1)) End Sub
De szerintem ez macerásabb és kevésbé áttekinthető. És mindenképpen szükséged lesz plusz egy Range típusú változóra, ha együtt akarod kezelni az öt cellát.
Excel2000-ben nem, 2003-ban már működik. 2000-ben azért nem, mert a lista szegényes, a hónapok szöveges kiírása csak dátummal lehetséges, idővel együtt nem, tehát előbb szét kell választani dátumra és időre, 2003-ban már működik, nyelv váltást azonnal felismeri.
(amint kiderült, amerikai stilusban volt elmentve a dátum és idö)
Tudom, hogy nem szeretsz sokat beszélni, de most kivételesen megtennéd, hogy leírsz pár részletet arról, mire akarod használni?
Ezzel ugyanis segítenél nekünk a megértésben. Én például elsőre azt gondoltam, hogy a "könnyebb kezelhetőség" azt jelenti, egy lépésben akarnád törölni vagy értékkel felülírni mind az öt cellát. Erre a célra alkalmas az, amit írtam. Ha azonban egyesével akarod őket elérni, arra nem alkalmas. Akkor viszont nem értem, hogy miért nem jó a cellák saját neve, és miért kell tömbbe szervezni. Találgathatnék még, meg futhatnánk itt a köröket feleslegesen, de talán egyszerűbb lenne, ha leírnád.
Létrehozol egy hatodik nevet (mondjuk azt, hogy "Mind") és a Name manager-ben mint az a terület amire hivatkoznak, az egyes már létező neveket viszed be vesszővel elválasztva.
Nagy nehezen kiderült, acces2000 és excel2000 hiba, 2003-asban működik, illetve ott az aposztrófokat ki kell venni, mert arra figyelmeztetést ad cellánként.;)
Nem kell. Az összesítő táblázatban megkeresem az A oszlopban lévő kezdő és befejező dátum celláinak sorszámát, majd ezt a két értéket adom meg amikor csere van. meg. Pl 2011.04.01-2011.04.20-ig: 93-112-es. Ha más intervallumot szeretnék akkor szimplán csak ezt a két számot cseréltetem ki a makróval.
Az adott grafikon összes adatsorában kicseréli az összes számot, tehát: =ADATSOR(Összesítő!$V$1;Összesítő!$A$43:$A$67;Összesítő!$V$43:$V$67;4)
Ezt mind a 7-8 adatsoromban kicseréli.
Szóval beírom hogy a 43-at és a 67-et cserélje ki teszem azt 33-ra és 57-re és már újra is rajzolta nekem az egész grafikonomat, alá pedig kiírja hogy melyik dátumtól melyik dátumig van.
Ahhoz, hogy ne 93-at és 112-t, hanem 2011.04-01-et és 2011.04-20-at kelljen megadnom én balfék vagyok, de így is nagyon egyszerűen és gyorsan működik a dolog. :)
Sziasztok ! Köszönöm szépen a fáradozásodat, végülis másképp sikerült megoldanom....
Sub ChangeSeriesFormula() ''' Just do active chart If ActiveChart Is Nothing Then '' There is no active chart MsgBox "Klikkelj a grafikonra és próbáld újra.", vbExclamation, _ "No Chart Selected" Exit Sub End If
Dim OldString As String, NewString As String, strTemp As String Dim mySrs As Series
OldString = InputBox("Add meg a változtatni kívánt értéket:", "Régi érték")
If Len(OldString) > 1 Then NewString = InputBox("Ez lesz megváltoztatva: " & """" _ & OldString & """:", "Új cella") '' Loop through all series For Each mySrs In ActiveChart.SeriesCollection strTemp = WorksheetFunction.Substitute(mySrs.Formula, OldString, NewString) mySrs.Formula = strTemp Next Else MsgBox "Nincs semmi amit meg tudok változtatni.", vbInformation, "Adj meg valamilyen értéket :)" End If End Sub
Ezzel a makróval ( amit egy kicsit átvariáltam az én buta szintemen ) meg tudom adni, hogy melyik cellától melyik celláig rajzolja ki a grafikont. A series-t változtatja meg. Amiben pl A oszlophoz adom meg a V oszlopot, tehát A14-V30-at ki tudom cserélni pl A 20 és V50-re. Raktam ki egy gombot a munkafüzetre amivel futtatom a makrót, szépen működik...
Friss fejjel újra összeállítottam a grafikont. A tegnapi füzet mindenféle hibát produkált (beírtam a képletet a névadáshoz, átírta a saját ízlése szerint - hibásra, és hasonló anomáliák).
Ha oszlopdiagramot készítek az adatokból, most is csak függőleges cérnákat hajlandó rajzolni, hiába állítom a közt 0-ra, nem tudom, miért. Inkább grafikonként ábrázoltam.
A D32:E34 tartományba beírtam az elnevezett tartományok nevét, és képletét.
Azt hiszem, az volt a fő kérdésed, hogy miképp módosíthatod a hivatkozás oszlopát. Egyetlen betű átírásával teheted meg, ezt kiemeltem a képletekben.
Hibás a lapom, nem akarta az A oszlop formátumát a kedvem szerint beállítani, végül az egyéni kategóriában beszéltem rá. Az diagram oszlopai sem hajlandóak szélesedni, de úgyis csak a névvel ellátott tartományok képletei a lényegesek benne.
SQL
A képletben van ofszet, indirekt, és hol.van függvény, mindegyiket megeszi, nem válogat.
"Keresgéltem a beállításoknál, de nem találtam, miért nem jelenik meg Nálad."
Ez azt jelenti, hogy Nálad megjelenik?
"Szóval még akaratodon kívül is segítesz, köszönöm."
Na, azért ne vigyük túlzásba a májam hizlalását, mert a végén még innom kell valamit, hogy visszazsugorodjon :)
Amúgy a 15070-esből jött az egész, mert arra gondoltam, hogy talán valami sorbarendezős képlettel is meg lehet adni a diagram adatforrását, és akkor találkoztam ezzel a SERIES-sel.
Ha az egylapos Összesítőd kimutatást, akkor hozzárendelhetsz egy kimutatásdiagramot. Ott a dátum mezőben szűrhetsz tól-ig.
Nem próbáltam ki, de úgy emlékszem, meg lehet így oldani.
Másik megoldás: nem túl régen volt itt szó ilyen jellegű dinamikus diagramról, akkor tettem is ki egy fájlt, de az már nem tölthető le, és nekem sincs meg. Keresd meg a kérdést, és a kérdezőtől kérd el a fájlt.
Az 53-akat és a 81-eket cserélje ki pl 64-re és 91-re. A többi gyakorlatilag állandó. Most notepadba kimásolom, a CSERE funkcióval átírom a számokat, majd visszaillesztem excelbe :D
Sziasztok ! Az alábbi dologban kérném a segítségeteket, ötleteket:
Van egy elég bonyolult táblázatom, amiben teljesítményeket számolok egész évre. Ebből csináltam egy egy lapos összesítőt. A oszlopban vannak a dátumok jan1-től dec 31-ig, B, G, H, J stb oszlopokban pedig a már kiszámolt százalékban megadott kimutatások termékcsoportokra lebontva az év 365 napjára.
Az első fülre a főnököm szeretne egy diagramot, amiben dátumtól dátumig, rajzolja ki a százalékokat termékcsoportra bontva. Minden megvan, egy dolgora nem jöttem rá, hogyan tudom a diagramnak megmondani....( itt csak 3 db termék van megadva )
A videó sajnos csak a meglévő SERIES (magyarban ADATSOR) függvény módosítását mutatja be.
Keresgéltem a beállításoknál, de nem találtam, miért nem jelenik meg Nálad.
Ennek kapcsán viszont rátaláltam egy régi problémám megoldására. Mikor az adatsor "lyukas", a grafikon megszakad. Ha kijelölöm a grafikont, és úgy hívom meg a Beállításokat, a Diagram lap az Aktív diagram csoportban lehetőséget ad arra, hogy a "Köztes értékekkel" bejelölésével áthidaljam a szakadást. Szóval még akaratodon kívül is segítesz, köszönöm. :)
Több helyen olvastam a neten, hogy az Excel a grafikon adatsorait egy bizonyos SERIES függvénnyel állítja elő. Amikor rákattintok egy grafikonra, és azon belül egy adatsorra, akkor automatikusan kijelölődik a forrásadat, különböző színekkel jelölve az X és Y értékeket, illetve az adatsor nevét.
Ekkor - sokak szerint - a szerkesztőlécen meg kellene jelennie a beparaméterezett SERIES függvénynek.
Na ez az, amit nekem sehogy nem sikerül előcsalogatni. Tud valaki erről bármi hasznost mondani?
Cellaformátumnák (jobbklikkre jön elő a helyi menü) a teizedesek számát beállítod 2-re.
Aztán az A2 cellának rámész a jobb alsó sarkára, megjelenik egy kis fekete + jel. Ekkor az egér bal gombját lenyomva lehúzod, ameddig szeretnéd, hogy számoljon. pl A1001-ig.
Kellene egy kis segítség! Remélhetőleg ti tudtok segíteni!
Olyat szeretnék exelbe csinálni hogy egymás alá mindig 1%al nagyobb szám kerüljön, és ez ismétlődjön egymás alatt a végtelenségig.. (Na jó addig ne, de kb 1000-ig igen), és csak max 2 tízedessel számoljon.
Tehát pl beírok A1 be egy számot, akkor A2 be A1+A1 nek az 1%-a legyen beírva A3 ba meg A2+A2 nek az 1% a... (számokkal példázva: A1 be 500-at írok akkor A2 be 505; A3 ba 510,05; A4 be 515,15 ....stb)
És valahogy ugy hogy ezt egy mozdulattal ismételhessem mondjuk 1000 sor-ig...
Ha megcsinálni egyszerübb, mint elmagyarázni, az is megfelel ha valaki elküldi a mail címemre....
Ha dátumként akarod kezelni, akkor sehogy. A hónap és a nap nem létezik év nélkül. Február 29 nincs minden évben. Vagy mindegyik adathoz beírod az év-hónap-nap-ot, és ez esetben az általad kívánt év fog szerepelni, mely a formázás miatt nem fog látszani. Vagy szövegként formázod a cellát, aztán azt írsz be, amit akarsz, de ekkor nem tudsz velük számolni.
Sajnos már nincs meg az a füzetem, amit anno kitettem, és letölteni sem lehet.
Úgy emlékszem, hogy volt az ofszeten belül egy indirekt függvény is, aminek az első paramétere az oszlop betűjele idézőjelek között, ehhez jön & jellel a sor száma. A sorszámot úgy kapom, hogy a valahova beírt kezdődátumot a hol.van függvénnyel megkerestetem az oszlopban. Ezzel megvan a kiinduló cella.
=indirekt("A"&hol.van(f1;A:A;0)) [f1-ben van a kiinduló dátum] ezt ágyazom be az ofszet függvénybe.
Az ofszet első paramétere ez a kezdőcella, a fenti képlet.
A 2. és 3. paraméter 0, mert ennyi sorral és oszloppal eltolva kell nekünk a kezdőcella értéke.
A 4. paraméter azt adja, ahány sorral lentebbi celláig vegye az oszlop adatait a grafikonhoz. Ezt valamiképp kiszámoltuk a H(?)1-be bevitt utolsó dátumból a hol.van függvénnyel, és kivontuk belőle a kezdőcella sorának a számát.
Az utolsó paraméter azt adja meg, hogy a névvel ellátott tartomány hány oszlop adatait tartalmazza, ez a grafikonnál értelemszerűen 1.
=ofszet(kezdő_cella_címe;0;0;utolsó_cella_címe;1)
Ez így nagyon összetett, hátha valaki kézzelfoghatóbban el tudja mondani a lényeget.
Using the default date system in Microsoft Excel for Windows, the date_text argument must represent a date between January 1, 1900 and December 31, 9999
Vagy azt is lehet, hogy a Windows alapértelmezett dátum formátumát változtatod meg a file-odban lévő formátumra. Az excel általában visszanyúl a window alapbeállításaihoz ilyen esetben. Egészen kicsi szerencsével a windows default date formátum átállítása után az Excel már rögtön felismeri dátum formátumnak a cellád tartalmát, utána pedig csak annyit kell tenni, hogy C1=A1+B1 és a C1 formátumát meg kell változtatni dátum ÉS idő kijelzésre.
Hello ! Már csak azt nem tudom ezekkel az offszet függvényekkel hogyan zsonglőrködjek ha új oszlopot akarok beszúrni. Szánom-bánom de erre nem jöttem rá. :) Azt látom hogy a sorszámokkal az oszlopok számát adod meg de hogy ezeket hogyan és hova illesszem be arra nincs ötlet.
Először az adatokat a Szövegből oszlopok (Adatok menüben) szétválasztod, a határoló jeleknél a vesszőt megadva. Ez az A:C tartományba szedi szét az adataidat, amik közül a C már meg is adja az időt.
Azt esetleg meg lehet oldani, hogy az alaptábládból referenciákkal csinálsz egy olyan táblázatot (segédtábla), amely x-re rendezve van (LARGE függvény), majd ezekhez VLOOKUP-pal hozzákeresődik a megfelelő y érték. Ezután a segédtáblázatból tudsz olyan grafikont csinálni, amilyen csak akarsz, ha meg változnak az adatait a segédtábla is változik a LARGE miatt.
azt tudom, hogy pl egy halmozott oszlopos diagram oszlopaiban a különböző értékeket tudom tetszés szerint sorbarendezni. (2010-esben ha kiejlölöm a diagramon az oszlopot, akkor a szerkesztőlécen megjelenik egy "ADATSOR" képlet. Ennek a paramétereiben szerepel egy sorszám, és azt szoktam átírni. Lehet működne a te esetedben is.
Segítségeteket kérném. Van egy excel worksheet-em és abban két oszlopban vannak értékek x és y. Ezeket szeretném egy grafikonon ábrázolni, de nem találtam nekem megfelelőt. Próbáltam a "Line" típusút de ott az x értékeket nem rendezi sorba, az nem jó. Próbáltam az "xy scatter" típusút, az rendezi az x értékeket, de ott meg a vonalak vannak nem jól kötve a pontok között, mert keresztezik egymást stb. Szóval nincs erre valami megoldás, hogy az x ek rendezve jelenjenek meg és a vonalak a pontokat balról jobbra kössék össze, de pedig abban a sorrendben ahogyan a táblázatban volt?
A B értekeket (a példámban B1-B9 az első munkalapon), ha megfelel valamilyen feltételnek, akkor másik B cellába írja ki másik munkalapon, így ahol az elsőn a B9=6, ott a másik munkalapon a B4 lesz 6. Ez nem zavar be a képletekbe, mert ott már B4=6-tal számol és a képletet nem érdekli, hogy az az adat honnan került oda.
Először ezt írtad: "És ha beírok az első munkalap B10-be egy számot,...", majd "Előre beírt képletekkel és különböző, bonyolult feltételekket vizsgálom és számítom ki az alapadatokat..."
Ez nem mindegy, mert az előbb küldött makró a beírásra reagál. Ha a B oszlop értéke attól változik meg, hogy a lap egy másik helyén módosítasz valamit, akkor a makrónak azt a "másik hely"-et kell figyelnie.
Szóval akkor a B-be írsz, vagy máshova, amitől a B értéke megváltozik?
A lapodhoz kell rendelned az alábbi makrót (lapfülön jobb klikk, Kód megjelenítése, bejutottál a makrószerkesztőbe, jobb oldalon kaptál egy üres lapot, oda másold be):
Private Sub Worksheet_Change(ByVal Target As Range) Dim usor% If Target.Column = 2 And Target > 5 Then usor% = Application.WorksheetFunction.CountA(Sheets(2).Columns(2)) + 1 Sheets(2).Range("B" & usor%) = Target End If End Sub
Ez a makró a kiindulási lap B oszlopába beírt adatok közül az 5-nél nagyobbakat sorban bemásolja a füzet 2. lapjának B oszlopába. Ha változtani akarsz az értékhatáron, a pirossal írtat módosítsd.
Később írtad, hogy több lapod van a füzetben. Ha mindegyikről 1 lapra akarod összegyűjteni a feltételnek megfelelő adatokat, akkor mindegyik laphoz (kivéve a gyűjtő lapot) be kell másolnod a kódot. Mivel a gyűjtő lap nem feltétlenül második a füzetedben, a makróban 2× szereplő Sheets(2)-t írd át Sheets("Munkalap_Neve") formában a gyűjtő lapod nevére.
ok küldj egyet, az a baj, hogy haza kell menjek otthon nem biztos, hogy tudok vele foglalkozni, de hátha jón valaki aki megcsinálja Neked, ha nem akkor hétvégén valamikor megcsinálom!
Több ezer sor és 10-12 munkalap van egy munkafüzetben, ezeket az alapadatokat használja az összes munkalap,az oszlopok ugyanazok. Előre beírt képletekkel és különböző, bonyolult feltételekket vizsgálom és számítom ki az alapadatokat, de csak azokat a rekordokat, melyek az adott feltételeknek megfelelnek. Ha nem világos, küldük egy minta fájlt és úgy érthtő lesz.
Átlagos felhasználó vagyok, programozáshoz és makróíráshoz nem értek. A segítségetekre lenne szükségem egy egyszerű probléma megoldásához.
A feladat:
Az A oszlop sorszámozás, a B oszlopba beírok számokat:
A B
1 3
2 5
3 9
4 12
5 2
6 26
7 1
8 4
9 6
...
Azt szeretném, hogy egy másik munkalapon a B oszlopba írja ki pl. azokat a számokat az első munkalap B oszlopából, amelyek mondjuk nagyobbak 5-nél, de ne legyenek üres cellák és rejtett sorok sem. Fenti adatokkal ezért a második munkalap így nézzen ki
A B
1 9
2 12
3 26
4 6
És ha beírok az első munkalap A10-be egy számot, akkor a második munkalap B5-ben aszerint jelenjen meg, hogy nagyobb-e 5-nél vagy nem.
Azt gondoltam, hogy ez egy negyon egyszerű feladat, mert nekem standard adatkezelési műveletnek tűnik. De nem boldogulok vele, mert képzetlen vagyok. Nálam sokkal hozzáértőbbek azt mondták, hogy makrókkal kéne megoldani, de az lelassítja a gépet. Tényleg ilyen nehéz lenne ez a feladat?
Belefutottam egy újabb problémába, aminek nem értem az okát.
Dossziék számozásánál kötöjeles elválasztás van, access-be átmentésnél ezt se szövegként, se feljegyzésként nem hajlandó befogadni, nem értem az okát. (hibaüzenet: ezeket a sorokat nem veszi át az access, üres cellákat eredményez).
Arra gyanakszom, hogy anno mivel évekig csak számokat rögzítettek, ezért számként volt értelmezve, amikor kitalálták az al-dossziék miatti kötőjeles számozást, akkor se kötőjellel, hanem minusz jellel rögzitették, és valamiért számként értelmezi az áttöltö rutin. (Vagy valami más lehet az ok.;)
Azért feltételezem ezt az okot, mert volt már ilyen esetem, hogy bizonyos excel táblázatban bizonyos számokkal probléma volt, nem volt elegendö számról szövegre, majd visszadefiniálni a cellákat, be kellett iktatni egy 1-essel való szorzást is a tényleges számmá alakításhoz. Itt most "ténylegesen" szöveggé kellene alakítani, erre mi a megoldás?
Úgy tűnik, hogy a kezdő és a végső ténylegesen megadott elem (9-1=8) különbségét osztja kettővel és ezt használja (4). A számított kezdőérték 12,3333 meg valszeg a (3(megadott elemek száma)*4(átlagos különbség)+1(kezdő adat)/3(megadott elemek száma) képlettel jön ki.
Fel kell dobni az egészet egy grafikonra és ott látszik, hogy lineáris v. exponenciális görbét ad az excel "folytatása". Én egyébként lineárisra tippelnék.
Ha valóban lineáris, akkor könnyű kiszámolni a paramétereit. Első ránézésre nekem úgy tűnik egy - valamilyen módszerrel kiszámolt - kezdőértékhez adogat 4-et.
Milyen algoritmus alapján számolja az Excel a folytatást, ha egymást követő cellákba nem 1, 3, 5, 7 ... írok és folytatja, hanem össze-vissza számokat. Pld: 1,3,9 -et úgy folytatja, hogy 12,333333 utána 16,333333 majd 20,333333 stb...
Data/Adat fülre mész és ott a Text to Columns (Szöveg oszloppá?) ikont választod, megadod, hogy a táblázatodnak van fejléce illetve azt választod ki, hogy NEM fix hosszúságú celláid vannak (hanem szeparátorokat használsz).
Állítsd be, hogy a szeparátor a szóköz és kész is.
A fentiek xl2007-re és felette vonatkoznak. Ha 2003-as vagy korábbi exceled van, akkor vagy függvényesen lehet szétszedni a cellák tartalmát, vagy valaki majd megírja, hogy a Text to Columns benne volt-e már a 2003-as excelben is és ha igen akkor melyik menüben (Data / Adat menüre gyanakszom).
Van egy pdf dokumentumom, mely egy táblázatot tartalmaz tele adatokkal.
A táblázatot kijelölöm és átmásolom egy excel -be.
A probléma az, hogy ugyan a táblázat sorai megmaradnak, de a táblázat oszlopait összefűzi és így az excel -ben "A" oszlpban lesz minden adat.
Hogy tudom azt megoldani, hogy az excel -emben a pl "A1" cella tartalmát szétszedje és A1, B1, C1, D1, E1 .... cellákba tegye át?...így az eredeti táblázat adatcsoportja lenne
Amikor a másolás során "összefűzi" az adatokat a pdf-ből történő bemásoláskor, akkor az adatcsoportok között egy szóköz van. Az eredeti táblázatban az egy cellába tartozó adatokban nincs szóköz.
Másik probléma: 1-500 közötti számok szerepelnek egy oszlopban, ezt szöveggé kell alakítani vezető nullák feltöltésével együtt. A szöveg() függvény erre használható lenne?
Toccata jól mondja, az FKERES érzékeny arra, hogy az oszlopok milyen sorrendben vannak.
Ha valamilyen okból kifolyólag nem lehet a táblázat oszlopainak sorrendjén változtatni, akkor szólj és INDEX-ből és MATCH-ből összerakunk egy igazán csúnya, de jól működő függvényt.
Próbáltam, hülyeséget írt ki. De valószínű, mert nem rendeztem növekvő sorrendbe. De meg fogom próbálni. De most zizi vagyok rámozdulni teljes intenzitással.
Az A oszlopban a termékek kódnevei (kb 150 féle termék) gyártási dátum szerint növekvő sorrendben, a B oszlopban meg hogy mikor gyártották. Valahogy így:
A B
B123 2011.01.10.
G522 2011.01.10.
F002 2011.01.10.
D101 2011.01.11.
D106 2011.01.11.
B123 2011.01.12.
L772 2011.01.12.
stb..
egy terméket többsztör is gyárthattak, ilyen pl a B123 termék. Kb 500 sorból áll a táblázat.
Van egy másik munkafüzet (táblázatom), amiből a kódnevekből megtudható a rendes neve. Az A oszlopban a rendes neve, B oszlopban a kódneve. PL.:
A B
zöld fonal B123
kék fonal F002
sárga fonal D101
stb..
Amit szeretnék, hogy az első táblázatban megjelenjenek a kódnevek mellett a rendes nevek is egy másik oszlopban.
Először Ctrl+F keresővel elkezdtem kikersgélni a termékeket, de ez így baromi lassú, ráadásul több ilyen táblázat van. Úgyhogy elég sokáig tartana.
Légyszi segítsetek!
A HA függvénnyel nem is álltam neki a kb 150 keresés miatt.
Az SQL által javasolt videó az utolsó beírt dátummal készíti el a diagramot teljes időintervallummal, vagy vissza x dátummal, az általam küldött tetszőleges 2 dátum közöttit rajzol - foghíjas dátumnál is.
Alaphelyzetben van egy A1:A10 cellatartományom, mely teljesen üres. Hogyan lehetne megoldani, hogy a tartomány celláinak összege csak és kizárólag 100 lehessen? Úgy szeretném, hogy szabadon lehessen módosítgatni a cellákban lévő értéket mindaddig, amíg az összegük meg nem haladja a 100-at, illetve, hogy amennyiben már mind a 10 cella tartalmaz értéket, azok összege pont csak 100 lehessen? (Tehát ha pl 9 db cellában van érték, melyeknek összege 95, akkor a tizedik cellába csak 5-öt engedjen beírni)
A dátum, B2 kezdő dátum, B3 végső dátum, E adatok. Van egy listám, ami napi felbontású, egy évre visszamenőleg és ebből kellene diagrammot készítenem de mindig csak egy adott dátumtartományon belül. Van lehetőség diagrammban hasonló módon így dátumtól-dátumig oszlopokat megadni ?
Igen, Robbantómester utalt is egy korábbi posztomra, ahol leírtam, hogy mire jó a dupla minusz. Abban a posztban leírtam azt is, hogy a duplaminusz nem kell mindenhova, de lusta vagyok megjegyezni, hogy hova muszály (asszem a SUMPRODUCT), így az egyszerűség kedvéért én mindenhova berakom.
Olyan problémába ütköztem (fatömegbecslés) hogy háromszöges fügvény kéne amely két bevitt számot megkeres egy segédtáblázatban és a kettő metszeténél lévő számot kiírja mellékelek egy képet hogy érthetőbb legyen. segítségeteket előre is őszintén köszönöm! (az áttekinthetőség kedvéért a narancssárga mezőkben kéne megjeleníttetni a piros és kék metszetén található számot)
Ez teljesen tuti köszönöm már csak egy apróság hiányzik. Egy-egy cellában meg akarom adni a kezdő és a befejező dátumot. Próbáltam a képletbe írni abszolút értékkel, majd elneveztem a a két cellát a névkezelőben és a neveket adtam meg, ettől függetlenül 0-át számol. Biztos valami piti dolog de nem jövök rá. Ne nevessetek ki. :D
Még egy dolgot szeretnék megkérdezni. Ha jól tudom az excel a dátumokat sorszámként kezeli. Tehát ha minden munkafüzetem minden termékét egy külön munkafüzetbe kilistázom dátum szerint, akkor lehet olyat csinálni, hogy pl 20110520 és 20110415 között szummázza az adott oszlopot ? Azt nem tudom, hogy a dátumhoz, ami pl A oszlopban van hogyan lehet kapcsolni a többi oszlopot, nyilván egyenként....
Szia ! Ez nagyon klassz ! Ez alapján szerintem meg tudom csinálni a táblázatomat. Úgy tudom átfedni a hónapokat, hogy a listában fél hónapokat veszek alapul, az előző hónap utolsó kettő és az aktuális hónap első két hetét.
Mégegyszer köszönöm szépen a segítséget, a sok jóindulatot és ne haragudjatok az agyleszívásért. :)
Kipróbáltam excel 2007 ben ”L” alakzatot meg tudtam csinálni. Hogyan tudok hozzá "ragasztani" cellatartalmat hozzárendelni? Nehezen igazodok ki az új elrendezésű képernyőn.
Próbáltam a neten rákeresni erre a parancsra nem találtam semmit mi a parancs pontos neve? esetleg leirás
Alapjában más a kiindulás, mint Sznidánál. A névadásokat nézd meg, ofszet függvénnyel jelölök ki annyi tételt az adatok végéről, amennyit a J1 cellában megadsz.
Az összegző képletek (pirossal) az F2:H2 tartományban vannak a 3 termékre. Ezek a szum függvények a rugalmas, névvel megadott tartományokat összegzik.
A könnyebb áttekintéshez az F3-ba beírtam az aktuális tartományt. Ezt megnézve módosíthatod a J1-et több, vagy kevesebb napra.
A bolhabetűs táblázatodat nem tudtam kibogarászni, ezért vettem alapul az indító kérdésedben jelzett 4 oszlopot.
Lehet hogy primitív megoldás, de arra gondoltam hogy a különböző hónapok oszlopait kigyűjtöm egy külön munkafüzetbe és azokra az oszlopokra alkalmazom a képletet amit írtatok korábban, így talán működik a 20-25 napos visszaszámolás, mert nem kell munkafüzeteket átlépnie.
Szia ! :) Igen, az nagyon komoly megoldás, nem jöttem volna rá magamtól. Köszönöm.
Lehet hogy még valaki emlékszik erre:
Ez volt az a táblázat, amiben 20 napot kellene visszaszámolnom. Közben kiderült, hogy ez lehet 24 vagy 21 nap is teljesen mindegy, csak a második hónap közepétől fedje az első hónap közepéig a számokat kb 20-25 napra. Ha a hónap elejétől számoljuk a teljesítményt, akkor a hónap elején lévő kiugrások miatt torz képet kapunk. Erre van valakinek ötlete ?
Most így néz ki pl az első oszlop: B4=(E4/F4)*100 E4 illetve F4 pedig csak szummázva van a 100x-ik sorig. E4-et, illetve F4-et viszont kb 20-25 napra visszamenőleg kellene tudnom.
Sikerült összehoznom ezzel az összefűzéssel. Köszi! :) Azért kellettek a sorszámok, mert ezek a számok kerültek be az OFSZET függvényekbe, amelyek a scrollozható grafikonhoz vannak kapcsolva.
Fűzd össze a segédoszlopban az év(a1)-et és a hónap(a1)-et, és ezt add meg a kereső cellában.
A B1 képlete: =JOBB(ÉV(A1);2)&"."&JOBB("0"&HÓNAP(A1);2), a kereső cella szöveg formátumú legyen, oda 06.02 -t írj be a 2006. febr-i adatok első és utolsó sorának kikereséséhez.
Ez az első kérdésedre vonatkozik, de most kiderült, hogy nem a sorszámokra vagy igazán kiváncsi, hanem a tól-ig tartományt akarod megjeleníteni. Erre való az autoszűrő. Az egyéni kategóriában be tudod állítani a kisebb, nagyobb, egyenlő értékeket.
Ha a 2003-as verziónál magasabbal dolgozol, a szűrési lehetőségek között megtalálod a Dátumszűrők lehetőséget.
A szöveg egy cellából érkezik ami esetemben pl=integrator!F43 . Cella tartalma: pl 5655 Borsodnádasd Kazánkovács utca 15/ E 5/15 ez nem fér ki egy sorba csak kettőbe a nyomtatvány adottságai miatt, a rendelkezésre álló hely ilyen L alakú hasonlóan ahogy rajzoltad. Hogy tudom azt megoldani, hogy automatikusan az alsó cellába tegye a szöveget ami nem fért ki a felsőbe.
Próbáltam alakzatot beszúrni L alakú nem találtam. Szabadkézi sokszöggel próbálkoztam de abba nem tuttam szöveget beírni, az Egyszerü alakzatokba tudtam szöveget beírni bár ezek közöt nincs ojan ami nekem jó lene
Hogy kel hozzá "ragasztani" cellához és ugyanúgy tudja venni ez az alakzat a benne lévő szöveget egy másik cellából
Köszönöm, ez működik és értem is, hogy egyezést keres a képlet, viszont ezt csak egy éven belül lehet használni. Nekem meg előfordul olyan is, hogy pl. 2006. február és 2008. július közötti értékeket szeretnék megjeleníttetni, vagyis a nagyobb, vagy egyenlő, mint 2006.02.01 és kisebb, mint 2008.08.01 közötti értékeknek kell szerepelniük. Megpróbálom úgy, hogy a 2006. februári értékek mellé 2006.02.01-et írok, és azt nézem meg, hogy hol szerepel először ez az érték. A 2006. márciusi értékek mellé meg 2006.03.01-et írok és a kapott számból 1-et levonva megkapom a februári legutolsó érték sorának a számát.
Ne haragudj, de olyan érzésem van, hogy igazából nem kell neked L alakú egyesített sella, csak ezt ötölted ki mert nem tudsz más megoldást
Amúgy ilyet nem lehet, de be tudsz szúrni "L" alakzatot, amit tudsz "ragasztani" cellához és ugyanúgy tudja venni ez az alakzat a benne lévő szöveget egy másik cellából
Cellákat szeretném L alakban egyesíteni Pl: A2 B2 C2 B1 C1 Excel 2003-ban de nem sikerül, csak négyzet alakúakat tudok létrehozni. Hogy lehet ezt kivitelezni, vagy újabb verziónál ez megoldható?
Nyomtatvány kitöltésére használnám. amin ilyen L alakú rublikák vannak, az adatok szövegek, egy másik munkaapról hivatkozással érkeznek egy sorba nem fér el. Vagy azt hogyan tudom megoldani hogy a cellából kimaradt adatot egy másikba tegye autómatikusan.
Vagy valamijen nyomtatvány kitöltő kezelő programot tudtok ami excel adatokat kezeli bemenetként?
Sziasztok! Hogy kapom meg egy növekvő sorrendbe rendezett dátumtartományban annak a dátumnak a sor értékét, amelyik az adott hónap első ill. utolsó eleme? Az adott hónapot én változtatom. Biztos van valami egyszerű megoldás, nekem sajnos nem akar összejönni...
ha külső hivatkozást tartalmazó cellában kérdezel meg előd/utód képletet, akkor megjelenik egy szaggatott vonal egyik végén a celláddal a másikon nyíllal és egy kis négyzettel - jelezve, hogy az egy másik füzet/v lap.
Sziasztok! Adott több Excel fájl mindegyik több munkalappal. Egyes cellák más munkalapok, illetve fájlok celláira hivatkoznak. Az azonos munkalapra történő hivatkozásokat meg tudom mutatni képletvizsgálattal (elődök, utódok mutatása), de ilyenkor a más munkalapra történő hivatkozást csak jelöli az Excel, de a cellát nem adja meg. Van arra lehetőség, hogy ilyenkor is megmutassa a hivatkozás pontos helyét? Az is nagy segítség lenne, ha egy táblázat celláihoz tartozó hivatkozásokat, képleteket egyszerűen ki lehetne gyűjteni. A cellákban a "képletek megjelenítését" ismerem, de ilyenkor a számok tűnnek el és váltáskor a cellaszélességek változása miatt is nehézkes a kezelése.
Nézted abban a táblázatban, hogyan oldottam meg az idővel való szorzást? Az időt egyéni formátumban van megadva, és így lehet szorzásra használni a cellát!
Köszönöm a segítséget. A sima csere nekem elég, mert egyszerűen csak adatbázist raktam össze Excelben, amit másol-beillesztel paranccsal egy másik programba viszek át, ami nem ismeri fel a tizedesvesszőt csak a tizedespontot. Még egyszer köszi.
Az a kérdés, hogy hogyan akarod utána használni a cellákban lévő számokat, mert ha simán kicseréled, akkor nem szám lesz ami szám, azaz nem fog számolni velük az excel.
Ezt a cserét simán meg tudod csinálni, szerkesztés, csere, mit cserélsz mire, tehát ,-t .-ra.
Ha utánba is számként akarod kezelni, akkor arra az időre a windows területi beállításokban kell a tizedes-t pontra cseréni.
Egy olyan kérdéssel fordulok hozzátok, hogy hogyan lehetséges (tizedes)vesszőt pontra cserélni Excelben, ha egy nagyobb adatbázisom van. Az a problémám, hogy közel 10000 cellában vannak megfigyeléseim, amelyek között vannak kisebb-nagyobb értékek is (tehát a tizedesvessző helye sokszor változik). Az lenne a kérdésem, hogy létezik-e megoldás arra, hogy a vesszőket pontra cseréljem?
Semmi gond, megnéztem a küldött file-t, és ott így volt a legegyszerűbb. Azért is használtam a Range függvényt/parancsot, mert ott megjelent a "Q", mint oszlop jelölő betű, ezért azt gondoltam a kérdező majd rájön, és ügyesen testre szabja magának. Tévedtem. :)
Igen, tonci123 14933-as hozzászólásából lehet arra következtetni, hogy iskolai feladat, és igen, említette 10-zel előtte, hogy nem engedi a feladat a plusz oszlopot.
Ezt nem értem. Az alapkérdéstől érzésem szerint már elkanyarodtunk afelé, hogy "hogy lehetne..." Kérdező már nincs is, csak idepottyantott valamit :) Ja meg asszem írta azt is hogy nem lehet plusz oszlop.
Amúgy meg ha ez egy zh vagy valamilyen házi, akkor a feladó nem gondolta át a feladatot.
Az egyetlen amit el tok képzelni egy iskolai feladathoz, az a cella+cella+cella+cella módon kézzel összeadogatni.
Köszönöm mindenkinek a segítséget. A feladatot leadtam, ha tudom megszerzem a megoldást:-) és közzé teszem. Én még kevés voltam ehez. Hála az égnek ez csak egy része volt a feladatnak..... úgyhogy még remélem ettől még elfogadják.
Ahogy Delila említette, makróval megoldható a dolog egy képlettel.
Az ehhez szükséges függvény (egy lehetséges megoldásban) így néz ki:
Function Pénzösszegzés(Tartomány As Range, E_Árfolyam As Range) Dim c As Range, Result As Single For Each c In Tartomány.Cells If Right(c.NumberFormat, 6) = "[$€-1]" Then Result = Result + c.Value Else Result = Result + c.Value / E_Árfolyam End If Next Pénzösszegzés = Result End Function
Úgy tűnik, hogy a CELLA függvény nem hajlandó tömböt visszaadni, így aztán se tömbfüggvénnyel, se szorzatösszeggel nem ment, próbáltam xl2003 és xl2007 alatt is. Ha menne, akkor valami ilyesmi lenne:
Az elsőt képlettel nem, csak makróval lehet megoldani. Miért nem írod a pénznemet egy külön oszlopba?
A másodiknál a HA függvénybe ágyazz be egy DARABTELI függvényt, amivel az x-eket számoltatod meg a sorban. Ha nincs a sorban x, a DARABTELI nulla értéket ad.
Az első kérdésem devizanemből lenne egy oszlopban csak cellaformázással létrehozva van Ft és Euro értékek és az oszlop alján Euro-ba kellene összeszámolnom, hogyan oldható meg?
A második kérdés kicsit talán bonyolultabb.
Ezeket a termékeket könyvelni kellene, és két részletben kell fizetni. A probléma, hogy van vagy 6 negyed év és bármikor fizethetem az első negyed évet és utána a másikat. Akár nem közvetlenül egymás után.
Egy képlet kellene, ami figyeli, hogy az első részlet le van könyvelve és jön a második rész. Egy másik munkalapon x-el van jelölve amikorra könyvelni kell HA függvénnyel megoldottam, hogy csak akkor számol ha ott x van. Viszont néznie kellene, hogy abban a sorba számolt e már x-et.
Szerintem az egyértelműen a 2. rendszer, csatolok egy képet amit arról az oldalról vágtam ki, és csak a 21-hez van írva, hogy 2. rendszer. Ki is emeltem mire gondoltam.
2010-ben kipróbálva május 23-t már a 21. hétre írta ki, 22 még nem, tehát jól működik!
Vissza_típusA hét kezdőnapja 1 A hét vasárnappal kezdődik. A napok 1-től 7-ig vannak számozva. 2 A hét hétfővel kezdődik. A napok 1-től 7-ig vannak számozva.
Számomra úgy tűnik, hogy e függvény ezen betegsége megmaradt a 2010-esben is.
Ha a T5-ös cellába beírsz egy vonalkódot, mintha érkezne az adat, akkor számol a megfelelő sorban.
Az R1, S1 cellában van minta a szummázásra, ha az r1.be beírsz egy TM... adatot, akkor szummázza, ezt felhasználhatod az össze többire, vagy egy legördülő is csinálhatsz neki!
T5-be érkezik a vonalkód, az össze egy cellába, a program megkeresi melyik sor az, és növeli a darabszámot. Kérdés, a vonalkód milyen formátumban érkezik? pl.: 9410471?
Kell-e nullázni, és mikor, és hogyan akarod?
Mit akarsz az időkkel? A darabszámmal meg kell szorozni? az benne van az R oszlopba, igaz nem az O oszlopra hivatkozva, hanem számként beírva. Ez jó így?
Úristen, ilyet is lehet ? :) Eszembe jutott még egy dolog de ezt már le sem merem írni... Látjátok az alkatrészek mellett vannak olyan kódok, hogy TM xxxx. Ezek a normaidők kódjai, tehát TM06-2821 az 0,11 perc. Igazság szerint ezt is össze kellene adnom valahogy... :( Tehát minden Tmxxx-es értékét ami egyforma. Ezzel végképp nem akarok senkit terhelni, így is nagyon sok segítséget kapok tőletek. :)
A vonalkódok nálatok nem fognak megjelenni, mivel code 128-as betűtípus kell hozzájuk. A vonalkódnak megfelelő kódolt karakterkészlet fog látszani, mondjuk arial-ban :)
Valami olyasmiről lehet itt szó, hogy amikor bekerül az A1-be a beolvasott vonalkód, akkor a vonalkód értékét meg kell keresni a másik munkalapon, a vonalkódok listájában, és a neki megfelelő darabszámot növelni eggyel. Ne adj isten, ha nincs meg a vonalkód, akkor felvenni a listába.
Az megszámolja, hogy hányszor változott az A1-es cellád, ha ez a metódus jó Neked, akkor már csak a Te körülményeidre kell szabni. Gondolok itt a cellák hivatkozásait jól beírni a makróba, valamikor ki kell nullázni a számlálókat, stb.
Vagyis a darabszámnál azt kellene hogy számolja hányszor lett a vonalkód beírva. Egyszerűsítve, ha van egy cellám és öt alkalommal beírokoda valamit, pl 3 5 6 7 8 4 számokat, akkor azt adja eredményül. hogy 5, mivel 5x írtam be oda valamit.
Így néz ki a táblázatom. A lényeg, hogy az első lap ki van nyomtatva, amiről a darabszámolásnál csipogtatják a kódot. A másik lapon pedig a számolás történik számítógépen ténylegesen excel táblába, ami az idő szorzatát is kiadja. A vonalkódok a termék kódja +1 alkatrészenként, tehát pl 940185 az alap kód. Az első alkatrész kódja 9401851 stb...
Én arra gondoltam, hogyha az A1-es cellába teszed be a vonalkódokat, akkor a B1-be számolja hány vonalkód került oda.
Ennek a kódja:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A1")) Is Nothing Then Cells(1, 2) = Cells(1, 2) + 1 End If End Sub
Csatolva, a VBE képe, ezt az aktuális munkalap objektumba kell bemásolni!
Újabb projekt :D Meg lehet azt valahogy csinálni hogy egy cellába ne az értéket írja, hanem az adatbevitelek számát ?
Egyszerűbben. Vonalkódot olvasok be cellába és azt szeretném, hogy ne a vonalkód értékét írja be, hanem azt számolja hányszor olvastam be a kódot. Lehet hogy volt már ilyesmiről szó, de sajnos nem találtam meg. Köszi! :)
Amennyit vacakoltam vele tegnap, olyan gyorsan megtaláltam ma - szóval köszönöm, ha valaki küzdött a problémával, megvan és természetesen baromi egyszerű:
Először vagyok errefelé és remélem, valaki tud nekem segíteni...szóval:
A felhasználó(m) E-mailben kap egy Excel-táblát, aminek nem lehet előre tudni a nevét.
Kinyitja.
Az Excel-tábla, amit kap, az egy többé-kevésbé szabványosan felépített táblázat (egy táblázatos megrendelő) - aminek a feldolgozásával már nem lenne gondom, arra megírtam már a szükséges "feldolgozó programot".
Azt szeretném elérni, hogy amikor a felhasználó kinyitotta a levelezőjéből az Exce-táblát és látja, hogy az egy megrendelő, akkor indítsa el az általam megírt programot, tehát olyan rutin kellene nekem, ami elindítása után felismeri, hogy nyitva van egy (másik) Excel-tábla és hogy annak mi a pontos neve.
Úgy oldottam meg a dolgot, hogy SZUMHATÖBB segítségével létrehoztam külön éves és külön havi összegeket tartalmazó táblázatokat és egy újabb tartományba kerülnek ezek az adatok attól függően, hogy a legördülő menüben mit választok ki, itt használtam az INDEX függvényt. Az OFSZET függvényt csak arra használtam, hogy a diagramom scrollozható legyen, szóval csúnya, de működik... :) Köszi!
Kihasználva, hogy SQLkerdes még nem szerezte meg a világuralmat (#14850-es hsz.), egy másik megoldást javaslok. Ebben egy függvénnyel megkapod az utolsó szót.
Szóköz nélküli szövegnél a teljes szót írja ki.
Function UtoSzo(szoveg As String) As String Dim sor% For sor% = Len(szoveg) To 1 Step -1 If Mid(szoveg$, sor%, 1) = " " Then UtoSzo = Right(szoveg, Len(szoveg) - sor%) Exit Function End If Next UtoSzo = szoveg End Function
' Returns the nth element from a string, ' using a specified separator character Dim x As Variant x = Split(str, sepChar) If n > 0 And n - 1 <= UBound(x) Then ExtractElement = x(n - 1) Else ExtractElement = "" End If End Function
Function WordCount(txt) As Long ' Returns the number of words in a string Dim x As Variant txt = Application.Trim(txt) x = Split(txt, " ") WordCount = UBound(x) + 1 End Function
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.
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?
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
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!
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... ;-)
Í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. :(
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).
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.
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.
Sziasztok! Szereték készíteni egy olyan grafikont, amely az adatokat egy legördülő menüből kiválaszott Nap/Hónap/Év paraméter szerint összegezve jeleníti meg, vagyis van egy csomó adatom és a grafikonban a kiválaszott intervallumra vonatkozó összegeket szeretném látni. Gondolom, hogy létre kell hoznom ehhez egy segédtáblázatot, ami a paraméter szerint változik és ebből kell grafikont készítenem, de a lényegre nem tudok rájönni, hogy hogy lehetne egy cellát rábírni arra, hogy változó méretű tartományt összegezzen. Az adatok dátumokhoz tartozó számok vagyesen, egyik hónapban több az adat, másik hónapban kevesebb... Van esetleg ilyen sheet-etek, amit tovább fejleszthetek? Előre is köszönöm, ha tudtok segíteni! :)
Demokráciában élünk, ami magában foglalja a szövegként tárolt számok vagy képletek újrakiértékelési módszerének szabad kiválasztását.
Persze ha sikerül a tervem és megszerzem a világuralmat, akkor eltörlöm ezt a nagy szabadosságot és csak Text 2 Columns-szal lehet majd konvertálni... Addig úgy csinálok mintha tolerálnám ezt a nagy szabadosságot.
Ha megnézitek az eredeti kérdéshez csatolt képet, ott is ez történt a dokumentnumber adattal. Mondjuk ott mázli, hogy egybefüggő az érintett tartomány és az Excel auto-correct-ben elsikálja a gondot, ha a zöld kis háromszögre kattan a júzer.
Ahol lehet a másolás-lehúzást csinálni ott az egyszerűbb, egyértelmű.
Én soxor dolgozom adatbázis extract-okból, ahol van, hogy "rendes" számok szövegként jönnek át, ott nincs esélye a lehúzásnak, mert nem képlet van amit másolni lehetne, hanem natúr alapadat.
Lehet azt csinálni, hogy Text to Columns (Data/Adat fül) az adott területre. Itt olyan delimitert kell kiválasztani ami NINCS az adott cellákban. A Text to Columns "lefut", nem talál delimitert és úgy hagyja a cella tartalmát ahogy van (vagyis nem szedi szét két vagy több oszlopra) DE újra kiértékeli a kapott új cellák (amik igazából a régi cellák) értékét és ekkor voila, kiszámolja a függvény értékét.
Szövegformátumra van állítva az oszlop, állítsd vissza általánosra.
Ha ettől nem javul meg azonnal (nem fog), akkor nyomd meg az F9-et. Ha ez sem segít, akkor egyenként bele kell lépni a cellákba, és entert nyomni. (_Miután_ a formátumot visszaállítottad.)
Van egy olyan gondom, hogy az egyik oszlopban nem működik a függvény, csak kiírja a képletet, a másik oszlopban pedig rendesen működik, pedig teljesen egyforma a két oszlop formátuma (ha minden igaz). Van valakinek valami ötlete arra, hogy mi lehet a gond?
Az alt+tab gombokkal nem tudok váltani a megnyitott lapok között. Van valami megoldás? Mert a ctrl+tab nem az utoljára használt lapra ugrik, hanem folyamatosan előre ugrik...
ha megvan az üres pivot, akkor egérrel bele lehet húzkodni a mezőlistából megfelelő mezőket a szükséges helyekre. (2007-2010-ben ezt külön be kell állítania kimutatás beállításainál (klasszikus kimutatás nézet, vagymi)
A 2007-es verzió varázslójában 1 lépés van. A táblázatban állva a tartományt jelölheted ki, vagy külső adatforrást választhatsz, és a kimutatás helyét határozhatod meg. Ezzel létrehoztál egy üres kimutatást. Ha ezen a területen állsz, egy elrendezési segédlet jelenik meg a lap jobb oldalán, ami az általad beillesztett képnek az újabb változata. A kimutatási terület mellé kattintva eltűnik.
Robbantomester, igazad van, egyszerűbb az MROUND függvény.
Sziasztok! Az Excel 2003-ban a Pivot tábla elrendezését a mellékelt képen látható ablakbanl is be lehetett állítani. Benne van ez az Excel 2007-ben? Köszönöm!
Van egy olyan problemam excelben, hogy matematikai kerekitest szeretnenk vegezni egesz szamokon olyan forman, hogy mindig a legkozelebbi 5-os ertekhez kozelitsen a vegeredmeny.
pl. 3456-bol legyen 3455, de 3458-bol 3460 legyen.
A kerekites fuggvenyt vegigprobaltuk, de az csak folfele kerekit (3456 -> 3460)
Van erre fuggveny megoldas, vagy marad a manualis modszer?
Nem akarok erre sok időt vesztegetni, nem jellemző, hogy a két verziót egyidejűleg használom. Csupán mint érdekességet említettem meg, mert valakinek látszólag hasonló problémája akadt.
Abban biztosan igazad van, hogy két külön programként kezeli a rendszer – mivel valóban kettő.
Az egész úgy jött elő, hogy 2003-asban kezdtem beadni az adatokat, mikor észrevettem, hogy nem azt kérték, és lustaságból át akartam másolni az addig beírt adatokat és képleteket. :)
Az okosok biztos jobban tudják nálam, és érthetőbben tudják leírni, de rémlik valami, hogy két különálló Excelt külön kezel a rendszer. Akkor is ha ugyan az a verzió van elindítva egymás után. Ebben az esetben nem az Excel saját vágólapján keresztül másol, hanem az op rendszeren keresztül.
Most ki is próbáltam és a saját 2007-es példányomat kétszer indítottam el. Nem tudok másolni a kettő között. Illetve a másolás csak az általad is leírt korlátokkal lehetséges.
Ebbe itt nálunk nagyon sokan belefutnak, hogy valamilyen fájlkezelő programból nyitják meg az egyes táblákat, így azok külön-külön programban indulnak el. Ezért sem használom az Excelnek a "Az összes ablak megjelenítése a tálcán" beállítását. Így minden tábla egy programban van. A tálcán csak egy ikon látszik. Így ha mégis megjelenik több ikon a tálcán, akkor látom, hogy külön programban futnak a tábláim és azonnal megteszem a "szükséges intézkedéseket".
Nem. Egy kis táblázat, 2 oszlop és néhány sor szám, a harmadik oszlopban egy összeadás, semmi szűrés.
Csupán lusta voltam megint beírni a 2007-be a számokat.
Azóta kiváncsiságból megpróbáltam azt is, hogy másolom a 3 oszlopot a 2003-as verzióban, átlépek a 2007-be, és oda irányítottan próbálom beilleszteni. Ezt az ablakot kapom:
Én 2007-ben általában azt tapasztaltam, hogy ha szűrve van a táblázat és ekkor másolok, akkor a beillesztés csak értékkel történik és képletet csak az irányított beillesztés->képlettel tudok másolni. Lehet nálad is ez volt.
Na de Delila pont ezt csinálta. Nézd meg az A oszlopot, ott van a "van" vs "nincs" (ie, hogy van-e olyan ahol 90%-os adat van bármelyik oszlopban, az adott sorban).
Köszönöm az eddigi segítségeket, hasznosnak bizonyult ez az "automatizált jó pofa" alkalmazás.
Már csak olyan kiegészítésre lenne szükségem, hogy a számított érték mögé szeretnék besuvasztani fix karaktert is (% jelet). Eddig a tőle jobbra levő cellába helyeztem el. Ezekből kifolyólag két kérdés merül fel:
képlet mögött lehetséges-e alkalmazni más karaktert is, vagy
"feltételes formázás"-sal kezelt cella szomszédos celláira is ki lehet-e vetíteni ugyanazt a "formázást" (pl.: C2 cellát "formáztam", s a D2-n is ugyanazt a változást szeretném elérni, de a tartalma beírt szöveg, ergo a számítás alapú "formázás" kilőve).
A 60 db termék neve tartalmaz szóközöket és számokat? Ez csak akkor baj, ha a nevek kezdő karaktere számjegy, mert ilyen névadást nem szenvedhet az Excel. Az elnevezés többi helyén már szerepelhet szám.
Mivel a szóközöket is utálja, azok helyett a HELYETTE (SUBSTITUTE) függvénnyel berakhatsz egy bal Alt+0255 (˙) karaktert, ami egy alig látható kis felső helyzetű pont. Ezt már lehet alkalmazni a névadásnál.
Ha számjeggyel kezdődnek a terméknevek, azok elejére is biggyeszthet egy ilyen miniatűr pontot.
B1-> =HELYETTE(A1;" ";"˙"), C1-> ="˙" & B1
Egyszer kell vele vesződni, utána már felgyorsítja a munkát.
Xooo, nem fogok neked hazudni: nem látom a különbséget.
Ha jól értem a problémádat, van az A worksheet-eden kb 60 terméknév, mindegyik terméknévhez tartozik 5 db kód.
Amit el szeretnél érni az az, hogy a B worksheeten, az A oszlopban egy legördülő menüben kiválasztasz egyet a fenti 60 terméknév közül, majd a B oszlopban - szintén legördülőmenüben - kiválasztod a megfelelő kódot. Értelemszerűen azt szeretnéd, hogy ha az ABCDE terméket választottad az A oszlopban (mondjuk A1) akkor a B1 cella legördülőjében már csak az ABCDE termékhez tartozó 5 db kód jelenjen meg és csak azok közül lehessen választani.
A lenti technikák pontosan ezt csinálják, a szóközök miatt lehet egy kis csavar a dologban, hogy a szóközöket ki kell gyomlálni a terméknevekből, amikor Named Range-ként használod a terméknevet. =SUBSTITUTE(A1," ","_")
Vagy teljesen félreértem a problémát és akkor lécci írd le hol és mit értek félre.
Hello. Köszi, de ez nekem nem jó szerintem, mert itt az elv az hogy ha étel a főmenü akkor -alma -banán - körte almenüket lehet kiválasztani.
Nekem viszont van kb 60 db termékem, az első munkalapon, mindegyikhez tartozik 1-8 munkaszám ( 5 jegyű kódok ) amiket frissítünk. Ezért nekem listához kellene listát rendelnem.
Tehát ha a 60 db termékből a1 oszlopban kiválasztok egyet a listáról, akkor b1-ben a csak ehhez tartozó lista kellene hogy előjöjjön, ami csak ahhoz az egy termékhez rendelt kódokat tartalmazza, amit külön megcsináltam és elneveztem. Tehát kb mint a HA függyvény. Ha A1=X, akkor B1=Y, csak nekem listákkal. Ezért nem jó a megoldás amit javasoltál sajnos, de azért nagyon köszönöm. :)
A termékem neve tele van szóközzel számmal stb, tehát olyan nevű listát nem tudok készíteni...
Sziasztok ! A következő dologban kérném a segítségeteket.
Adott A és B munkafüzet. Az egyikben adatok vannak, amikből a másikban legördülő listákat csináltam, hogy a felhasználó ki tudja választani ami neki kell.
Az első kérdésem az, hogy hogyan lehet ( ha lehet ) a legördülő lista szövegét " highlightolni " :D Szóval a cella amibe bele kellene hogy férjen a szöveg kisebb mint a forrás, ezért nem látszik a szöveg végig amikor kiválasztom. ( sortöréssel csináltam meg, szóval amikor beillesztio már jó, akkor 2 sorban van, amikor kiválasztja pedig 1 sorban, tehát nem látszik a szöveg vége )
A második pedig az, hogy legördülő listát tudok-e előszedni HA fügyvénnyel.
Példa: A munkalapon XYCVB szöveghez tartozik 123 456 789 kód.
A másik munkalapon ha kiválasztom XYCVB szöveget, akkor csak 123 456 789-es kódokat kellene hogy felkínálja, ami az A munkalapon az XYCVB szöveggel egy sorban van.
Nektek szerintem nem nagy kaland, nekem kihívás :D
Sub Szín_lekérdezés() If Selection.Font.ColorIndex = -4105 Then MsgBox "A karakter színkódja: " & " fekete (automatikus, -4105)" Else MsgBox "A karakter színkódja: " & Selection.Font.ColorIndex & " " End If If Selection.Interior.ColorIndex = xlNone Then '-4142 MsgBox "A cella hátterének színkódja: " & " átlátszó, -4142" Else MsgBox "A cella hátterének színkódja: " & Selection.Interior.ColorIndex & " " End If End Sub
A kiszínezett cellán indítva megadja a háttér, és a karakterszín kódját.
Fejből nem mondok neked kódokat, de nyisd ki a cellaformázásban a szám fülön az egyedi formátumot, és nézelődj. A negatív számok pirosítására kész megoldás van benne, ha ez elég egyedi szín.
Anélkül, hogy végigpróbálgatnám a teljes színpalettát, honnan tudhatnám meg, hogy melyik "szín szám" milyen színt takar valójában? Negatív számokat más, de egyedi színnel szeretnék megjeleníttetni, a számformátum ekkor pl: 0,00_ ;[Szín5]-0,00
Van egy olyan problémám, hogy van egy 9000 sorból álló excel táblám, aminek a celláiban sok tizedesjeggyel bíró számok vannak. pl.: 0,00800000037997961
De nekem ebből csak a tizedes vessző után 3 számjegyre van szükség. Van olyan képlet ami levágja a maradék számjegyekt? A celleformázás csak takarja, de amikor összefűzöm a cellákat valamivel akkor kiadja a teljes számsort.
Hogy lehetne lecsonkolni 3 tizedesjegyik a cellák tartalmát?
Nekem is összejött végülis, bocsánatot kérek, hogy szemetelek a hozzászólásommal, csak néha el tudok akadni és végső kétségbeesésemben írok ide Nektek. :)
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Target.Column = 1 And Target.Row = 1 And Target.Value = "TRUE" Then Target.Value = "FALSE" Exit Sub End If If Target.Column = 1 And Target.Row = 1 And Target.Value = "FALSE" Then Target.Value = "TRUE" End If
Hogy a többi cellánál éljen a jobb klikkes menü, akkor ez a tuti:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A1:A2")) Is Nothing Then If Target.Value = "False" Then Target.Value = "True" Else Target.Value = "False" End If Cancel = True End If End Sub
Az aktuális munkalap objektumába (VBE) másold be ezt a kódot:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A1:A1")) Is Nothing Then If Target.Value = "False" Then Target.Value = "True" Else Target.Value = "False" End If End If Cancel = True End Sub
Ez a kód az aktuális munkalap A1-es cellára jobb klikk-kel való kattintáskor fut le, és írja be az Igaz, vagy Hamis értéket!
Tudnátok olyanban segíteni nekem, hogy egy meghatározott cellára jobb egér gombbal kattitva a cella tartalma az előző érték ellentettjére vált? Tehát egy TRUE/FALSE kapcsolót szeretnék létrehozni. :) Köszönöm!
Olyan problémába ütköztem, hogy ha bekérek egy tartományt, ami például "Munka1!A1:A5", akkor melyik változó tárolja azt, hogy Munka1, azaz a munkalap nevét amire hivatkozok.
Van egy ilyen sorom: Sheets("Munka1").cells(MyRange.Row, MyRange.Column)
A Munka1 helyére kellene az a változó ami visszaadja a munkalap nevét!
A válaszom nem erre a speciális esetre vonatkozik, de én is meglepődtem tegnap.
Egy 2003-as füzetből akartam értékeket és képleteket másolni 2007-be. Mindegy, hogy Ctrl+c, Ctrl+v módszerrel, vagy áthúzással tettem, a képletek helyére értékek kerültek. :(
Volt egy excel templatem, ahol az egyik sheet offset és match segítégével olvasott ki a kellő helyekről.
SOK SOK FÜGGVÉNY :-).
Na most az történt, hogy ezek a függvények átalakultak value-vá én meg azon gondolkodom ez hogyan történhetett.
Csak pár embernek van hozzáférése a fájlhoz és annyira specikifusan vannak ezek a függvények a fájban, hoyg egyszerűen nem tudom elképzelni hogyan tudta volna valaki felülírni valuval...
Szerintetek létezik, hogy valami oknál fogva egyszerűen törlődik az offset és értékké átíródik?
A Start menü/Programok/Kellékek/Rendszereszközök/Karaktertábla prodgramban találsz indexben lévő számokat, pl. a Verdana betűtípusnál. Ezeket másold, és az Excelben a cellaformázásnál Ctrl-v-vel beillesztheted az Egyéni kategóriában.
SQLkerdes elég korrekt választ adott erre, de ha végképp nem akarsz egy adatbáziskezelőt, akkor meghatározhatod, hogy max. hány színkód lehet egymás mellett, vagy max. hány termékkód, és lehet több hasonló funkciójú oszlopd (amitől persze a képletek akár a visszataszítóságig is elbonyolódhatnak).
Ha viszont nem akarsz adatbázist, és véges sok színed van, akkor minek a színkódok?
"Ebben az esetben milyen szint rendeljen az almához, illetve milyen terméket rendeljen a sárga színhez?" -- Almából van piros és sárga is. Sárga színű lehet az alma és a banán is.
Több-több kapcsolatot kéne valahogy megjelenítenem. A probléma a megoldási javaslatoddal, mármit azzal hogy egy sheet legyen és hogy egy sor csak egy színt és egy terméket tartalmazzon azért nem jó nekem, mert a színek és termékek valójában nagyon hosszú szövegek, melyekből egyik másik akár több tízhez is kapcsolódhat a másik sheetről (hogy érthetőbb legyen, high level requirementeket szeretnék use case-ekhez párosítani, és ezt a párosítást látni visszafelé is).
Amit ki szeretnék hozni, vhogy így nézne ki az előző egyszerű példánál maradva:
sheet1
1 alma 2,3
2 körte 1,3
3 banán 4
4 dinnye 1,2,3
sheet 2
1 piros 2,4
2 zöld 1,4
3 sárga 1,2,4
4 kék 3
"Miért van szükséged, az első munkalapra, ha ott csak az szerepel, amit a másodikon már felsoroltál?" -- az első munkalapra azért van szükségem, hogy a hosszú szövegeket ott külön tárolhassam, és a másik munkalapon már csak az id-ra kelljen hivatkoznom.
Remélem, régebbi verziót alkalmazol, mint a 2007-es, mert annál nem találom a beállítást.
A 2003-nál az Eszközök/Beállítások/Megjelenítés fülön az Objektumoknál a "Helyük látszik" van nálad bejelölve. "Az összes megjelenítése" beállítással mindig látható lesz a diagramod.
Én úgy látom ez egy klasszikus normalizációs probléma.
A több a többhöz kapcsolatok tipikus adatbázis-terület és ez valszeg azt jelenti, hogy a kérdező problémáját nem excelben (táblázatok), hanem pld. Access-ben (relációs adattáblák) kellene kezelni.
Az adatbáziskezelésben a több a többhöz kapcsolatokat egyébként egy ún. segédtáblával szokták megoldani, ami a több/több összes releváns verzióját felsorolja. Ez itt nem tűnik járható útnak.
Nem biztos, hogy pontosan értem mit szeretnél, de szerény véleményem szerint nem is fog működni.
Több elem tartozhat több elemhez. Az Excel nem fogja kitalálni, hogy mikor mit szeretnél hozzárendelni az egyes elemekhez. Például: alma, sárga alma, piros banán, zöld banán, sárga Ebben az esetben milyen szint rendeljen az almához, illetve milyen terméket rendeljen a sárga színhez?
Inkább azt írd le hogy mit és milyen célra szeretnél használni, akkor lehet tudok (tudunk) valamilyen jobb vagy más megoldást mondani. Egy tippem így látatlanban is van. A fenti példához hasonlóan felsorolod a listádat sorokban és oszlopokban. Egy sor csak egy terméket és egy színt tartalmaz. Aztán ebből már több féle módszerrel nyerhetsz ki adatot. Az egyszerűbb módszerek például a kimutatás és a helyi illetve irányított szűrések. Bonyolultabbak lehetnek összetettebb képletek, vagy végső soron makró. Miért van szükséged, az első munkalapra, ha ott csak az szerepel, amit a másodikon már felsoroltál?
Ha egy színhez több termék is tartozhat, egy termékhez több szín is tartozhat, azt hogyan kezeljem? A vesszővel elválasztás nem tűnik működő képesnek, ahol több terméket írok be egy színhez, ott már nem találja meg.
segítséget szeretnék kérni egy excelben megoldandó feladathoz.
Két sheet van, az elsőn ezek az oszlopok: Termék_ID, Terméknév, Szín_ID
Második shett oszlopai: Szín_ID, Szín, Termék_ID
A második sheeten manuálisan beírogatom, hogy melyik színhez melyik termék_id tartozik (egy színhez több termék is tartozhat, egy termékhez több szín is tartozhat).
Hogyan tudom feltölteni az első sheet harmadik oszlopát a második sheet megfelelő Szín_ID értékeivel? És hogyan célszerű a színeknél a termék_id-t beírni, ha több is tartozik hozzá? Vesszővel elválasztva?
Viszont nekem az rémlik, hogy a shell parancsoknál valamilyen módon figyelni kell (illik), hogy már végrehajtódott-e az utasítás mielött a programod tovább fut a következő sorral. De ennek módját most nem tudom.
Megnéztem a tábládat, de én is befürödtem vele. Te az mkdir-t használtad. Utánaolvasgattam és ez tényleg nem képes többszintű könyvtárstruktúra létrehozására. Ez engem is meglepett, mikor a DOS-ban kiadott md meg képes rá. (Mint korábban írtam ez is meglepett.) Ez a meglepetések napja :o) Gondoltam ha DOS-ban lehet akkor lehet VBA-ban is, de nem próbáltam ki. :o(
Programozásban még nagyon sokat kell tanulnom, de megpróbáltam utánanézni.
Egy megoldás lehet a DOS-os md parancs meghívása, de ezzel nem kísérleteztem
Én is barkácsoltam egy megoldást. (A per jeleket +-ra cseréltem, ezt majd cseréld vissza.)
Az eredeti programodat:
folder = Worksheets("Bevisz").Cells(16, 1) Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FolderExists(folder) Then MsgBox folder & " elérési út nem létezik", vbInformation, "Nem létező mappa" hely = Worksheets("Bevisz").Cells(16, 1) MkDir (hely) Else MsgBox folder & " elérési út létezik", vbInformation, "" End If
Így módosítottam:
folder = Worksheets("Bevisz").Cells(16, 1) If Len(Dir(folder, vbDirectory)) = 0 Then konyvtarak = Split(folder, "+") If UBound(konyvtarak) > 1 Then utvonal = konyvtarak(0) For i = 1 To UBound(konyvtarak) utvonal = utvonal & "+" & konyvtarak(i) If Len(Dir(utvonal, vbDirectory)) = 0 Then MkDir utvonal End If Next i End If End If
Tegnap este próbálkoztam, de sajnos nem sikerült egy mappánál többet létrehozzak egyszerre, egyesével ment. Azt azért nem írom ide, mert E.István azt írta, hogy tud több mappát létrehozni egy lépésben, az Ő ajánlatát kellene használni.
Én ha az MkDir parancshoz beírom a többszintű elérési utat, akkor "Path not found" hibaüzenettel megáll.
Sajnálom, hogy nem tudtam segíteni, ha a több lépcső megoldás jó, akkor szól, azt el tudom küldeni!
Könyvtárműveletes makrót az egyszerű beolvasáson kívül még nem készítettem. Így látatlanban csak tippelni tudok. Szerintem az lehet a gond, hogy egyszerre akarod létrehozni a könyvtárakat. Valószínűleg a beírt elérési útvonalat a makrónak szét kellene szedni darabjaira és egyesével létrehozni a főkönyvtárat, majd abba belépve az alkönyvtárat és így tovább. Nem hiszem hogy létezne olyan művelet amellyel egyszerre lehetne létrehozni többszintű könyvtárstruktúrát.
Formátum menü, feltételes formázás, ott most ez van: =B2<>SZUM(C2:AC2)
Ha írsz egy másik feltételt ami a szorozza a szum-ot valamilyen értékkel (mondjuk a 75%,nál akarsz színt váltani, akkor 0,75-el), és beállítod a színét.
A következő problémában kérném a segítségeteket: Adva van egy kész makró, ami menteni tud adatokat a:-Worksheets("Bevisz").Cells(20, 1)- helyre. Ha nincs ez megcsinálva előre akkor viszont semmi sem történik, megpróbáltam vizsgáltatni és létrehozatni a könyvtárat,de max egy mélységig hajlandó, pl:- D:ment- de a - D:mentmentés1- már nem jön létre, sőt ez esetben az első sem. Remélem érthető.
Erről a linkről le tudod tölteni! (Remélem működik a link)
Megcsináltam az összes tételre!
Annyi a változtatás, hogy a "B" oszlopból kitöröltem a képletet, oda kell beírnod a szállítandó mennyiséget, ha nincs annyi a raktárakban, akkor piros lesz a háttere!