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

Zahlen verschlüsseln / drehen

Forumthread: Zahlen verschlüsseln / drehen

Zahlen verschlüsseln / drehen
Andre
Hallo,
bin neu hier im Forum, und hoffe mir kann jemand weiterhelfen.
Ich würde gerne Zahlen in einer Excel Tabelle verschlüsseln durch einfaches drehen / spiegeln
z.B: 302785 soll zu 708325 werden.
also aus 0 wird 0, 1 = 9, 2 = 8, 3 = 7, 4 = 6 ......
Bestimmt weis einer von Euch wie man das schnell umsetzen kann, hab da nämlich ne Datenbank mit über 50000 Zeilen und da wäre es fast ne Lebensaufgabe alle Zahlen per Hand abzuändern.
Gruß und hoffentlich bis bald
Anzeige
AW: Zahlen verschlüsseln / drehen
24.02.2010 11:52:50
Markus
Hallo Andre,
Wie viele Stellen haben diese Zahlen, immer 6?
lg
Markus
AW: Zahlen verschlüsseln / drehen
24.02.2010 11:56:34
Markus
Hallo Andre,
versuche mal das:
=VERKETTEN(TEIL(A1;6;1);TEIL(A1;5;1);TEIL(A1;4;1);TEIL(A1;3;1);TEIL(A1;2;1);TEIL(A1;1;1))+0
In der Zelle A1 muß die Originalzahl stehen.
lg
Markus
AW: Zahlen verschlüsseln / drehen
24.02.2010 12:06:54
Andre
Hmm,
also die Zahl ist immer 7 Stellig und steht in Spalte T un der Erzeugte Wert soll dann in Spalte AF stehen.
Die Formel die Du gerade gepostet hast macht aus der Zahl 1234567 die Zahl 7654321.
Ich brauche aber eine Formel die aus 1234567 die Zahl 9876543 macht, vielleicht fällt dir dazu ja auch was ein.
Anzeige
AW: Zahlen verschlüsseln / drehen
24.02.2010 12:10:40
Markus
Hallo Andre,
Hiermit sollte es klappen:
=VERKETTEN(TEIL(A1;7;1)+2;TEIL(A1;6;1)+2;TEIL(A1;5;1)+2;TEIL(A1;4;1)+2;TEIL(A1;3;1)+2;TEIL(A1;2;1)+2; TEIL(A1;1;1)+2) +0
A1 musst du nur noch durch Tx ersetzen.
lg
Markus
AW: Zahlen verschlüsseln / drehen
24.02.2010 12:17:30
Andre
Nee, jetzt kommt da was ein ganz anderer Wert bei raus ich hab als Beispiel mal die Zahl 7090087 genommen da sollte dann ja 3010023 raus kommen, jetzt kommt da aber 910221129 raus.
lg
Andre
Anzeige
als UDF
24.02.2010 12:26:00
Rudi
Hallo,
Function verschluesseln(dblZahl)
Dim arrKey, i As Integer, sTmp
arrKey = Array(0, 9, 8, 7, 6, 5, 4, 3, 2, 1)
For i = 1 To Len(dblZahl)
sTmp = Mid(dblZahl, i, 1)
If IsNumeric(sTmp) Then
verschluesseln = verschluesseln & arrKey(sTmp)
Else
verschluesseln = verschluesseln & sTmp
End If
Next
If IsNumeric(verschluesseln) Then verschluesseln = verschluesseln * 1
End Function

Gruß
Rudi
Anzeige
AW: als UDF
24.02.2010 12:42:35
Andre
Hallo Rudi,
danke für Deinen Beitrag aber davon hab ich keine Ahnung, wo soll denn das hin geschrieben werden?
Wenn man das als Formel in die Tabelle kopiert passiert nichts außer das es dann in der Zelle steht.
lg
Andre
AW: als UDF
24.02.2010 12:48:42
Rudi
Hallo,
das gehört in ein Modul.
Alt+F11
Im Projektexplorer (linkes Fenster) Rechtsklick auf deine Mappe-Einfüge-Modul und da rein kopieren.
In die Tabelle schreibst du dann einfach =verschluesseln(A1)
Gruß
Rudi
Anzeige
AW: als UDF
24.02.2010 12:59:16
Andre
Super das hat geklappt 1000 Dank, das hätte sonst Wochen gedauert alle 50000 Zeilen mit der Hand zu ändern.
Jetzt dauerts nur sekunden.
Supi Dupi Mega Geil :-))))
LG
Andre
Mit Datenkryptisierung hatte ich mich auch...
25.02.2010 05:04:17
Luc:-?
…schon befasst, André…
Üblicherweise verwendet man hierzu eine Xor-Operation. Rudis Lösung ergänzend setze ich einen Link auf diesen Thread, in dem das auch zur Sprache kam. Dort findest du auch BspDateien.
Gruß Luc :-?
Anzeige
Als Formel !
24.02.2010 16:28:24
Renee
Hi Andre,
weiter oben hat noch jemand nach einer Formel gefragt.
Hier wäre ein,
{=--TEXT(SUMMENPRODUKT(RECHTS(10-TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1);1)
*10^(LÄNGE(A1)-ZEILE(INDIREKT("1:"&LÄNGE(A1)))));WIEDERHOLEN("0";LÄNGE(A1)))}

Achtung: Matrixformel - Die Formel ohne die {} eingeben und mit Ctrl-Shift-Enter abschliessen.
GreetZ Renée
Anzeige
AW: Als Formel vereinfacht!
24.02.2010 16:51:50
Renee
Hi nochmals,
Da ist keine (absolute) Matrixformel nötig und auch das Text und wieder Zahlen Gefrikel ist überflüssig.
Ich habe als Grundlage eine Formel von hier ohne viel Nachzudenken übernommen!
Es geht also auch einfacher:

=SUMMENPRODUKT(RECHTS(10-TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1);1)
*10^(LÄNGE(A1)-ZEILE(INDIREKT("1:"&LÄNGE(A1)))))
GreetZ Renée
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zahlen verschlüsseln und drehen in Excel


Schritt-für-Schritt-Anleitung

Um Zahlen in Excel zu verschlüsseln und zu drehen, kannst Du folgende Methoden nutzen:

  1. Verwendung einer benutzerdefinierten Funktion (UDF):

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
    • Klicke im Projektexplorer mit der rechten Maustaste auf deine Arbeitsmappe und wähle „Modul einfügen“.
    • Füge den folgenden Code ein:
    Function verschluesseln(dblZahl)
        Dim arrKey, i As Integer, sTmp
        arrKey = Array(0, 9, 8, 7, 6, 5, 4, 3, 2, 1)
        For i = 1 To Len(dblZahl)
            sTmp = Mid(dblZahl, i, 1)
            If IsNumeric(sTmp) Then
                verschluesseln = verschluesseln & arrKey(sTmp)
            Else
                verschluesseln = verschluesseln & sTmp
            End If
        Next
        If IsNumeric(verschluesseln) Then verschluesseln = verschluesseln * 1
    End Function
    • Schließe den VBA-Editor.
    • In der Excel-Tabelle kannst Du jetzt die Funktion =verschluesseln(A1) verwenden, um die Zahl in Zelle A1 zu verschlüsseln.
  2. Mit einer Formel:

    • Wenn Deine Zahl in Zelle A1 steht, kannst Du auch folgende Formel verwenden:
    =SUMMENPRODUKT(RECHTS(10-TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1);1) * 10^(LÄNGE(A1)-ZEILE(INDIREKT("1:"&LÄNGE(A1)))))
    • Diese Methode funktioniert für beliebige Längen von Zahlen.

Häufige Fehler und Lösungen

  • Fehler: Die UDF zeigt keinen Wert an.

    • Lösung: Stelle sicher, dass Du die Funktion korrekt in ein Modul eingefügt hast und die Formel in der Zelle korrekt aufgerufen wird (z.B. =verschluesseln(T1)).
  • Fehler: Die Formel gibt unerwartete Werte zurück.

    • Lösung: Überprüfe die Eingabewerte in A1 und stelle sicher, dass es sich um eine Zahl handelt.

Alternative Methoden

Wenn Du keine benutzerdefinierte Funktion verwenden möchtest, kannst Du auch die Formel zur Zeichenbearbeitung nutzen.

Eine einfache Möglichkeit besteht darin, die Zahlen zu drehen, indem Du sie in Text umwandelst und dann die Zeichen umkehrst. Hier eine Beispiel-Formel:

=TEXTVERKETTEN("", WAHL(TEIL(A1;SPALTE($A$1:$A$7);1)+1; "0"; "9"; "8"; "7"; "6"; "5"; "4"; "3"; "2"; "1"))

Diese Formel funktioniert, indem sie die einzelnen Ziffern auf der Basis der 0-9 Umkehrung bearbeitet.


Praktische Beispiele

  1. Beispiel 1: Du hast die Zahl 302785 in Zelle T1. Verwende die UDF, um sie in 708325 zu verschlüsseln.
  2. Beispiel 2: Mit der Formel zur Zeichenumkehrung kannst Du die Zahl 1234567 in 9876543 umkehren.

Testea die Funktionen mit verschiedenen Zahlen, um sicherzustellen, dass sie wie gewünscht funktionieren.


Tipps für Profis

  • Datenbankverwaltung: Wenn Du mit großen Datenmengen arbeitest (z.B. über 50.000 Zeilen), nutze die UDF, um Zeit zu sparen.
  • Formeloptimierung: Vermeide unnötige Berechnungen, indem Du nur die Zellen anvisierst, die tatsächlich bearbeitet werden müssen.
  • Fehleranalyse: Nutze die Excel-Debugging-Tools, um Probleme in Deinen Formeln schnell zu identifizieren.

FAQ: Häufige Fragen

1. Wie viele Zeichen können die verschlüsselten Zahlen haben? Die Methoden funktionieren mit beliebigen Längen, solange die Zahlen in der Excel-Zelle korrekt eingegeben sind.

2. Kann ich die UDF auch für andere Zwecke nutzen? Ja, Du kannst die UDF anpassen, um andere Arten von Daten zu verarbeiten, solange Du die Logik entsprechend änderst.

3. Benötige ich spezielle Excel-Versionen für diese Methoden? Die vorgestellten Methoden sind in den gängigen Excel-Versionen ab Excel 2010 verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige