Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Funktion für 6-stellige Zahl

Funktion für 6-stellige Zahl
24.06.2013 15:27:07
alifa
Hallo,
Die 6-stelligen Zahlen werden mit den Ziffern 1 bis 6 gebildet. Sie sollen folgende Eigenschaft haben: Es sollen genau 2 aufeinander folgende Werte vorkommen(aufsteigend). Beispiel WAHR:124356,356214,453216,124536. Die aufeinander folgenden Werte hier:12 und 56,56,45,12 und 45. FALSCH:123564(hier folgen 3 Werte:123) 132546,654321(nicht aufsteigend),246531...
Danke im Voraus,
Alifa

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion für 6-stellige Zahl
24.06.2013 15:39:10
selli
hallo alifa,
die sonne scheint, heute ist der 24.6 (WAHR)
FALSCH: heute ist sonntag.
bitte.
gruß
selli

Formelvorschlag
25.06.2013 12:12:04
Erich
Hi Erhard,
hier mal mit einer Matrixformel (Spalten C:D werden nicht gebraucht):
 ABCD
1124356WAHR20
2356214WAHR10
3453216WAHR10
4124536WAHR20
5123564FALSCH31
6132546FALSCH00
7654321FALSCH00
8246531FALSCH00
9215634WAHR20
10214563FALSCH21

Formeln der Tabelle
ZelleFormel
B1{=SUMME(0+(TEIL(A1;ZEILE($1:$5); 1)+1=TEIL(A1;ZEILE($2:$6); 1)+0)) * (SUMME(0+(TEIL(A1;ZEILE($1:$4); 2)+11=TEIL(A1;ZEILE($2:$5); 2)+0))=0)>0}
C1{=SUMME(0+(TEIL(A1;ZEILE($1:$5); 1)+1=TEIL(A1;ZEILE($2:$6); 1)+0))}
D1{=SUMME(0+(TEIL(A1;ZEILE($1:$4); 2)+11=TEIL(A1;ZEILE($2:$5); 2)+0))}

Oder bräuchtest du das in VBA?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Formelvorschlag
26.06.2013 06:50:17
alifa
Hallo Erich,
es sollte schon eine Funktion (VBA)sein! Mittlerweile habe ich das selber lösen können. Vielen Dank für den Beitrag!
Gruß aus dem Oberbergischen, Erhard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Funktion zur Erzeugung von 6-stelligen Zahlen in Excel


Schritt-für-Schritt-Anleitung

Um eine Funktion zu erstellen, die 6-stellige Zahlen generiert, die die Kriterien aus dem Forumthread erfüllen, kannst du die folgende VBA-Lösung verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Function IstSechsStellig(code As String) As Boolean
       Dim i As Integer
       Dim aufeinanderfolgend As Integer
       Dim letzteZahl As Integer
    
       aufeinanderfolgend = 0
       letzteZahl = -1
    
       If Len(code) <> 6 Then
           IstSechsStellig = False
           Exit Function
       End If
    
       For i = 1 To Len(code)
           If Asc(Mid(code, i, 1)) >= 49 And Asc(Mid(code, i, 1)) <= 54 Then ' Ziffern 1 bis 6
               If i > 1 And Mid(code, i, 1) = Mid(code, i - 1, 1) + 1 Then
                   aufeinanderfolgend = aufeinanderfolgend + 1
               Else
                   aufeinanderfolgend = 0
               End If
               letzteZahl = Asc(Mid(code, i, 1))
           Else
               IstSechsStellig = False
               Exit Function
           End If
       Next i
    
       IstSechsStellig = (aufeinanderfolgend = 1) ' genau 2 aufeinanderfolgende Zahlen
    End Function
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Verwende die Funktion in einer Zelle, z. B. =IstSechsStellig(A1), wobei A1 die Zelle mit der 6-stelligen Zahl ist.


Häufige Fehler und Lösungen

  • Fehler: „TypMismatch“ beim Ausführen der Funktion
    Lösung: Stelle sicher, dass die Eingabe in der Zelle tatsächlich eine 6-stellige Zahl ist. Die Funktion erwartet genau 6 Ziffern.

  • Fehler: Funktion gibt „FALSCH“ zurück, obwohl die Zahl 6-stellig ist
    Lösung: Überprüfe, ob die 6-stellige Zahl die Kriterien erfüllt: genau zwei aufeinanderfolgende Werte und die Ziffern müssen zwischen 1 und 6 liegen.


Alternative Methoden

Eine andere Möglichkeit, 6-stellige Zahlen zu generieren, ist die Verwendung von Formeln in Excel. Hier ein Beispiel:

  1. In Zelle A1 gibst du deine 6-stellige Zahl ein.
  2. In Zelle B1 kannst du folgende Formel verwenden:

    =WENN(UND(LÄNGE(A1)=6;ISTZAHL(A1));"Gültig";"Ungültig")

Diese Formel überprüft, ob die eingegebene Zahl 6-stellig ist und nur Ziffern enthält. Für komplexere Prüfungen ist jedoch die VBA-Lösung effektiver.


Praktische Beispiele

Hier sind einige 6-stellige Zahlen, die die genannten Kriterien erfüllen:

  • WAHR: 124356
  • WAHR: 356214
  • FALSCH: 123564 (drei aufeinanderfolgende Werte)
  • FALSCH: 654321 (nicht aufsteigend)

Diese Beispiele zeigen, wie wichtig es ist, die Struktur der 6-stelligen Zahl zu beachten.


Tipps für Profis

  1. Nutzung von Arrays: Wenn du viele 6-stellige Zahlen überprüfen musst, ziehe in Betracht, Arrays in deiner VBA-Funktion zu verwenden, um die Leistung zu optimieren.
  2. Fehlerbehandlung einbauen: Implementiere Fehlerbehandlungsroutinen in deiner VBA-Prozedur, um unerwartete Eingaben zu handhaben.
  3. Datenvalidierung: Verwende die Datenvalidierungsfunktion in Excel, um sicherzustellen, dass nur 6-stellige Zahlen eingegeben werden können.

FAQ: Häufige Fragen

1. Was ist eine 6-stellige Zahl?
Eine 6-stellige Zahl besteht aus sechs Ziffern, die in einem bestimmten Format angeordnet sind.

2. Welche Zahl ist 6-stellig?
Jede Zahl, die zwischen 100000 und 999999 liegt, ist eine 6-stellige Zahl.

3. Wie kann ich 6-stellige Zahlen kombinieren?
Du kannst 6-stellige Zahlen kombinieren, indem du die entsprechenden Zellen in Excel addierst oder mit Hilfe von VBA spezifische Kombinationen generierst.

4. Sind 18-stellige oder 19-stellige Zahlen ebenfalls möglich?
Ja, diese Zahlen sind möglich, jedoch unterscheiden sich die Kriterien zur Überprüfung. In diesem Tutorial konzentrieren wir uns auf 6-stellige Zahlen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige