Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
216to220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
216to220
216to220
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Für die ganz schlauen ...

Für die ganz schlauen ...
11.02.2003 17:28:58
Tomi
Hallo!
Ich glaube, das hier ist ein Fall für die ganz Schlauen:

Ich habe eine Liste mit ca. 3000 Zeilen und 4 Spalten. In Spalte D haben Mitarbeiter Fachnummern eingetragen. Leider hält sich keiner an Standards und jeder gibt die Daten anders ein: einmal A1, dann wieder a1, dann a 1 oder A01 oder a001 oder ab01 usw.

Die Fächer gehen von A1, B1, C1..... bis AC999

Ich möchte eine automatisierte Funktion einsetzen (Schleife?), die diese Spalte autom. durchläuft, und die Einträge für mich in das Format "A -001" umschreibt, sonst muss ich 3000 Zeilen per Hand korrigieren. Also aus A1, a1, a01 A001, a 01 oder wie auch immer in das Format "A -001" und z.B. AB21 in "AB-021" umwandelt. Ich hoffe das ist euch nicht zu verwirrend erklärt und das mir jemand helfen kann.

Vielen Dank im Voraus !

MfG,
Tomi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Für die ganz schlauen ...
11.02.2003 17:59:45
Ralf Sögel

Hallo,
die ganz schlauen würden z.B. mit Gültigkeitsprüfung sicherstellen, daß nur erlaubte Eingaben gemacht werden können.
Gruß Ralf

Re: Für die ganz schlauen ...
11.02.2003 17:59:45
Ralf Sögel

Hallo,
die ganz schlauen würden z.B. mit Gültigkeitsprüfung sicherstellen, daß nur erlaubte Eingaben gemacht werden können.
Gruß Ralf

Re: Für die ganz schlauen ...
11.02.2003 20:20:33
Boris

Hi Tomi,

natürlich ist es, wie Ralf schon sagt, besser, vorher über Gültigkeit solche Eingaben erst gar nicht zuzulassen.
Jetzt, wo das Kind aber bereits in den Brunnen gefallen ist:

In Spalte A, ab A2 steht z.B.:
A01
A 01
A001
Ab01
AB 001
a 0 1
AC788
AC 788
ac 689
a b 2 2

Dann in B2 folgende Formel (und runterkopiert):
=GROSS(WECHSELN(A2;" ";""))

In C2 (und runterkopiert):
{=LINKS(B2;1+(NICHT(ISTZAHL(TEIL(B2;2;1)*1))))&"-"&WENN(VERGLEICH(WAHR;NICHT(ISTZAHL(LINKS(RECHTS(B2;SPALTE($1:$1));1)*1));0)-1=1;"00";WENN(VERGLEICH(WAHR;NICHT(ISTZAHL(LINKS(RECHTS(B2;SPALTE($1:$1));1)*1));0)-1=2;"0";""))&RECHTS(B2;VERGLEICH(WAHR;NICHT(ISTZAHL(LINKS(RECHTS(B2;SPALTE($1:$1));1)*1));0)-1)}

Diese Formel ist eine Array-Formel; die {geschweiften Klammern} nicht mit eingeben, sondern die Formeleingabe mit Strg-Shift-Enter abschließen. So werden sie automatisch erzeugt.

Das Endergebnis in Spalte C sieht dann so aus:
A-001
A-001
A-001
AB-001
AB-001
A-001
AC-788
AC-788
AC-689
AB-022

Gruß Boris


Anzeige
Kleine Formelspielerei:
11.02.2003 21:26:00
Boris

Hi Tomi,

man kann das natürlich auch auf eine Formel verkürzen.
In A2 steht dein Eintrag, dann in B2 folgende Array-Formel:

{=LINKS(GROSS(WECHSELN(A2;" ";""));1+(NICHT(ISTZAHL(TEIL(WECHSELN(A2;" ";"");2;1)*1))))&"-"&WENN(VERGLEICH(WAHR;NICHT(ISTZAHL(LINKS(RECHTS(WECHSELN(A2;" ";"");SPALTE($1:$1));1)*1));0)-1=1;"00";WENN(VERGLEICH(WAHR;NICHT(ISTZAHL(LINKS(RECHTS(WECHSELN(A2;" ";"");SPALTE($1:$1));1)*1));0)-1=2;"0";""))&RECHTS(GROSS(WECHSELN(A2;" ";""));VERGLEICH(WAHR;NICHT(ISTZAHL(LINKS(RECHTS(WECHSELN(A2;" ";"");SPALTE($1:$1));1)*1));0)-1)}

Sieht verrückt aus, ist auch verrückt, aber funktioniert...;-)))

Gruß Boris

Anzeige
Das funkt ! DANKE !
13.02.2003 10:34:15
Tomi

Hallo Boris,

vielen Dank, das funktioniert ! Wie kommt man auf so eine Formel ? Hast du die selbst erstellt oder gibt es dafür eine Funktion ?
Die Tabelle ist übrigens schon alt und damals wurde nicht daran gedacht, daß sie vielleicht mal weiterverarbeitet wird, was jetzt der Fall ist. In der neuen Version ist ohnehin eine Gültigkeitsprüfung geplant, daher eben die Notwendigkeit, alles auf einen "Standard" (in diesem Fall "@&-000" in Access) zu bringen. Aber trotzdem vielen Dank an Ralf für den "schlauen" Tip ;-)
Eine Frage hätte ich aber noch:
Wie bekomme ich noch zwischen "A" und "-" ein Leerzeichen ? Das sollte dann so aussehen:

A -001
AB-001

Nochmal Danke Boris !

Mit freundlichen Grüßen,

Tomi

Anzeige
Re: Das funkt ! DANKE !
13.02.2003 13:49:57
Boris

Hi Tomi,

für solche Formeln gibt es keine separate "Funktion". Die muss man schon selbst erstellen. Ist aber einfach reine Logik, und mit ein bisschen Übung geht das dann;-)))

Zu deiner Frage:
Die Formel stößt längenmäßig anscheinend an ihre Grenzen. Ich wollte noch was einfügen, aber Excel hat gestreikt...
Daher benötigst du eine weitere Formel:
In A2 steht dein Wert, in B2 die bereits gepostete lange Formel, und in C2 schreibst du dann:
=WENN(LÄNGE(B2)=5;LINKS(B2;1)&" "&RECHTS(B2;4);B2)
und kopierst sie auch runter.

HTH

Gruß Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige