-
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
aktív tag
Hello,
...feldarabolni a / jeleknél, és a tömb utolsó eleme kell...
A Munka1 lapon lévő A1 cellában lévő szövegből adja vissza az utolsó "/" utáni szövegrészt. CSE képlet!
{=KÖZÉP(Munka1!A1;MAX((KÖZÉP(Munka1!A1;SOR(INDIREKT("1:"&HOSSZ(Munka1!A1)));1)="/")*SOR(INDIREKT("1:"&HOSSZ(Munka1!A1))))+1;6^6)}
Az alábbiak szerint működik:
1. A KÖZÉP(Munka1!A1;SOR(INDIREKT("1:"&HOSSZ(Munka1!A1)));1) rész a szöveget 1 betüs tömbre bontja. Az eredmény ez lesz:
={"h";"t";"t";"p";":";"/";"/";"w";"w";"w";".";"n";"o";"m";"a";"d";"s";"p";"o";"r";"t";".";"e";"u";"/";"/";"u";"p";"l";"o";"a";"d";"/";"t";"e";"r";"m";"e";"k";"/";"k";"e";"p";"e";"k";"/";"b";"i";"g";"/";"_";"0";"/";"5";"8";"4";"3";"/";"5";"6";"8";"9";"8";"/";"e";"s";"b";"i";"t";"-";"g";"y";"u";"j";"t";"o";"k";"o";"c";"k";"a";".";"j";"p";"g"}2. Majd megnézzük hogy ez mikor azonos "/"-el. Az eredmény ez:
={HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;IGAZ;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS;HAMIS}3. Ezt szorozzuk a pozicíónak megfelelő számmal (vagyis 1, 2, 3 stb). Ez lesz:
={0;0;0;0;0;6;7;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;25;26;0;0;0;0;0;0;33;0;0;0;0;0;0;40;0;0;0;0;0;46;0;0;0;50;0;0;53;0;0;0;0;58;0;0;0;0;0;64;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}4. Kikeressük a maximumot és hozzáadunk egyet.
5. A kapott pozicíótól a maradék részt kiíratjuk. =KÖZÉP(Munka1!A1;65;6^6)Ha érdekel akkor kapsz egy saját függvényt is.
Használata egyszerű: =szovegresz(Munka1!A1;"/";2^12)
Első paraméter a vizsgálandó cella, a második az elválasztó jel, a harmadik a kért rész (jó nagy számot megadva az utolsó részt kapod).Function szovegresz(bemenet As Range, Optional elvalaszto As String = " ", Optional resz As Integer)
'az elvalaszto ha nincs megadva akkor szóközként értelmezzük
Dim arraySplit
Dim vFelsoMeret As Long
'szétszedjük a szöveget az elválasztójel alapján
arraySplit = Split(bemenet, elvalaszto)
'megnézzük hogy hányrészre szedhető
vFelsoMeret = UBound(arraySplit)
'ha az utolsó utáni darabot kérik, akkor is az utolsót adjuk
If resz >= vFelsoMeret + 1 Then
szovegresz = arraySplit(vFelsoMeret)
End If
'ha a legelső darab előtti kell, akkor is az elsőt adjuk vissza
If resz <= 0 Then
szovegresz = arraySplit(0)
End If
'megadjuk a kért részt
If resz > 0 And resz < vFelsoMeret Then
szovegresz = arraySplit(resz - 1)
End If
End Functionüdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel