Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Die Updates sind abgeschlossen. Bitte meldet eventuelle Bugs und Auffälligkeiten im entsprechenden Forum.
Sollte das Loginfenster nicht sichtbar sein, ist es unten links. Entweder Ihr loggt Euch dort ein oder löscht den Browsercache und versucht es noch einmal.


Excel Formel
#1
Hallo ihr lieben,

erst einmal Danke für die Aufnahme.
Ich bin leider kein Excel-Profi wie ihr, aber leider muss ich für die Arbeit etwas machen und weiß nicht weiter. Idea

Gibt es eine Formel, die mir filtert, dass zb. in einer Spalte nur Nummern angezeigt werden die 8-stellig sind?
Beispiel: 12345678, aber nicht 1234 5678 oder irgendwie anders dargestellt.
Oder eben auch, dass er erkennt, dass es eine 8-stellige Zahl ist: 36597686_15576 (hier sollte er die erste Zahlenreihe erkennen!)

Sprich die Zahlen stehen immer unterschiedlich da...

Danke euch im Voraus für die Unterstützung.

Lg. Angela Angel


Angehängte Dateien Thumbnail(s)
   
Antwortento top
#2
Hallo Angela,

diese UDF sollte das leisten, die Antwort ist "Wahr", falls 8 zusammenhängende Zahlen in der Zelle sind.


Code:
function i8Zahlen(rnd as range)
With CreateObject("vbscript.Regexp")
    .Pattern = "\d{8}"
    i8Zahlen = .Test(rng.value)
end with
end function


Wenn die zu prüfende Zahl in A1 steht:

B1: =i8Zahlen(A1)

mfg

(der Code ist ungeprüft und muss (vermutlich) debugged werden)
Antwortento top
#3
Hi Fennek,

1. function i8Zahlen(rng as range)

2. werden auch über achtstellige Zahlen als WAHR ermittelt (123456789)
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Antwortento top
#4
=WAHL(1+MAX(;SUMMENPRODUKT({1.-2}*
ISTZAHL(--TEIL(A1&"_";ZEILE($1:$99);{8.9}))));"keine genau 8 Stellen enthalten!";TEIL(A1;SUMMENPRODUKT(
ISTZAHL(--TEIL(A1&"_";ZEILE($1:$99);8))*ZEILE($1:$99));8);"bitte unter mehreren auswählen!")


Keine genau 8stellige Ziffernfolge: "keine genau 8 Stellen enthalten!"

Eine genau 8stellige Ziffernfolge wird als solche zurückgegeben, z.B. "01234567"

Zwei oder mehr 8stellige Ziffernfolgen ergibt "bitte unter mehreren auswählen!"

Bei einer 8stelligen und einer 9+-stelligen Ziffernfolge wird nichts zurückgegeben (müsste noch angepackt werden)

Achtung: Formel auch sonst noch etwas fehlerhaft! 123456789_12345678 ergibt z.B. falsche "45678"
Antwortento top
#5
(24.07.2017, 09:07)lxxxangelxxxl schrieb: Hallo ihr lieben,

erst einmal Danke für die Aufnahme.
Ich bin leider kein Excel-Profi wie ihr, aber leider muss ich für die Arbeit etwas machen und weiß nicht weiter. Idea

Gibt es eine Formel, die mir filtert, dass zb. in einer Spalte nur Nummern angezeigt werden die 8-stellig sind?
Beispiel: 12345678, aber nicht 1234 5678 oder irgendwie anders dargestellt.
Oder eben auch, dass er erkennt, dass es eine 8-stellige Zahl ist: 36597686_15576 (hier sollte er die erste Zahlenreihe erkennen!)

Sprich die Zahlen stehen immer unterschiedlich da...

Danke euch im Voraus für die Unterstützung.

Lg. Angela Angel

Übrigends ich habe Excel 2016 auf Deutsch Undecided
Antwortento top
#6
Bitte zitiere nicht unnötig! "xl2016" ist doch eine absolute Feststellung.
Antwortento top
#7
@Klaus: Danke Blush 


Code:
function i8Zahlen(rng as range)
With CreateObject("vbscript.Regexp")
    .Pattern = "^\d{8}|$\d/{8}"
    i8Zahlen = .Test(rng.value)
end with
end function

Falls es noch andere Fälle geben sollte, sind weitere Korrekturen angesagt.

mfg
Antwortento top
#8
oder:

Code:
function i8Zahlen(rng as range)
With CreateObject("vbscript.Regexp")
   .Pattern = "\D\d{8}\D"
   i8Zahlen = .Test(" " & rng.value & " ")
end with
end function
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste