-
Mobilarena
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
-
Mutt
senior tag
válasz
DeFranco #45237 üzenetére
Szia,
Támogatja a VBA-t, illetve Office 2013-tól lehet már használni az Office Script-et is, ami nem a fájlban hanem szerveren tárolja a makrót.
üdv
-
-
huan
őstag
válasz
DeFranco #45019 üzenetére
Egy közös használatú táblázatot kell a kollégáknak rendelkezésre bocsájtanom, ahol ruházati adatokat kell beírniuk. Ahova nem akarnak írni, oda 10-ből kilencen vonalat, kötőjelet tesznek, amit függvény kezdetnek érzékel a tábla, mert nem enterrel lépnek ám ki, hanem kötőjel és kikattintás... Ezt a jelenséget szeretném elkerülni, mert azonnal csörög a telefon, hogy baj van
Legördülő választéklistát már csináltam, hibaüzenettel, de a kötőjel beírásra és kikattintásra ez nem gyógyír
-
dogpatch06
csendes tag
válasz
DeFranco #44948 üzenetére
Különben ide linkeltem be a hiba üzenetet.
-
Fferi50
Topikgazda
válasz
DeFranco #44923 üzenetére
Szia!
" az nem világos, hogy ebben az esetben {1,1,1,1,1,#,#,#,#} miért pontosan az utolsó találat pozícióját adja, miért nem az elsőét vagy bármelyik másikét a (szükségszerűen) egyenlő értékek közül"
A 3. paraméter elhagyása (ami alapértelmezésben az 1 értéket adja át a függvénynek) azt jelenti, hogy az utolsó kisebb vagy egyenlő találatot adja vissza és nem az elsőt.
Ha 0 lenne a 3. paraméter (a pontos egyezés keresése), akkor az első egyező találat helyét adná vissza.
Üdv. -
ny.janos
tag
válasz
DeFranco #44921 üzenetére
Az E29:E148>0 vizsgálat a teljes tartományra értelemszerűen IGAZ vagy HAMIS eredményt ad. Mivel az IGAZ-HAMIS eredmény tulajdonsága az, hogy ha matematikai műveletet végzünk velük, akkor az igaz 1-nek, míg a hamis 0-nak számít, a későbbiekben a képlet ezt használja.
Vagyis az 1/(E29:E148>0) formula eredménye 1 lesz minden olyan cellára ami töltve van az adott oszlopban (feltéve, hogy igaz az alapfeltétel, hogy csak pozitív szám lehet benne).
A MATCH pedig ezen halmazban keresi a 2-es számot. Mivel az eredmények között nincs 1-nél nagyobb, így függvény utolsó paraméterének elhagyása értelmében az utolsó találatot kapjuk meg eredményül. Vagyis a tartományon belül az utolsó érték sorának sorszámát. (Súgó: A HOL.VAN függvény azt a legnagyobb értéket keresi meg, amely egyenlő vagy kisebb, mint a keresési_érték.)
-
0P1
aktív tag
-
föccer
nagyúr
válasz
DeFranco #37816 üzenetére
Van egy adattábla.
Első 7 oszlopban vannak a megrendelő, a vizsgáló labor, a vizsgálati anyag, azonosító szám, vizsgálat ideje meg ilyenek. A maradék oszlopban pedig a vizsgálati eredmények, szépen egymás mellett, vagy 20 oszlopban.
Egy másik munkalapon legördülő listában lehet kiválasztani a 7 paramétert, külön-külön, cellánként 1 paramétert. A feladat az, hogy számoljuk meg a listában beállított paramétereknek megfelelő találtok számát (és feltétellel).
Darabhatöbb pont erre van és működik is (dátumot tól-ig is működik, ha jól paraméterezzük a függvényt)), addig amíg valamelyik cella nem marad üresen. Ugyanis ha a darabhatöbb függvény kritérium értéke üres cella, akkor az 0 értéknek veszi és azt keresi, ami nyilván valóan nincs a listába, így 0 eredményt ad. Nekem arra van szükségem, hogy ha egy paraméter nincs megadva (üres cella), akkor a kritériumot ne vegye figyelembe. Erre a megodás az, hogy a kritéiumba az alábbi faék egyszerű képlet ment be HA(C5="";"<>";C5). Azaz, ha a C5 cellában lévő paraméter nincs megadva, akkor a keresett érték legyen "kisebb-nagyobb mint 0, azaz nullától különböző bármilyen érték.
üdv, föccer
-
Fferi50
Topikgazda
-
sztanozs
veterán
válasz
DeFranco #34810 üzenetére
Sajnos a Match és *Lookup függvények nem jók, mert bugos az array funkció kezelésük. Igazából a match bugos, mert ugyanazt a funkciót használja az összes lookup a háttérben. Szóval a match nem a megfelelő formátumú array-t adja vissza és így a többi sztenderd array-t kezelő függvény nem tudja feldolgozni, hanem csak ez első találatot veszi fel.
Sajnos csak kerülőúton lehet megcsinálni ugyanezt - sokat szívtam vele korábban.
Amúgy:
=SUMPRODUCT(COUNTIF($L2:$P2,$R$1:$V$1))
-
-
Delila_1
veterán
válasz
DeFranco #34802 üzenetére
Sajnos pigster tömbképlete csak abban az esetben adja a találatok számát, ha az összehasonlítandó 2×5 szám közül az egyezőek azonos helyen szerepelnek, pl. mindegyik sorban a 3. helyen.
Egy halom segédoszloppal makró nélkül is láthatod, az 5 szelvényed melyik számát melyik héten húzták ki. A megtett számok az R1:AT1 tartományban vannak.
-
-
válasz
DeFranco #32275 üzenetére
köszi, sajnos ezeknek a kritériumoknak pont teljesülniük kell. de akkor megoldom makróval, nem gond.
amúgy is mindig nagy talány volt számomra ez az indirekt függvény, de most majd leülök otthon, vagy itt holnap és utána nézek kicsit, hogyan is működik, mert azt tudom, hogy igen hasznos tud lenni
-
Fferi50
Topikgazda
válasz
DeFranco #32252 üzenetére
Szia!
A ciklusok, pláne ennyi egymásba ágyazva, bizony lassúak.
Javaslom, hogy az állapotsorba írasd ki, hogy hol jár a program (Application.Statusbar=" itt járok"),
illetve a ciklusokba tedd be a DoEvents utasítást valahova, ennek eredményeként meg tudod állítani a program futását a Ctrl+Break billentyűvel. Egyébként sajnos képes teljesen "lefagyást" produkálni.Üdv.
-
bsasa1
csendes tag
válasz
DeFranco #31836 üzenetére
Szia!
Bár nem hiszem, hogy már érdekes, de ha mégis, akkor ez a te mátrixodra is tud működni.
2 sor képlete:
Oszlopok megtalálása:
HAHIBA(KICSI(HA(($A2:$T2)<>"";OSZLOP($A2:$T2);"");1);""), tömbképlettel, annyi, hogy az 1-est kell cserélni attól függően hányadik találatot szeretnéd.
Mellé értékek:
HAHIBA(INDEX($A2:$T2;;V2);"") -
bsasa1
csendes tag
válasz
DeFranco #31836 üzenetére
Szia!
Szerintem függvénnyel maximum jópár segédoszloppal oldható meg.
Kell mellé egy másik ugyanakkora mátrix, bele mindenhova üres képlettel, így az üres cellák IGAZ, az adatot tartalmazó cellák HAMIS értéket kapnak. Erre már rá tudsz keresni a HOL.VAN függvénnyel, de minden találat után el kell csúsztatni a hivatkozást, amiben keresel pl ELTOLÁS függvénnyel.
Így sorban mindet meg tudod találni, de makróval szerintem egyszerűbb......közben érkezett is egy
S.
-
Delila_1
veterán
válasz
DeFranco #31836 üzenetére
Az A1:T20 (20×20-as) mátrixodhoz tedd modulba a lenti makrót, majd indítsd.
Sub Matrixos()
Dim cella As Range, oszlop As Integer, sor As Long
Dim terulet As Range
Set terulet = Range("A1:T20")
oszlop = 21: sor = 1
For Each cella In terulet
If cella.Row > sor Then
oszlop = 21: sor = sor + 1
End If
If cella <> "" Then
Cells(cella.Row, oszlop) = cella.Address
Cells(cella.Row, oszlop + 1) = cella.Value
oszlop = oszlop + 2
End If
Next
End Sub -
alevan
őstag
válasz
DeFranco #31783 üzenetére
60 sheet és jelenleg még csak 4000 sor.
Migrálunk excelből más rendszerbe, és így kérik (persze nekem kell megcsinálni...). Úgy is jó, ha 12000 sheet helyett 12000 fájl a végeredmény (sőt, elvileg így még jobb).
Nekem az is jó lenne, ha a 60 sheetből a 60 sort egy 61. sheetbe másolja, és én onnan mentem manuálisan. Sőt, így még jobb lenne, mert így is úgy is át kell nézzük mindet egyenként hibakeresés miatt, onnan már egy más fájlba mentés egy másodperc.
-
Delila_1
veterán
válasz
DeFranco #30612 üzenetére
A kimutatásban a sorcímkékhez a C (hét száma) oszlopot tedd be, az értékekhez pedig a 3 adatot (E:G).
Szűrj a hétre, akkor mindegy, melyik hónapban van az adott hét. Például márciusra az idén 5 hét is jut. 9–13. Gomb sem szükséges, a kimutatásban ott a legördülő a választási lehetőségekkel.
-
Delila_1
veterán
válasz
DeFranco #30597 üzenetére
A súgóból:
A kép fölött találod az 1. és 2. forma meghatározását, elég idétlen fogalmazásban. Azt jelenti, hogy ha egy év első napja <csütörtök, ez a hét az első az évben, vagyis a hét száma 1.
Ha viszont >= csütörtök, akkor 53 lesz a függvény értéke. Ebből az következik, hogy érdemes a 21-et megadni utolsó paraméterként. -
Delila_1
veterán
válasz
DeFranco #29325 üzenetére
Megnyitod a makrót tartalmazó füzetet. Alt+F8-ra megjelennek a makróid. 1-et kiválasztva látod, hogy felül a Makrónév rovat tartalmazza a füzet nevét is.
Ha tehát nincs megnyitva, de az ikonnal indítod, be tudja hívni a makrós füzetet.
Nézz vissza néhány hsz-t, ahol szó van a personalról. Ezt érdemes használni, ha egy makrót több füzetben is alkalmazni akarsz. Javaslom még a Téma összefoglaló erre utaló részének az elolvasását.
-
-
lenkei83
tag
válasz
DeFranco #28915 üzenetére
Jó a meglátás, jelen esetben sehogyan sem. A helyes képlet így nézne ki:
[...]INDIREKT("'" & $F2 & "'!$A$"[...]
Az első idézőjelek között egy aposztrófnak kell szerepelnie és a felkiáltójel előtt szintén, ami lefordítva így nézne ki amennyiben F2="sales":
'F2'!A2 --> 'sales'!A2A korábban taglalt képlet ilyen szempontból valóban hibás, viszont nem kellett kezelnem sem numerikus karaktereket, sem szóközöket a munkalapok neveiben, ezért nem is foglalkoztam vele.
üdv
-
Fferi50
Topikgazda
válasz
DeFranco #28901 üzenetére
Szia!
Az aposztrof használatának szükségességét az előttem szóló már megmagyarázta (névkonvenció), persze bele lehetne tenni a cella értékébe is - de ott vigyázni kell arra, hogy formázási jelentése is van az aposztrofnak!.
Az & és a szóköz inkább szépészeti dolog, jobban lehet látni a részeket - vba mindig használja a makrókban, excel nem foglalkozik vele.Üdv.
-
lenkei83
tag
válasz
DeFranco #28901 üzenetére
Elvileg "'" nélkül is működik, ez akkor szükséges, ha szóköz van a munkalap nevében. Enélkül nem tudná értelmezni a munkalap nevében lévő szóközöket.
Példával szemléltetve:
szumhatöbb képlet "sample1" fülre hivatkozva
=SZUMHATÖBB(Sample1!B;G:G;1)
szumhatöbb képlet "sample 1" fülre hivatkozva
=SZUMHATÖBB('Sample 1'!B;G:G;1)
Mindkettőt szerkesztőlécről másoltam, csak a munkalap nevét változtattam egy szóközzel. Tehát az excel ezt dinamikusan kezeli, viszont ilyen "összerakott" képleteknél célszerű már az elején befoglalni a képletbe a későbbi problémák megelőzésének érdekében.
-
Fferi50
Topikgazda
válasz
DeFranco #27229 üzenetére
Szia!
Az excel sorok számát szerintem nem tudod módosítani.
Megpróbálhatod viszont azt, hogy az utolsó értékes sor után kijelölöd a további sorokat és törlés, illetve az oszlopokkal is megléped ugyanezt.
Ezután mented.
Így ha lenne valamilyen általad nem észlelhető adat a "nem használt" területen, akkor az törlődik.Vagy a neked szükséges területet kimásolod egy másik munkalapra, az eredeti munkalapot pedig törlöd.
Sajnos néha "szemetes" lesz az excel és ettől bizony indokolatlanul megnő a mérete.
Üdv.
-
anonymus89
addikt
válasz
DeFranco #26723 üzenetére
Köszi a választ!
A felhasználók és a fura szokásaik komolyan mondom...
Adott egy 2007-es excel dokumentum 10 füllel de, hogy ne kelljen abban a dokumentumban dolgoznia fogja kimásolja ami benne van és beilleszti az asztalra ezzel kreálva egy *.shs dokumentumot.
Majd e-mailben elküldés utána csodálkoznak, hogy különböző office verziókban nem nyílik meg.
Lehet olyan nagy munka a kimásolt fül értékeit egy új munkafüzetbe történő beillesztése.Ilyen megoldást se láttam még.
-
-
WildBoarTeam
senior tag
válasz
DeFranco #6844 üzenetére
Hát ha tényleg van szebb megoldása, akkor az csak valamiféle képletekkel lehetséges...
Amúgy a feladat nem zárja ki, hogy az A11 tartományon kívül máshol nem lehet adat.
Tehát, ha pl A2-t megformázom egyénileg úgy, hogy szerepeljen mögötte a "db", és az A1-et ebből veszem át, akkor szerepel mögötte a "db", és ráadásul szám formátumú is, így jól számol a C1-be (ezt csak formázni kell számmá): -
WildBoarTeam
senior tag
válasz
DeFranco #6841 üzenetére
Jó kis feladat.
Én tegnap igen átböngésztem miatta az Excel helpjét. A Szám összefűzése szöveggel ugye az & operandussal lehetséges, de még így is szöveg formát eredményez a cellában, és nem tud vele számolni, ha képlettel hivatkozok rá.
Én nekem amúgy a =SZÖVEG() függvény ugrott be, de valamiért a db-ból a "b" betűt 43-nak ismerte fel (ez gondolom valami excel sajátosság).
Ezt csináltam:Végignéztem minden függvényt de semmi... Eddig marad a területi beállítás módosítása megoldásként.
-
perfag
aktív tag
válasz
DeFranco #6816 üzenetére
Csak egy ötlet: "Az A1 és B1 cellákat semmilyen módon nem formáztuk." - ez nem lehet igaz! Ha nem formázták, akkor az A1 balra lenne igazítva, mivel szövegként értelmezi az Excel. Mivel jobbra igazodik, ezért a db mint egyéni formátum kell legyen megadva, pl. 0" db";[Piros]-0,00;"-" amitől a pozitív érték, db utótagot kap. a negatív piros színű lesz, a nulla helyett - jelenik meg (de ezt szerintem tudod).
Új hozzászólás Aktív témák
Hirdetés
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Luck Dragon: Asszociációs játék. :)
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Nintendo Switch 2
- Soundbar, soundplate, hangprojektor
- Szünetmentes tápegységek (UPS)
- Melyik tápegységet vegyem?
- Vicces videók
- Lies of P - Túl a 3 millión
- Formula-1
- További aktív témák...
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Assassin's Creed Shadows Collector's Edition PC
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- ÁRGARANCIA!Épített KomPhone i3 10105F 8/16/32GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B460M i5 10400F 16GB DDR4 512GB SSD RX 6650XT 8GB Cooler Master MB600L Chieftec 600W
- DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest