- Aliexpress tapasztalatok
- 10 éve nem változott ekkorát a Netflix tévés appja
- Csinált valamit a Nokia: megváltoznak a telefonhívások
- Musk betiltja az iPhone-okat a Teslánál és az X-nél, ha ezt meglépi az Apple
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Milyen program, ami...?
- Synology NAS
- Proxmox VE
- Tarr Kft. kábeltv, internet, telefon
- ArchiCAD és Artlantis topik
-
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
-
Fferi50
őstag
válasz BullZeye #35064 üzenetére
Szia!
Egy ötlet:
Az A oszlopot átmásolod a másik oszlopba (akár ugyanazon a munkalapon pl. a Z oszlop). Utána Adatok - ismétlődések eltávolítása erre az oszlopra. Megkapod, hányféle tételed van.
Mellette levő oszlopba a képlet:
=Darabteli(A:A;Z1) ezt lehúzod, ameddig van a Z oszlopban értéked.
Tovább a mellette levő oszlopban a képlet
=Szumha(A:A;Z1;B:B)/Darabteli(A:A;Z1)
Ez minden olyan esetben törtszámot fog mutatni, amikor az értékek nem egyeznek. Viszont abban az esetben nem, ha az eltérések kiegyenlítik egymást pl. 3 4 5)Másik gondolat: A Darabteli függvénnyel megszámolod az értékeket.
Az A és B oszlopot átmásolod máshova.
Rendezed első szint A, második szint B
Ezután Adatok - ismétlődések eltávolítása - mindkét oszlopot kijelölöd.
Ebben az esetben megmarad az első érték valamint mindazon értékek az adott cikkhez, amelyek az első értéktől eltérnek.Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
-
Delila_1
Topikgazda
válasz BullZeye #35072 üzenetére
Vigyél feltételes formázást az A2:A10000 tartományra (vagy ahány adatot vársz az A oszlopba), ahol a megnevezések vannak. A formátum képlete
=SZUMHA($A:$A;A2;$B:$B)/DARABTELI($A:$A;A2)<>B2
legyen. Adj egy háttérszínt. Ezután tudod szűrni az oszlopot színre.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
föccer
nagyúr
válasz BullZeye #35185 üzenetére
Pontos értékre keresésnél lehet gond, hogy nem találja meg, ha nem sbc sorban van a forrás tartomány első oszlopa. Legalábbis régen így volt, lehet már túlléptek ezen a problémán, én rutinból mindig sorrende rakom (illetve szereincsére a kiexportált adatállományaim mind sorrendbe vannak, így nem is kell vele külön foglalkoznom)
Építésztechnikus. Építőmérnök.
-
Delila_1
Topikgazda
válasz BullZeye #35271 üzenetére
Kimutatást kell létrehozni.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz BullZeye #35277 üzenetére
Szia!
A kritériumban használhatod a * (csillag) joker karaktert, amit tehetsz a keresendő szöveg elé vagy mögé, vagy mindkét helyre:
"*szöveg*" minden olyan cella, amelyben előfordul a szöveg
"*szöveg" minden olyan cella, amely szöveg-re végződik
"szöveg*" minden olyan cella amely szöveg-gel kezdődikbeleszámit a számolásba a Darabteli függvényben (is, mert több más ilyen függvény is van, ahol ezt lehet alkalmazni).
Üdv.
-
-
Fferi50
őstag
válasz BullZeye #35294 üzenetére
Szia!
Ráadásul igaza is van, hiszen alma-val kezdődő nem egy van, viszont alma2-vel kezdődő csak egy!
Ezért nem az A (B) oszlop cellái alapján kell keresni, hanem az egyedi értékeket kiszűrve egy új helyre, azok alapján.
Vagy pedig az első pár karakter alapján keresel, ebben a példában: Bal(B2;4) & "*" a keresendő érték.Üdv.
-
BullZeye
veterán
válasz BullZeye #35301 üzenetére
Sebaj, macro a barátom (mostantól...)
Sub InsertCopyRow1()
ActiveCell.EntireRow.Select
Selection.copy
Selection.Insert Shift:=xlDown
End SubSőt, ez szebb végeredményt nyújt:
Sub InsertCopyRow2()
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.EntireRow.Copy ActiveCell.Offset(1, 0).EntireRow
End Subszerk.:
Jól érzem, hogy Macro az nem a gépen tárolódik, hanem a dokumentumban? Azaz hiába mentek vagy csinálok ilyen macrot, az bizony csak abban a bizonyos XLSen fog működni ami nyitva volt mentéskor?[ Szerkesztve ]
-
sztanozs
veterán
válasz BullZeye #35295 üzenetére
=SUM(OFFSET($A$2,0,0,ROW(INDIRECT("R[-1]C[0]",FALSE))-ROW($A$2),1))
Ahol a $A$2 az oszlop első eleme.
Illetve full R1C1 kóddal sokkal egyszerűbb (A2-től a SUM sor fölötti elemig):
=SUM(INDIRECT("R1C2:R[-1]C",FALSE))
Illetve, ha R1C1 módba kapcsolod az Excelt, akkor indirect sem kell:
=SUM(R1C2:R[-1]C)
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Delila_1
Topikgazda
válasz BullZeye #35318 üzenetére
A cellaformázás Védelem fülén leveszed a zárolást azokról a cellákról, amikbe írhat a felhasználó.
Lapvédelmet adsz (lapfülön jobb klikkre jön elő ez a lehetőség). A "Minden felhasználónak engedélyezve" listában az első opció (Zárolt cellák kijelölése) elől kiveszed a pipát.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz BullZeye #35351 üzenetére
ActiveSheet.Protect Password:="JajDeMilyenTitkosJelszó", UserInterfaceOnly:=True
Ezt a sort tedd makró elejére, mert ez engedélyezi makróból az egyébként tiltott műveletedet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz BullZeye #36114 üzenetére
Szia!
Egy új munkalapra felvezeted a termékazonosítókat (64) , melléjük írod az (aktuális) árat. Ezután minden új termékazonosítót ill. minden árváltozást ezen a lapon vezetsz át.
A termékeket tartalmazó munkalapra pedig FKERES függvénnyel megkeresed az adott termékazonosítóhoz tartozó árat.Üdv.
-
Fferi50
őstag
válasz BullZeye #36116 üzenetére
Szia!
"viszont nem jó úgy árazni valamit, hogy nem látom mit árazok"
Nem tudom, mit nem látsz, hiszen az "ártáblád" lehet olyan is, amelyik tartalmazza a termékazonosítóhoz tartozó nevet is. Azonosító, Név, Ár és akkor az Fkeres a 3. oszlopban levő árat kell visszaadja.Másik ötlet: az árakat tartalmazó cellákat elnevezed (képletek - név) beszélő nevekkel. Ezután az adott árat nevén "szólíthatod". Bár ez szerintem kényelmetlenebb, mint a képletes megoldás.
Üdv.
-
föccer
nagyúr
válasz BullZeye #36383 üzenetére
Összefűt függvény tud olyat, hogy minimumot keres úgy, hogy kihagyja a hibákat, üres oszlopokat. Kombináld az fkeressel és akkor megadja, hogy melyik bolt a legolcsóbb és nem akad meg a hibáktól.
=Fkeres(összesít(A:A;5;3);B;2;0)
Nincs előttem excel, a paraméterek lehet nem stimmelnek, de nagyjából érted, hogy mire gondolok. Az fekeres keresési értéket az összesíttel keresteted ki, így mindig valid értéket kap és nem akad ki.
üdv, föccer
Építésztechnikus. Építőmérnök.
-
BullZeye
veterán
válasz BullZeye #37179 üzenetére
Megvan, wildcardokat ismeri.
-
-
BullZeye
veterán
válasz BullZeye #37179 üzenetére
Mégsem jó a wildcard, mert az nem kezeli azt amit szeretnék, csak akkor, ha kitörlöm az utolsó karaktereket, de hosszú távon ez nem jött be, sok a hiba lehetőség, pl listába rossz cikkszám került, dátum nélkül csak annyi, hogy "alma", mert nem vettem észre másolás-beillesztésnél.
Így a kérdés megint aktuális, hogy oldható meg egy Fkeresnél, hogy ha vannak cikkszámaim:
Jelenlegi cikkszám amit keresni kell:
narancs_180401
alma_180501Táblában lévő cikkszám amit meg kéne találni, és aminek az értékét használnia kéne:
narancs_180329
alma_180407Megoldható ez?
-
-
Mutt
aktív tag
válasz BullZeye #38083 üzenetére
Szia,
Ha A1:A10 tartományban vannak a cikkszámok, B1:B10-ben amit majd ki kell iratani és D2-ben van a keresendő akkor ez a képlet (Office 2013-tól kezdődően) megoldja a keresést:
=INDEX(B1:B10;ÖSSZESÍT(14;6;SOR(A1:A10)/--(BAL(A1:A10;HOSSZ(A1:A10)-6)=BAL(D2;HOSSZ(D2)-6));1))
A hibák kiküszöbölésére nem lehetne az a megoldás, hogy mindig csak az első aláhúzásig lévő szöveget próbáljuk megkeresni? Ha igen, akkor a lenti képlet jó lehet. A fenti képernyőmentésen az F2-ben lévő értéket ez adja meg a hibás bevitel ellenére.
=INDEX(B1:B10;ÖSSZESÍT(14;6;SOR(A1:A10)/--(BAL(A1:A10;SZÖVEG.TALÁL("_";A1:A10))=BAL(D2;HOSSZ(D2)-6));1))
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz BullZeye #38091 üzenetére
Szia,
Egy kis segítség a megértéshez:
- az INDEX függvény van kívül, ami vár egy tartományt és abból az adott pozícióban lévő elemet adja vissza, pl. a B-oszlop 4-ik elemét,
- a belső függvény ami próbálja megmondani hogy hanyadik elemről van szó.A függvény alapja, az hogy a cikklistában lévő értékeket megfelelő formátumra hozzuk (csonkoljuk az első aláhúzásig) és azt összehasonlítjuk a keresési szöveggel.
Ha csak A1-ben lenne cikklista, akkor a
BAL(A1;SZÖVEG.TALÁL("_";A1))
rész az "alma_1234"-ből "alma_" -t adna vissza.
Mivel nekünk nem csak 1 db cikkünk van, ezértBAL(A1:A10;SZÖVEG.TALÁL("_";A1:A10))
résszel egyszerre több cellán végezzük el a fenti átalakítást. Azonban a BAl/SZÖVEG.TALÁL csak 1 bemeneti értékkel műkődik. Mivel mi most egyből 10 db-ot adtunk neki ez már tömb (array) művelet, ha ilyet akarunk csinálni akkor Ctrl+Shift+Enter-t kell nyomni a bevitel után, hogy az Excel tudja hogy szándékosan adtunk meg több értéket és mindegyiken kérjük a művelet elvégzését. Az eredmény egy tömb lesz: {"narancs_";"alma_";"alma_";"barack_";"banan_";"dinnye_";"alma_";"eper_"}.Megvan a csonkolt szöveg, már csak össze kell hasonlítani a kereső kifejezéssel, erre van a
=BAL(D2;HOSSZ(D2)-6));1)
rész utánna. Ez a tömb összes elemén végigmegy és IGAZ/HAMIS eredményt fog visszaadni. Vhogy így: {HAMIS;IGAZ;IGAZ;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS}A képletben van a két gondolatjel, ami valójában kettős tagadás és felesleges is (törölhető gond nélkül). Egy tagadás egy számból az ellentétes előjelű változatát csinálja, a két tagadás az eredeti számot adja vissza. A HAMIS-ból 0-t, az IGAZ-ból pedig 1-et csinál. A fentiből ez lesz: {0;1;1;0;0;0;1;0}.
A
SOR(A5)
képlet a cella sorszámát adja vissza, aSOR(A1:A10
) pedig egy szép listát azokról a sorokról, ahol a cikkszámok találhatóak, esetünkben 1-10-ig.
Ha ezt a sorszámot elosztjuk a fent kapott 0 és1-et tartalmazó tömbbel, akkor csak azok a sorszámok maradnak meg ahol találatunk van, a többi ZÉRÓOSZTÓ hibát ad vissza. Vmi ilyet: {#DIV/0!;3;4;#DIV/0!;#DIV/0!;#DIV/0!;8;#DIV/0!}A végére maradt
ÖSSZESÍT(14;6;<fenti eredmény>;1)
rész, amiből a 14 a NAGY függvény kódja, a súgóban látható a többi is. A 6-os egy olyan paraméter amely azt mondja a függvénynek hogy a hibás értékeket (pl. a ZÉRŐOSZTÓ) hagyja figyelmen kívül, vagyis ez marad meg {3,4;8}.
A végén az 1-es pedig azt mondja meg hogy a legnagyobb értéket kérjük vissza. Az eredményünk 8, ami azt jelenti hogy a 8-as sorban van ami kell nekünk, az INDEX pedig ki is írja.Az ÖSSZESÍT függvény a kevés függvények egyike ahol a tömbképletet nem kell Ctrl+Shift+Enter-rel bevinni.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
BullZeye
veterán
válasz BullZeye #38099 üzenetére
Na szuperul működik, köszönöm újfent, de most rájöttem, hogy ez így tök jó, de kellene még valami.
Van nekem egy listám, van a kollégámnak egy listája, ugyanazok a cikkszámok szerepelnek, csak a végén még dátum szerepel. nálam pl Alma_180528, nála Alma_170714.
Amiben kaptam segítséget, egy szuper függvény, ami ignorálja az utolsó 6 karaktert, és tökéletesen megtalálja az én listámban szereplő értéket a kollégám cikkszámához.Viszont amit elfelejtettem, hogy amikor felhasználnám ezt az értéket, az ÉN cikkszámommal kellene szerepelnie, és jelenleg az Ő cikkszámával szerepel az én értékem.
Na gondoltam egyet sebaj, Fkeres/keres/Hol.VAN függvénnyel visszakeresem az értéket a cikkszám alapján, viszont hülye vagyok, mert 1 érték szerepel többször, így ott üres, és nincs adat, és a fkeres/keres függvén pedig az első hasonló találatot megtalálja, ami nem bizonyult pontosnak.
Simán tökéletesen elég lenne, ha valahogy az ő cikkszámos listájában rákeresne függvény az én cikkszámomra, és kihozza a találatot az én cikkszámomra az én listámról.
Példa, mert leírva nekem is magas, pedig tudom mit szeretnék.
-
Mutt
aktív tag
válasz BullZeye #38114 üzenetére
Szia,
A feltöltött fájlban képlethiba van, a korábban megadott képlet az E3-as cellában nem jól van használva.
A problémák elkerülése miatt inkább hozz létre a névkezelőben egy dinamikus tartományt.
Képlete:=ELTOLÁS(Munka1!$A$1;0;0;DARAB2(Munka1!$A:$A);2)
A 2-es a fenti képlet végén 2 oszlopot jelent (cikkszámok és értékek), ha több oszlopod van (pl. megnevezés a kettő között) akkor ezt módosítsd.Az eredeti képlet erre módosul:
=INDEX(sajatlista;ÖSSZESÍT(14;6;SOR(sajatlista)/(BAL(sajatlista;HOSSZ(sajatlista)-6)=BAL(D2;HOSSZ(D2)-6));1);2)
A végén lévő 2-es az oszlop száma, amit ki akarunk iratni. Ebben a példában az értékek a második oszlopban vannak.
A kért képlet pedig ugyanaz mint fent, csak a végén 1-es van, mert a keresett cikkszámok a dinamikus tartomány első oszlopában vannak:
=INDEX(sajatlista;ÖSSZESÍT(14;6;SOR(sajatlista)/(BAL(sajatlista;HOSSZ(sajatlista)-6)=BAL(D3;HOSSZ(D3)-6));1);1)
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz BullZeye #39396 üzenetére
Szia,
Ha színezni akarod, akkor feltételes formáz marad a kézi színezés mellett.
Ezt lehet makróval automatizálni:
A szinez gomb alatt ez a makró:
Sub SzinezdKi()
Const minta_tartomany = "E1:E5" 'itt vannak azok a minták amik alapján a feltételes formázást létre lehet hozni
Dim rngMinta As Range, cell As Range
Dim i As Long
Set rngMinta = Range(minta_tartomany)
'a kijelölt cellákra rádobjuk a formázást
With Selection
'töröljük a lehetséges korábbi feltételes formázásokat
.FormatConditions.Delete
i = 1
For Each cell In rngMinta
'felveszünk egy új szabályt: cella tartalmát figyelve színezünk
.FormatConditions.Add Type:=xlTextString, String:=CStr(cell.Value), TextOperator:=xlContains
'a szín a minta tartományban használt szinnel legyen egyenlő
.FormatConditions(i).Interior.Color = cell.Interior.Color
i = i + 1
Next cell
End With
End SubHasználata: előbb a makróban megadod a tartományt ahol van a gyümölcs neve és a hozzá társítandó szín.
Kijelölöd a cellákat amikre rá akarod ereszteni és mehet a gombra kattintás.üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Új hozzászólás Aktív témák
- Politika
- Bluetooth hangszórók
- Aliexpress tapasztalatok
- 10 éve nem változott ekkorát a Netflix tévés appja
- nVidia tulajok OFF topikja
- Ukrajnai háború
- ASUS ROG Ally
- Forza sorozat (Horizon/Motorsport)
- A fociról könnyedén, egy baráti társaságban
- Csinált valamit a Nokia: megváltoznak a telefonhívások
- További aktív témák...
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- 10 Darab PC Játék (Bontatlanul!) Egyben 6990Ft.-ért Foxal!!!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Autómatricák a legjobb minőségben, több ezer minta! PH tagoknak 30% kedvezmény!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen