-
Fototrend
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. -
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
- iKing.Hu - Google Pixel 10 Tensor G5, 120 Hz OLED, tripla kamera-128 GB Használt, karcmentes Gari
- BESZÁMÍTÁS! MSI H310M PRO i5 9600K 16GB DDR4 240GB SSD 2TB HDD RTX 2060 Super 8GB NZXT Source 600W
- iKing.Hu - Apple iPhone 15 Pro Max Black Titanium Titán stílus, 5 optikai zoom 256 GB- Gari
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- REFURBISHED és ÚJ - HP USB-C Dock G5 (5TW10AA) - 3x4K felbontás
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



Fferi50
