-
IT café
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
DeFranco
nagyúr
ez már nem szorosan excel téma, hanem budgeting, de írtam privátot pár gondolattal
(amúgy én úgy csinálom, hogy a tételes költségeket külön vezetem egymás alatt gyakorlatilag ömlesztve, és mellette egy másik tábla összesíti ezeket kategóriákba (rezsi, kaja, elb*sz, telefon, fodrász, stb.) plusz a célkasszák egy másik fülön amiből a rendkívüli (eseti, nagyobb összegű, pl. cipővásárlás, kari aji, létravásárlás) kiadások célzott fedezete van.)
-
DeFranco
nagyúr
sziasztok!
egy oszlopban más mukafüzetekből szeretnék adatokat behivatkozni, de paraméterezve, a következők szerint:
A1:A10-ben legyenek évszámok 2006-tól 2015-ig
B1 cellába egy C:\Dokumentumok\Termelés\2006\[Éves zárások 2006-ig.xlsx]Munkalap1'!$F$10
B2 cellába egy C:\Dokumentumok\Termelés\2007\[Éves zárások 2007-ig.xlsx]Munkalap1'!$F$10
stb. hivatkozások kerülnekezt szeretném automatizálni, tehát hogy az elérési útban és filenévben szereplő évszám stringet az A1:A10 megfelelő cellájából vegye.
tippem szerint INDIREKT-et kellene használnom, de nem jön össze. munkafüzeten belül más munkalapra tudok hivatkozni, de így nem megy, hiába mutatja "jól" a képletkiértékelőben.
valami ilyesmivel próbálkoztam volna:
=INDIREKT("C:\Dokumentumok\Termelés\"&A1&"\[Éves zárások "&A1&"-ig.xlsx]Munkalap1'!$F$10"
de nem jött be
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz lenkei83 #28902 üzenetére
értem amit írsz, de nem tudom értelmezni a képletre
[...]INDIREKT("" & $F2 & "!$A$"[...]
ha a zárójel mögötti részt összerakom, akkor az így olvasom: [idézőjelben a semmi] ÉS [ami az F2 cellában olvasható] ÉS [!$A$] stb.
tehát ha jól látom, akkor nyitom és zárom is az idézőjelet, hogy van ez hatással a mögötte lévő $F2-re?
-
DeFranco
nagyúr
válasz lenkei83 #28894 üzenetére
csináltam én is egy megoldási verziót, mert nem hagyott nyugodni:
=SZUMHA(ELTOLÁS(INDIREKT(CÍM(HOL.VAN($E2;Sample!$A$52:$A$1000;0)+51;1;1;1;"Sample"));2;0;12;1);$B2;ELTOLÁS(INDIREKT(CÍM(HOL.VAN($E2;Sample!$A$52:$A$1000;0)+51;1;1;1;"Sample"));2;1;12;1))
kódban:
=SZUMHA(ELTOLÁS(INDIREKT(CÍM(HOL.VAN($E2;Sample!$A$52:$A$1000;0)+51;1;1;1;"Sample"));2;0;12;1);$B2;ELTOLÁS(INDIREKT(CÍM(HOL.VAN($E2;Sample!$A$52:$A$1000;0)+51;1;1;1;"Sample"));2;1;12;1))
a CÍM(HOL.VAN( -t lehet hogy lehet egyszerűsíteni, de hirtelen nem találtam olyan képletet, ami megkeresné egy tömbben az értéket, és az abszolút hivatkozását adná vissza.
[ Szerkesztve ]
-
-
DeFranco
nagyúr
Az alábbi problémára keresnék függvényt/makrót/megoldást:
Adott egy szép nagy tábla, amiben indirekt függvénnyel paraméterezve vannak behivatkozva más táblából adatok, tehát =INDIREKT("'[pista.xlsx]"&C1&"'!H82")
ahol C1 a pista.xlsx megfelelő fülét azonosítja, így szívva be az adatot egy húzással sok fülből egyszerre a következő (C2, C3, C4) lépésben. legyen C1=gáz C2=víz C3=villany C4=közös költség (amik rendre a pista.xlsx munkafüzet munkalapjainak nevei természetesen.
Itt szeretném eltüntetni az INDIREKT trükköt úgy, hogy az excel a hivatkozást feloldva a fenti képletet '[pista.xlsx]gáz'!H82 -re cseréli rendre ([pista.xlsx]víz!H82, [pista.xlsx]villany!H82, [pista.xlsx]közös költség!H82)
hogyan tudnám ezt megoldani?
[ Szerkesztve ]
-
DeFranco
nagyúr
-
DeFranco
nagyúr
sziasztok!
előrebocsátom, nem értek a makrókhoz semmilyen szinten
van egy makróm, amit egy makróbarát munkafüzetbe mentettem, legyen próba.xlsm
itt a gyorselérési eszköztárba kitettem egy gombot, amihez hozzárendeltem a makró futtatását
a munkafüzetet mentettem makrómentes munkafüzetként, legyen próba2.xlsx
a makró gombja itt is fenn maradt a gyorselérési eszköztáron
ha próba.xlsm-et bezárom, és a próba2.xlsx-en megnyomom a gombot, nyitja próba.xlsm-et és lefuttatja a makrót
a gombot persze el tudom távolítani, de akkor már a dolgok mögé néznék:
hol tudom szerkeszteni, hogy a gyorselérési gomb honnan, és milyen makrót hív meg?
tárolódik-e valahol akár általános tárban ez a makró, vagy annak elérése (tehát hogy melyik filet kell megnyitni hogy futtatható legyen) ha a makró a próba.xlsm-ben levő modulban található?[ Szerkesztve ]
-
DeFranco
nagyúr
válasz m.zmrzlina #29324 üzenetére
igen, ez megvan már. közben azért összeállt a kép, ha jól értem, akkor általános makrótár nincs, max. akkor érem el a makrót máshonnan ha beállítom, hogy indításkor mindig nyisson egy spec munkafüzetet, illetve abban a speciális esetben ha a makrót tartalmazó füzet IS nyitva van.
-
DeFranco
nagyúr
sziasztok!
2007-es excelben az a cél, hogy az adatok feltöltéséhez legyen minden sor első cellájában egy legördülő választéklista, amiből ki lehet választani az adott terméket. tovább vezérelni ezt egyelőre nem kell (írjon be értéket, stb.), csak a klikk-klikk a lényeg.
beviteli lista űrlap-vezérlőelemmel próbálkoztam, működik is szépen, de aztán elkezdtem ctrl-húzással egymás alá többszörözni az egyes sorokba ezt a vezérlőelemet, és belefutottam abba a problémába, hogy egyszerre váltanak, ha valamelyken elemet választok.
első kérdésem: jó eszközt választottam-e a feladathoz
második kérdésem: hogyan lehetne ezeket egymástól függetleníteni, gondolom nem az a megoldás, hogy egyesével összekattintgatok 40-50 vezérlőelemet. -
DeFranco
nagyúr
válasz Digital #29594 üzenetére
meg lehet oldani gondolom egy egyszerű makróval, ezt majd a többiek leírják
én (ha ez egyébként egy sablontábla amit periódusonként töltögetsz) annyit csinálnék, hogy szépen képlettel hivatkoznék az első dátumos munkalap dátumot tartalmazó celláira =[munkalap]![cella] formátumban. így automatikusan átveszi csak egyszer kell beírni és napszemüveg.
nem tudom jól értem-e a problémát
-
DeFranco
nagyúr
-
DeFranco
nagyúr
válasz Gem Geza #30143 üzenetére
én sem ismertem, kapásból én is valami =DARABTELI(tartomány;ÜRES()) gnómmal ugrottam neki, ami ofc nem működött, aztán elkezdtem böngészni a képletgyűjteményt. végül elkezdtem beírni hogy =DARA a cellába, és gyorstippszerűen feldobta utolsó helyen a DARABÜRES-t.
fejből nem fogsz tudni minden képletet, nem is kell
OFF: tegnap egy rajzot össze kellett tennem 2013-as powerpointban, ledobtam a hajam mennyire kényelmesre csiszolták az illesztéseket, mindent mutat vezetővonallal, hogy épp melyik objektumot melyikkel illeszted párhuzamba, milyen ezzel egyenlő távolságok vannak még, mikor érsz valamelyik objektum közepéhez, stb. úgy lehet vele dolgozni mint a kisangyal. hihetetlen kezes.
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz oleandro #30174 üzenetére
1) az utolsó paramétert (tartományban_keres=0 vagy HAMIS) nem adtad meg
2) nincs abszolút hivatkozássá téve a tábla paraméter (rend szerint abszolútnak kell lenni)
3) mégsem egyezik teljesen, ezt egy AZONOS függvénnyel tudod tesztelni ha manuálisan rámutatsz egy olyan párra, aminél találat kellene legyen de nincs. -
DeFranco
nagyúr
sziasztok!
szívok a hét.napja függvénnyel. a képlet ez:
B2 cellában: =HÉT.NAPJA(A2;2)
A2=2015.09.01.
ez a nap keddre esett, a B2-ben meg is jelenik az érték, hogy "2", viszont ha ezt vagy SZÖVEG függvénnyel a hét betűvel kiírt napjává alakítom, vagy nnnn egyéni cellaformátumot adok neki (ami azonos eredményt ad), akkor ott nem keddet, hanem hétfőt ír ki, gondolom azért, mert a default 1=vasárnap... ...7=szombat rendszerben gondolkodik.
hogyan lehet ezt elegánsan megoldani valami favágó segédfüggvény (pl. VÁLASZT) beiktatása nélkül, hogy helyre (keddre) kerüljön?
-
DeFranco
nagyúr
válasz Delila_1 #30596 üzenetére
hú, ez nagyon jó, de szükségem lenne az értékre B2-ben, tehát az lenne az optimális, ha 2-t adna "eredményül" és "keddet" mutatna.
így tudnám pl. kimutatásban vagy szűrőben leválogatni pl. a hétfői napokat.
ha már itt tartunk: azt tudod, vagy tudja valaki, hogy a HÉT.SZÁMA függvényben a kétszámjegyű vissza_típus-ok mit jelentenek?
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz Delila_1 #30598 üzenetére
köszönöm, így már értem
/all vizualizációs, ötletelős kérdésem lenne még, ebbe tegnap, a fenti munka során futottam bele.
adott egy adattábla, rendre napi egy adatsorral,
A2(dátum) B2(dátum hónapja) C2(dátum hetének sorszáma) D2(hét napja) E2(érték1) F2(érték2) G2(érték3)
A3(dátum) B3(dátum hónapja) C3(dátum hetének sorszáma) D2(hét napja) E3(érték1) F3(érték2) G3(érték3)és így tovább, egymás alatt, mondjuk január 1-től dec 31-ig.
szeretném esztétikusan megoldani, hogy "gombnyomásra" összesíthetőek legyenek az adatok (E-F-G) hónap, illetve hét sorszáma szerint.
erre elvileg jó lenne a részösszeg funkció, amivel két problémám van:
- az objektív problémám az, hogy a hetek átlóghatnak a hónaphatárokon, így pl. két 40. hét részösszeg lesz, egyszer hétfőtől szerdáig a 10. hónapban és csütörtöktől vasárnapig a 11. hónapban. ez mindenképpen hibás így.
- a szubjektív problémám az, hogy szeretném egy fokkal esztétikusabbra megcsinálni, mint a részösszeg randa bal margója, jó lenne, ha olyan kis csecse gombokkal lehetne állítani mondjuk a táblázat tetején az összegzési szintet, mint a slicerek pl. a power pivotban.kiváló megoldás még rá a sima pivot, egyszerűen azt húzom sorfejlécbe, ami szerint akarok összesíteni,d e ha megoldható, szeretném egy kicsit felhasználóbarátabbá - látványosabbá tenni a fent említett gombokkal.
a legtöbb megoldásnak fő problémája a hetek hónapok közötti átlógása, így nem tudok kialakítani hónap/hét 1:1 hierarchiát.
az elvárt kimenet tehát pl. felül három gomb (napi, heti, havi) és alatta egy tábla, ami a gombnyomás szerinti "mélységben" összesíti az adatokat, tehát napi nézetben napi bontás 365/366 sor, heti nézetben heti, 52/53 sor, havi nézetben havi 12 sor.
valahogy érzem, hogy ez megoldható, sőt, megoldható különösebb makrózás nélkül is, teljesen életszerű igény, biztos szállít rá megoldást a program, de nem találom.
jelenleg egy olyan favágó megoldásnál tartok, hogy a 3 táblát egymás alá teszem, csinálok egy (rejtett) segédoszlopot, ami jelöli a sor aggregáltsági szintjét, és a gombhoz makróval szűrést rendelek, ami az adott szintet jelölő segédoszlop értékre szűr. ezt meg tudom csinálni, de elég favágó megoldásnak tartom, kíváncsi vagyok van-e ettől szebb, elegánsabb eljárás.
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz Delila_1 #30614 üzenetére
tudom, kimutatással megoldható simán (bár kell a havi összesítés is, ezért nem úszom meg ebben a megközelítésben a sorcímke cserét, de ez lenne a legkevesebb), de ha lehet, akkor mégis ilyen interaktív, "lát egy táblát meg három gombot" megoldással oldanám meg.
nekem jobban tetszik a kimutatás, én nagyon szeretem, ebben az esetben is teljesíti a feladatot, "szakmai" érdeklődésből keresem, hogy a fentiek szerint megoldható-e. egyszerűen bizsereg bennem a gondolat, hogy tuti ott van az orrom előtt, mert biztos, hogy meg lehet csinálni, gondoltak rá, csak nem találom.
-
DeFranco
nagyúr
az normális, hogy egy indirekt függvénnyel összekrakott hivatkozást nem frissít az excel, ha az elérési utat is tartalmaz?
az tiszta sor, hogy az elérési út (meghajtó, mappastrukúra) indirekttel nem paraméterezhető, csak maximum a filenév-munkalap-hivatkozás hármas közül egy vagy több, de most úgy tűnik, mintha semmiképp nem frissítené, akkor sem, ha a fenti feltétel tejesül.
példa:
=INDIREKT("'[Forrástábla.xlsx]"&A1&"!B22")
ez működik, nyilván a Forrástábla a fenti képletet tartalmazó munkafüzettel egy mappában van
de a
=INDIREKT("'\\nagyszerver\defranco\segédhazugtáblák\[Forrástábla.xlsx]"&A1&"!B22")
már nem.
miközben - tudtommal - csak annyi volt a korlátozás, hogy a path-ben nem lehet paraméter. de lehet tévedek.
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz alevan #31779 üzenetére
a legyűjtés nem para, azt megcsinálod egy indirektbe ágyazott fkeressel akár, viszont ha minden sornak egyedi munkalapot kell csinálni, akkor az több ezer sornál egyrészt abnormálisan sok munkalap, másrészt kézzel kivitelezhetetlen.
a példa jó, de a konkrét feladat méretéről tudnál írni valami konkrétabbat?
[ Szerkesztve ]
-
DeFranco
nagyúr
van egy mátrixom, legyen 20 sor 20 oszlop
adat elég gyéren van benne, a mátrix egy-egy sorában lehet 1, 2, 3 adat (tehát 19-18-17 cella üres)
minden sor végére ki szeretném íratni, a 21. 23. 25. oszlopba, hogy hol (melyik oszlopban) talált adatot (értelemszerűen ha csak egy van, akkor a 23-25 üresen marad, stb.) a 22. 24. 26. oszlopokba pedig az adatot magát, amit megtalált (értelemszerűen ha csak egy van, akkor 24-26 üres stb.).
HOL.VAN függvénnyel estem neki, de annak pontos egyezés kell, így nem tudtam használni.
arra volnék kíváncsi, hogy ez függvénnyel megoldható-e, és ha igen, hogyan?
-
DeFranco
nagyúr
válasz Delila_1 #31837 üzenetére
nagyon köszönöm
az érdekelt volna első körben, hogy ezt függvénnyel meg lehet-e oldani (van-e olyan függvény, ami egy logikai feltételnek (pl. <>0 vagy NEM(ÜRES) ) megfelelő cellát keres amíg meg nem találja, majd annak megadja valamilyen hivatkozását)
második körben ha ez nem, akkor jön a makró amit írtál, köszönöm még egyszer
@bsasa1: köszi ez a "favágó" módszer megvolt, de nyilván valami elegáns keresőfüggvényes megoldást kerestem volna
@Delila_1: köszönöm még egyszer.
[ Szerkesztve ]
-
DeFranco
nagyúr
sziasztok!
valószínűleg nagy katyvaszt sikerült összekalapálnom a jelenlegi makró nemtudásommal, de szükség lenne egy variált/permutált listára.
a lényeg, hogy az i j és k paramétert minden módon párosítsa össze
i1j1k1
i1j1k2
i1j1k3
stb. módon, egymás melletti cellában levő értékenként, triumvirátusonként külön sorba.az alábbi makró végigmegy a lehetőségeken, de közben nem vált sort, így egy helyen íródnak felül az adatok. hogy lehetne rendbe szedni?
Sub Kitolto()
Do
For i = 1993 To 2014
For j = 1 To 3
For k = 1 To 76
x = 1
Cells(x + 1, 2).Value = i
Cells(x + 1, 3).Value = ThisWorkbook.Sheets("Valami_tábla").Cells(2, j + 1).Value
Cells(x + 1, 4).Value = ThisWorkbook.Sheets("Valami_tábla").Cells(k + 2, 1).Value
x = x + 1
Next k
Next j
Next i
Loop Until x = 5016
End Subszerk: az X=1-et felpakolva a for-ok fölé már működik, csak veszett lassú. miért?
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz Fferi50 #32253 üzenetére
közben kibogoztam, a do/loop felesleges volt, mert az i-j-k meghatározza az x maximumát.
ezzel nagyon sokat gyorsult, de még mindig aránytalanul lassú volt (lássuk be 5k sort kitölteni nem nagy kaland, viszont eltartott volna legalább fél órát úgy becsültem a részeredmény alapján)
gugliztam közben, hogy mi lehet még az ok, és valóban, mivel sok és bonyolult képlet van a munkafüzetben ezért ha azokat újraszámolja lépésenként, az megint csak rendkívül lelassítja a folyamatot.
erre találtam ezt a párost:
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomaticígy végül:
Sub Kitolto()
Application.Calculation = xlCalculationManual
x = 1
For i = 1993 To 2014
For j = 1 To 3
For k = 1 To 76
Cells(x + 1, 2).Value = i
Cells(x + 1, 3).Value = ThisWorkbook.Sheets("Valami_tábla").Cells(2, j + 1).Value
Cells(x + 1, 4).Value = ThisWorkbook.Sheets("Valami_tábla").Cells(k + 2, 1).Value
x = x + 1
Next k
Next j
Next i
Application.Calculation = xlCalculationAutomatic
End SubEzzel 1-2 másodperc alatt lefutott szépen.
egyszerű feladat, biztos meg lehetett volna oldani sokkal elegánsabban is, de egyelőre kb. 10 utasítást ismerek makróul
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz Fferi50 #32255 üzenetére
valóban nem, mert nem jutott eszembe, hogy problémát jelenthet. annyira nem vészesen sok, nem milliós darabszám (az egész munkafüzetre vetítve) és ez a makró nem módosít semmit benne, hiszen csak olvas.
ha teszem azt ezt keresőfüggvénnyel oldottam volna meg valamilyen formában, ugyanezen munkafüzetben és ugyanilyen adathalmazra, meg se röccent volna az excel tőle, itt nem tudom miért csinált minden fázis után újraszámolást.
-
DeFranco
nagyúr
sziasztok!
van egy képlet, aminek szeretném makróval kicseréltetni egy részét:
=HAHIBA(VKERES($A3;INDIREKT(BJ$1&"!$A$1:$ZZ$17");2;HAMIS);0)
itt a középső részt kellene kicserélni:
INDIREKT(BJ$1&"!$A$1:$ZZ$17")
úgy, hogy direktben mutasson a kívánt táblára, tehát a végeredmény ez legyen:
=HAHIBA(VKERES($A3;'2016'!$A$1:$ZZ$17);2;HAMIS);0)
ebből a képletből több száz van a munkalapon, tehát a makró dolga az lenne, hogy megkeresse az indirektes részeket, kiolvassa min van BJ$1 (vagy az éppen ott levő hivatkozás) helyén, és azzal lecserélni a stringet az új stringre.
ha van olyan funkció, ami annyit csinál, hogy "megoldja" az indirekt képletrészt, és az eredményt teszi be a helyére, az is tökéletes lenne.
[ Szerkesztve ]
-
DeFranco
nagyúr
nem jó, mert
1) a képletnek csak egy darabját kell cserélnie (a képlet többi része sem egységes)
2) ki kell olvasnia hogy mi van az indirekt hivatkozás részében (a példában BJ$1, de hivatkozhat más cellára is) és azt kell behelyettesítenie, ez változhatigazából az a bajom, hogy betettem egy kimutatást a táblába, 3 szeletelővel, és egyszer csak bazi lassú lett az egész.
[ Szerkesztve ]
-
DeFranco
nagyúr
válasz bandus #32274 üzenetére
nézd meg az én issuemat pont alattad/feletted, ha jól értem a kérdésedet, akkor erre az INDIREKT függvény használható, ezzel tudsz "paraméterezetten hivatkozni".
előtte-utána példa is van a hsz-emben.
az INDIREKT hátránya viszont az, hogy munkafüzetek között már nem működik megbízhatóan, ha a forrás-munkafüzet be van zárva.
- ha más az elérési út, tehát már a mappa is eltér, akkor biztosan nem működik
- ha azonos a mappa, csak a file más, úgy emlékszem akkor semha nyitva vannak a munkafüzetek, akkor működik, de ez csak félmegoldás.
munkafüzeten belül viszont kiváló, egyik kedvenc trükköm.
-
DeFranco
nagyúr
Új hozzászólás Aktív témák
- A fociról könnyedén, egy baráti társaságban
- Vodafone-ra áttért Digi Mobilosok
- Fogyjunk le!
- E-roller topik
- Windows 11
- Diablo IV
- Dragon Age: Origins
- Intel Core i5-7640X / i7-7740X "Kaby Lake-X" és i9-7xxx "Skylake-X" (LGA2066)
- Békésen legelészik a májusi hardvercsorda
- 3D nyomtatás
- További aktív témák...
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen