- Egy óra, két rendszer
- Így lesz tégla a porszívódból - a Roidmi csődje
- Samsung Galaxy S25 - végre van kicsi!
- Mobil flották
- Yettel topik
- Fotók, videók mobillal
- Profi stratégiára vált a Galaxy S26
- A Redmi 15 5G-t power bankként is lehet majd használni
- Samsung Galaxy Watch6 Classic - tekerd!
- Xiaomi 14T Pro - teljes a család?
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
macilaci78 #54572 üzenetére
Szia,
Ha A1-ben van a cikkszám és soha nem tartalmazhat "|" és "#" (pipe és hashtag) jeleket, akkor B1-ben ez a képlet:
=HAHIBA(CSERE(BAL($A1;SZÖVEG.KERES("|";HELYETTE($A1&"-";"-";"|";OSZLOPOK($B:B)))-1);1;HAHIBA(SZÖVEG.KERES("#";HELYETTE($A1;"-";"#";OSZLOPOK($B:B)-1));0);"");"")
Ezt tudod oldalra másolni, ahányszor kell az újabb részekért.
Excel 2010-ben teszteltem, jónak kell lennie 2016-ban is.A képlet működése:
1) van benne két HELYETTE amivel a kötőjeleket cserélgetjük le egyszer pipe-ra, ez fogja jelezni a szöveg minket érdeklő végét, illetve hashtag-re ami pedig a szöveg elejét jelzi. A HELYETTE függvényben meg lehet mondani, hogyha egy karakter többször előfordul, akkor melyik előfordulását cseréljük le. Az OSZLOPOK($B : B) adja meg, hogy éppen melyiket kell cserélni.
2) Ezek után már csak a két marker közötti szöveg kivágása van vissza. Előbb BAL-al levágjuk a végét (a pipe-jelig tartjuk meg a szöveget), majd a CSERE függvénnyel a hashtag-ig (ami a kezdetet jelöli) mindent semmire cserélünk.Másik megoldás pedig egy 2 soros Power Query lenne, de ez csak akkor ha sok adatod van.
Illetve VBA-val a Split függvénnyel pár soros kódot is lehetne használni.
üdv
-
lappy
őstag
válasz
macilaci78 #54572 üzenetére
Szövegből oszlopok
-
föccer
nagyúr
válasz
macilaci78 #54281 üzenetére
Google sheet-et nem ismerem ennyire. Az újabb office-ben elkészített számolótábla nem valószínű, hogy menni fog. Régebbi office-ben nincsenek benne azok a tömbfüggvények, amik erre alkalmasak. Nyilván végig lehetne makrózni az egészet, de az szívás.
Ha egy minimálisan is használod az excelt mondjuk az összeadáson kívűl, akkor érdemes upgradelni.
üdv, föccer
-
föccer
nagyúr
válasz
macilaci78 #54279 üzenetére
Ez mind nem gond. Office2021-től ezek a natív tömbfüggvényekkel és az indirekt függvénnyel simán megoldhatóak.
Küld át azt, hogy pontosan miből, mit szeretnél látni, milyen szabályok szerint és összerakom, ha szeretnéd. Szoktam ilyesmiket megbízásból is csinálni, ez egy sima formanyomtatvány kezelés.
üdv, föccer
-
föccer
nagyúr
válasz
macilaci78 #54277 üzenetére
Miért nem hívsz fel, ha bajod van?
Csinálj egy nyomtatási képet tartalmazó munkalapot, meg egy számításokat, adatbeviteli mezőket tartalmazó munkalapot. Az utóbbin beviszed az adatokat, meg csinál mindent, a nyomtatási képen meg úgy rendezed el a dolgokat, ahogy akarod, és onnan nyomtatsz.
-
csferke
senior tag
válasz
macilaci78 #54274 üzenetére
-
ny.janos
tag
válasz
macilaci78 #54274 üzenetére
Szia!
Nézd meg ezt a leírást. -
sztanozs
veterán
válasz
macilaci78 #40379 üzenetére
-
Mutt
senior tag
válasz
macilaci78 #37910 üzenetére
Szia,
Egy ötlet részemről, hogy kellene egy kulcsszó készlet, hogy miket várnál el a találatként (pl. kapupántcsavar, lakatcsavar, facsavar stb.) a leírásban és azt megnézni hogy megvan-e a szövegben vagy sem.
Ehhez lehet egy UDF-t készíteni.
Egy nem tökéletes változat.Function Talalat(szoveg As Range, kulcsszo As Range, elvalaszto As Range) As String
Dim c, i As Long
Dim kezdete As Long, vege As Long
Dim cell
Dim txelvalaszto As String
For Each cell In elvalaszto
txelvalaszto = CStr(cell) & txelvalaszto
Next
Talalat = ""
For Each cell In kulcsszo
c = InStr(1, szoveg, cell) 'keressük a kifejezést a szövegben
If c > 0 Then 'ha van találat
For i = c To 1 Step -1 'menjünk visszafelé az első elvalasztó jelig
If InStr(1, txelvalaszto, Mid(szoveg, i, 1)) > 0 Then
kezdete = i + 1
Exit For
End If
Next i
If kezdete = 0 Then kezdete = 1 'ha esetleg nem lenne előtte semmi
For i = c To Len(szoveg) 'most keressük meg a szöveg utáni első elválasztójelet
If InStr(1, txelvalaszto, Mid(szoveg, i, 1)) > 0 Then
vege = i
Exit For
End If
Next i
If vege = 0 Then vege = Len(szoveg) + 1 'ez esetben pedig nincs semmi már utána
Talalat = Mid(szoveg, kezdete, vege - kezdete) 'az eredmény
Exit For
End If
Next cell
End FunctionHa az adathalmaz nincs egységes szerkezetben, akkor tökéletes végeredmény nem fog összejönni.
üdv
-
Fferi50
Topikgazda
válasz
macilaci78 #37910 üzenetére
Szia!
Szerintem akkor is érdemes megpróbálni a szövegből oszlopok varázslót. Legfeljebb többször is végre kell hajtani. Úgy gondolom, még mindig gyorsabb, mint egyenként végigmenni a tételeken.
Üdv.
-
0P1
aktív tag
válasz
macilaci78 #37885 üzenetére
Vagy, ha jól olvasom, mivel Excel 2016 is van:
Adatok -> Beolvasás és Átalakítás /Táblázatból. -> Oszlop felosztása > Elválasztó alapján
Add meg a vesszőt elválasztónak, majd Bezárás és betöltés. -
PistiSan
addikt
válasz
macilaci78 #37885 üzenetére
Jól értem hogy védővel van elválasztva minden egyes adat?
Adatok lap Adateszközök csoportjában kattintsunk a Szövegből oszlopok gombra.
Bővebben: [link] -
Delila_1
veterán
válasz
macilaci78 #37437 üzenetére
Akkor itt az INDEX-HOL.VAN függvény párosra van szükséged. A másik lap elrendezése olyan, mint a képen levőé? Nem mindegy.
Ha azonos a 2 elrendezés, az A2 képlete
=HAHIBA(INDEX(Munka2!A:B;HOL.VAN(B2;Munka2!B:B;0);1);"")
A Munka2 helyett írd be a saját lapod nevét. Ha a lapnév szóközt, vagy számot tartalmaz, akkor aposztrófok közé kell írnod. 'Másik lap neve'!A:B stb.
-
Delila_1
veterán
válasz
macilaci78 #37434 üzenetére
Az Fkeres függvényt alkalmazhatod erre.
-
Fferi50
Topikgazda
válasz
macilaci78 #35259 üzenetére
Szia!
Az M oszlopot mindenestől átmásolod egy új oszlopba (mondjuk X). Ezután az X oszlopot kijelölöd, adatok - ismétlődések eltávolítása. Ezzel megkapod az egyedi értékeket.
Y2 cellába képlet: =Darabteli($M:$M;X2) Ezt lehúzod az oszlopon.De ha nem zavar, hogy minden szám mellett ott lesz az érték, akkor az N oszlopba, vagy az első üres oszlopba írhatod a Darabteli képletet =Darabteli($M:$M;M2) és lehúzod a számok mellett.
További lehetőség kimutatás.
Üdv.
-
0P1
aktív tag
válasz
macilaci78 #34920 üzenetére
Ha mindenképpen függvénnyel akarod, akkor ez működhet:
Ha A1 cellában az adatod:
=SZORZATÖSSZEG(KÖZÉP(0&A1;NAGY(INDEX(SZÁM(--KÖZÉP(A1;SOR($1:$40);1))*
SOR($1:$40);0);SOR($1:$40))+1;1)*10^SOR($1:$40)/10)Ez kiszedi a szám karaktereket , és összefűzi őket egy decimális számmá. Ha 40-nél hosszabb is lehet a karaktersorozat, akkor $40 -et módosítsd ennek megfelelően. (ha elegendő kevesebb, akkor csökkentheted, ha hosszabb kell, akkor növeld, de feleslegesen túl nagy értéket ne adj meg, mert ez minél nagyobb, annál lassabb lesz.
Az excel számkezelési limitjét viszont ne lépd át, a számpontosság 15 számjegy, efelett elkezd normál alakban tárolni és kerekíteni ! Szóval nem lehet 15-nél több számjegy a karakterláncban. Ha ennél több számjegy van a
sztringben, akkor csak Delila makrós megoldása a járható út. -
Delila_1
veterán
válasz
macilaci78 #34926 üzenetére
Olvasd el a téma összefoglalót.
-
Delila_1
veterán
válasz
macilaci78 #34920 üzenetére
Írtam rá egy CsakSzam nevű függvényt. Modulba másold. A füzetbe beírod
=csakszam(A1) – ha az A1-ben lévő adatból akarod kiíratni a számjegyeket.Function CsakSzam(cella As Range)
Dim b As Integer, szam
For b = 1 To Len(cella)
If IsNumeric(Mid(cella, b, 1)) Then szam = szam & Mid(cella, b, 1)
Next
CsakSzam = szam * 1
End Function -
föccer
nagyúr
válasz
macilaci78 #34915 üzenetére
Nincs előttem excel, de kb ilyesmi lesz a megoldás.
B1-be:
=JOBB(A1;HOSSZ(A1)-4)D1-be pedig simán =B1&C1
Ha valahol szám formátumba kerül, akkor =SZÖVEG(B1;"0") függvénnyel tudod szöveggé konvertálni. Szövegként működik az ÖSSZEFŰZ függvény is.
üdv, föccer
-
Delila_1
veterán
válasz
macilaci78 #21485 üzenetére
A címsoron állva bekapcsolod az autoszűrőt, pontosan erre találták ki.
Kezdőlap | Szerkesztés | Rendezés és szűrés | Szűrő. -
Sasos
senior tag
válasz
macilaci78 #21349 üzenetére
Vagy: =HA(SZÁM(E8);TÖBBSZ.KEREKÍT((E8*I5*I6+2000); 500);"")
-
Delila_1
veterán
válasz
macilaci78 #21351 üzenetére
-
Delila_1
veterán
válasz
macilaci78 #21349 üzenetére
=HA(SZÁM(E8);KEREKÍTÉS((E8*I5*I6+2000)/500;0)*500;"")
-
Mutt
senior tag
válasz
macilaci78 #18464 üzenetére
Hello,
Ha 20 oszloponkent uj sorbol akarod kezdeni, akkor ez fog mukodni:
=INDIRECT("Sheet1!R"&COLUMN()&"C"&ROW();0)
A kepletet az A1:D20 tartomanyba masold be.Ha pedig csak egy oszlopba akarod a listat, de 20 oszloponkent az elso lap ujabb sorabol induljon, akkor ezt hasznald:
=INDIRECT("Sheet1!R"&INT((ROW()-1)/20)+1&"C"&MOD(ROW()-1;20)+1;0)Udv
-
Mutt
senior tag
válasz
macilaci78 #18432 üzenetére
Hello,
...Ami a 1-ben külön oszlopban van, azt a 2.-ban egymás alá szeretném kérni...
(A példád pont a fordítottját mutatja, mint a leírásod, ezért a szövegben leírtakat vettem alapul, vagyis
az első lapon az első sorban egymás melletti oszlopokban lévő értékeket akarsz a második lapon
egy más alá, sorokba szedni.Transponálásnak hívják, több megoldás is van rá. Sheet2!A1-be írd vmelyik képletet és húzd le:
1. TRANSPOSE függvény használata a második lapon (csak az A1-C1000 tartományt írtam a példába:
=IFERROR(TRANSPOSE(Sheet1!$A$1:$C$1000);"")
2. INDEX függvénnyel:
IF(ISBLANK(INDEX(Sheet1!$1:$1;0;ROW()));"";INDEX(Sheet1!$1:$1;0;ROW()))
3. OFFSET függvénnyel:
=IF(ISBLANK(OFFSET(Sheet1!$A$1;0;ROW()-1));"";OFFSET(Sheet1!$A$1;0;ROW()-1))Ha csak egyszer kell megcsinálnod, akkor pedig javaslom a speciális beillesztést. Home-> Paste -> Paste Special -> Transpose opció.
üdv.
-
lappy
őstag
válasz
macilaci78 #18432 üzenetére
Szia!
Ha jól értem akkor az egyik munkalap1 A oszlopát szeretnéd egy másik munkalap 1-es sorába rendezni.
Ha igen akkor a munkalap1 A oszlopára kell egy szűrő ott kiveszed az üres cellákat. Ha ez megvan akkor másolás. A munkalap2 1 soránál pedig irányított beillesztés transzponálással.
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Warhammer 40.000
- Egy óra, két rendszer
- Battlefield 6 - Bemutatkozik a többjátékos mód
- Milyen széket vegyek?
- Így lesz tégla a porszívódból - a Roidmi csődje
- Facebook és Messenger
- Házimozi belépő szinten
- Samsung Galaxy S25 - végre van kicsi!
- Mobil flották
- További aktív témák...
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- 27%-OS ÁFÁS SZÁMLA I Jogtiszta Microsoft digitális és fizikai termékek I DIGITALKEYZ.COM
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Több mint 70.000 eladott szoftverlicenc
- Vírusirtó, Antivirus, VPN kulcsok
- 8 GB-os GeForce RTX 2060 SUPER (OEM HP) - garanciával
- REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- BESZÁMÍTÁS! ASROCK B550M R9 5900X 32GB DDR4 1TB SSD RTX 3080TI 12GB ZALMAN I3 NEO GIGABYTE 850W
- Nexus 6P 32GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B450M R5 3600 16GB DDR4 512GB SSD GTX 1080 8GB Rampage SHIVA ADATA 600W
Állásajánlatok
Cég: FOTC
Város: Budapest