textformel
ole
- excel
0 Stephan0 Ron0 Maurizio Tondolo0 ole
0 Dirk Ruchatz0 dankedanke
ole
moinmoin
gibt es eine möglichkeit via einer funktion excel folgendes zu sagen:
nimm denn text rechts vom letzten punkt in zellle XY ?`
beispiel:
ursprung: blabla.blubblub.blib.nase
ergebniss: nase
die anzahl der punkte und der textstrings recht jeweils von 1-x
danke im vorraus :-)
alles liebe
ole
(8-)>
moinmoin
gibt es eine möglichkeit via einer funktion excel folgendes zu sagen:
nimm denn text rechts vom letzten punkt in zellle XY ?`
beispiel:
ursprung: blabla.blubblub.blib.nase
Einfach z.B. "=RECHTS(A1;4)" wenn Du feste Zeichenfolgen hast, bei variablen Zf. mußt ein bisschen mit den Funktionen "Links", "Zeichenlänge" und "Rechts" rumspielen
ergebniss: nase
die anzahl der punkte und der textstrings recht jeweils von 1-x
danke im vorraus :-)
alles liebe
ole
(8-)>
Gruß Stephan
hi Stephan
die idee hatte ich auch schon, nur leider handelt es sich bei den textstings um newsgroupnamen, daher ist es für mich nicht möglich solch eine statische abfrage zu installieren (immerhin habe ich ca 60.000 newsgroups noch zu bearbeiten *seuftz*)
ich bräuchte da etwas das dynamisch ist ... allerdings ist excel nixht so meine stärke :-(
trotzdem danke :-)
alles liebe
ole
(8-)>
hallo,
dann schick mir mal ne Beispiel Datei..... *seufz*!
Guck dann mal was ich für Dich tun kann.......ok?
Gruß Stephan
Hallo Ole,
also ne Standard-Formel gibt es dafür nicht, etwas umständlich geht es aber trotzdem:
Wenn die einzelnen Werte in Tabelle1 alle untereinander stehen, kannst Du mit der Funktion Daten -> Text in Spalten und mit einem Punkt als Trennzeichen die einzelnen Textbausteine zwischen den Punkten in einzelne Zellen schreiben. Wenn Du das gemacht hast, nimmst Du ein neues Blatt und schreibst in A1:
=WENN(Tabelle1!B1="";Tabelle1!A1;"")
Dann kopierst Du das in alle anderen Zellen und ersetzt noch mit Bearbeiten -> Ersetzen 0 durch nichts. Jetzt steht in jeder Zeile nur noch der Textbaustein, den Du haben willst. Wie Du die dann in eine Spalte bekommst musst Du noch überlegen, mit VERKETTEN könntest Du es machen, wäre sogar dann recht simpel, wenn die einzelnen Bausteine nicht in unendlich vielen Spalten aufgeteilt sind. Ich glaube, VERKETTEN geht nur mit bis zu 30 einzelnen Zellen, und wenn es sich um Newsgroups handelt, müßte das doch eigentlich reichen, oder?
Vielleicht gehts noch einfacher, aber mir ist so spontan nicht anderes eingefallen. Excel ist halt nicht für das Suchen von rechts ausgelegt, sondern nur von links...
Viel Erfolg,
Ron
moinmoin
gibt es eine möglichkeit via einer funktion excel folgendes zu sagen:
nimm denn text rechts vom letzten punkt in zellle XY ?`
beispiel:
ursprung: blabla.blubblub.blib.nase
ergebniss: nasedie anzahl der punkte und der textstrings recht jeweils von 1-x
danke im vorraus :-)
alles liebe
ole
(8-)>
Hi Ole
Habe von Patrik deinen Hilferuf erhalten! Ich hätte dir auch eine Lösung gebastelt, die ich dir mailen könnte etc. Kannst du mir noch sagen, wieviele Punkte maximal vorkommen? Es ist ein Gebastel und ich würde dir dann sicher gerne erklären, wie das zu bedienen ist.
Also - so long
MaTo
hi MaTo
da es sich um newsgroup-namen handelt reicht die spanne der punkte von 1 (z.B. ".de") bis x (soll angeblich auch welche geben mit über 10 punkten)....es ist also nicht genau zu sagen wieviele punkte maximal vorkommen können, da es ja auch immerwieder neue untergruppen gibt zu den einzelnen themen.
ein minnimum an punkten könnt ich dir schon verraten, ein maximum allerdings nicht :-(
alles liebe
ole
(8-)>
Moin Ole,
gibt es eine möglichkeit via einer funktion excel folgendes zu sagen:
nimm denn text rechts vom letzten punkt in zellle XY ?`
beispiel:
ursprung: blabla.blubblub.blib.nase
ergebniss: nase
was du brauchst ist eine benutzerdefinierte Funktion mit der Funktionalität "Suchen von rechts".
Hier ist sie <g>:
Function SuchenVonRechts(Suchtext, Text As String, erstes_Zeichen As Integer) As Integer
Dim Pos As Variant
Dim Gefunden As Integer
Gefunden = erstes_Zeichen - 1
On Error Resume Next
Pos = WorksheetFunction.Search(Suchtext, Text, erstes_Zeichen)
On Error GoTo 0
If Pos > 0 Then
Gefunden = SuchenVonRechts(Suchtext, Text, Pos + 1)
End If
SuchenVonRechts = Gefunden
End Function
Diese wird dann in der Zelle, in der du die letzten Zeichen haben willst, wie folgt angesprochen:
=TEIL(A1;SuchenVonRechts(".";A1;1)+1;LÄNGE(A1))
wobei die A1 natürlich jeweils durch die Zelle zu ersetzen sind, in der der Newsgroup-Name steht.
Diese Formel brauchst du dann nur noch nach unten zu kopieren & schon bist du fertig...
Gruß
Dirk
PS: Beispieldatei ist per Mail unterwegs!
nochmal hi
vielen dank für die rege hilfe :-)
alles liebe
ole
(8-)>