Frage von patrickR23, 49

Nur zahlen aus Spalte verwenden - welche Möglichkeiten gibt es bei unterschiedlicher Länge?

Hallo,

Ich ziehe aus einer Spalte "Spaltenname" den Wert für eine URL. In der Spalte "Spaltenname" befinden sich Werte wie "AB12345" oder auch "ABC23456". Sprich mit zwei oder drei voranstehenden Buchstaben. Ich benötige jedoch aus dieser Spalte nur die Zahl, sprich die Werte "12345" oder "23456".

Aktuell ist es wie folgt gelöst, aber das klappt natürlich nur, wenn in der Spalte zwei Buchstaben sind. Bei drei hab ich immer noch einen Buchstaben zu viel.

=WENN(UND(NICHT([Spaltenname]="keine");NICHT([Spaltenname]=""));HYPERLINK("http://example.com?id="&RECHTS([Spaltenname];LÄNGE([Spaltenname])-2);RECHTS([Spaltenname];LÄNGE([Spaltenname])-2));"")

Jemand eine Idee/Vorschlag?

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 37
=...id="&WENN(ISTZAHL(TEIL([Spaltenname];3;9^9);TEIL([Spaltenname];3;9^9);TEIL([Spaltenname];4;9^9)...
Antwort
von PWolff, 5

Wenn die Buchstabenfolge nie alphabetisch hinter "IDF" zu liegen kommt und die Zahlen immer zwischen 1 und 1048576 liegen, geht auch folgendes:

RECHTS([Spaltenname];LÄNGE([Spaltenname])-2)

durch

=ZEILE(INDIREKT([Spaltenname]))

ersetzen

Antwort
von MonkeyKing, 38

Was ist das für eine Programmiersprache? Normalerweise würde man so etwas mit regulären Ausdrücken machen.

Kommentar von iMPerFekTioN ,

Das nennt sich Excel Formel und hat (in diesem Sinne) nicht viel mit Programmierung zu tun!

Aufrufen von Funktionen und erstellen von Formeln! Das ist das was hier passiert!

Reguläre Ausdrücke wären hier sicherlich super, Jedoch sind die in Excel nicht vorhanden (Lob an LibreOffice in diesem Sinne =) )

Antwort
von Maboh84, 38

kuckst du: http://www.excelformeln.de/formeln.html?gruppe=2 

somit z.B. 

=VERWEIS(9^9;1*RECHTS(A1;SPALTE(A1:IQ1)))

Kommentar von patrickR23 ,

Funktioniert - danke!

Expertenantwort
von schmiddi1967, Community-Experte für Excel, 26

Hey, ich gehe davon aus das sich es eventuell um die Spalte A ab A2 handelt und das du in Spalte B die Zahlen aus A angezeigt haben möchtest? Wenn ja nimm mal diese Formel dort wo die Zahl dann hin soll, zB. in Zelle B2:

{=VERWEIS(9^9;--TEIL(A2;MIN(WENN(ISTZAHL(--TEIL(A2;SPALTE(2:2);1));SPALTE(2:2)));SPALTE(2:2)))}

Das ist eine Matrixformel.
Das bedeutet: Die geschweiften Klammern
{} NICHT mit eingeben, sondern die Eingabe der Formel NICHT mit ENTER
abschließen, sondern mit:
STRG & SHIFT & ENTER (alle drei gleichzeitig).
DAS erzeugt die { } und macht die Formel zu einer Matrixformel.

Sollte klappen oder?

Kommentar von augsburgchris ,

Wozu die Arrayformel? Der erste Treffer reicht doch aus.

Antwort
von iMPerFekTioN, 7

Also, wenn du nichts gegen eine Hilfsspalte einzuwenden hast, kannst du die Länge der Zahl mit der Formel ermitteln:

Folgender Aufbau der Tabelle:

A1 = Deine Eingabezelle
B1 = Formel zur Ermittlung der alleinstehenden Zahl
D1 = Hilfsspalte
E1 = Auswerten der Länge der Zahl
F1:F20 = Zahlen von 1 bis 20

Formeln:

D1=

=WERT(RECHTS($A$1;X1))

Runterziehen bis D20

E1=

=WENN(ISTFEHLER(LÄNGE(D1));"0";LÄNGE(D1))

Runterziehen bis E20

B1=

=RECHTS(A1;MAX(E1:E20))

Fertig =)


Grüße,


iMPerFekTioN


P.s. Zugegeben, etwas umständlich, aber es funktioniert. Die Hilfsspalte kann ja einfach verlängert werden indem man die Formeln einfach bis Zeile 1000 runter Zieht.
Dieses Beispiel ist ohne Matrixfomel etc.!

Antwort
von augsburgchris, 17

A1: Dein Text

B1 =VERWEIS(9^9;1*RECHTS(A1;SPALTE($A$1:$IV$1)))

Quelle: http://www.excelformeln.de/formeln.html?welcher=100

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten