Ein kniffliges Excel Rätsel?
Hallo, ich habe ein Problem:
Ich will wissen wie viele Pakete bereits verschickt wurden, jedoch gibt es nur eine Paket ID aus Buchstaben und Zahlen, Beispiele:
- 1AAE1
- 1AAE2
- 1AAE3
Also eine fortlaufende Codierung, es fängt bei 0001 an und geht hoch bis 0009 und dann kommt 000A und nach 000Z kommt dann 0010 und soweiter also alle 36 Pakete wird die vorstehende Zahl erhöht bis dann irgendwann ZZZZ erreicht ist.
Jetzt will ich aber wissen wie viele Pakete schon verschickt sind.
Ich habe schon versucht das irgendwie auszurechnen indem ich die ID in ihre Bestandteile zerlegt habe, aber das klappt irgendwie nicht so gut:
Ich weiß das 000Z 36 Pakete bedeutet und Paket 37 ist 0010 und wenn ich dazu nochmal 37 dazurechne bin ich bei Paket 74 mit der ID 0020. Das lässt sich noch gut und sicher ausrechnen, aber das wievielte Paket die 1CQR ist, ist ein Mysterium 🤯😵
Kennt jemand eine Möglichkeit wie man Excel dazu bringen kann entsprechend zu zählen?
3 Antworten
Ich weiß das 000Z 36 Pakete bedeutet und Paket 37 ist 0010 und wenn ich dazu nochmal 37 dazurechne bin ich bei Paket 74 mit der ID 0020.
Das ist falsch
- Paket 36 wäre 000Z nur dann, wenn du Paket 1 mit dem Code 0000 bezeichnest (Also eigentlich die Zahl 0 für Paket 1 vergibst)
- Paket 37 Wäre dann 0010
- Da es aber nur 36 verschiedene Zeichen gibt die als Endung verwendet werden können, fallen die Cods die mit 001 beginnen auf die Pakete 37 - 72
- 0020 wäre somit das 73. Paket
Nun zu deiner Frage
ich kenne keine Funktion in Excel, die mit dem Hexatridezimalsystem arbeitet
Wenn du die Zahl nur umrechnen möchtest, geht das natürlich schon
Wenn du die Zahl in ihre einzelnen Ziffern aufteilst und jede Ziffer in ein eigenes Feld schreibst. Mit einer ellenlangen verschachtelten Wenn-Dann-Funktion könntest du die einzelnen Ziffern in die Werte 0 - 35 umwandeln. die 2. Stelle musst du dann noch mit 36 Multiplizieren, die dritte 2 mal mit 36 (mal 36 mal 36) usw. . Dann musst du nur noch ein Summenfeld der einzelnen Werte anlegen
Wenn deine Excel-Version relativ neu ist, kannst du die BASIS-Funktion ausprobieren, indem du als Basis 36 eingibst
https://support.microsoft.com/de-de/office/basis-funktion-2ef61411-aee9-4f29-a811-1c42456c6342
Dafür gibt es die Funktionen BASIS und DEZIMAL. Mit BASIS kannst du die Zahl in eine andere Basis umrechnen (z.B. =BASIS(63171; 36) = 1CQR) und mit DEZIMAL kannst du sie zurück ins 10er-System rechnen.
Also z.B. wenn in A1 die Werte drinstehen, dann geht es so:
=DEZIMAL(A1;36)
Die Funktion arbeitet genau. Du kannst auch selbst die Zahlensysteme umrechnen. 1IGL = 1*36^3 + 18*36^2 + 16*36 + 21 = 70581
Wie die Paketnummer und die Prüfnummer in deinem System zusammenarbeiten, kann ich natürlich nicht sagen. Vielleicht werden Paketnummern auch mehrfach vergeben oder die Prüfnummern werden auch bei Stornos weitergezählt.
Das Problem ist, dass die Prüfnummer immer einer ID zugeordnet ist und keines von beiden ohne sein kann bzw das bei gleicher ID auch immer die gleiche Prüfnummer kommt bzw ungekehrt, ergo muss die ID bzw die Prüfnummer irgendwie aus dem anderen berechnet werden und diese Formel suche ich weil ich die nicht habe.
Hast du vielleicht Unterlagen von dem System oder kannst mit demjenigen reden, der das System aufgebaut hat? Prüfnummern haben normalerweise irgendein spezielles System (z.B. basieren auf Primzahlen), damit Zahlendreher oder fehlerhafte Eingaben sicher erkannt werden können. Das System nur durch probieren rauszukriegen, dürfte aber fast unmöglich sein.
Ich bekomme nur das Ergebnis zu sehen und das folgt nach meinen Beobachtungen der Logik das die Prüfnummer um 1 steigt wenn die ID zb von 1AEA auf 1AEB wechselt und um 3 steigt wenn sie dann auf 1AEE steigt. Weshalb es irgendwie keinen Sinn ergibt warum sich das nicht berechnen kann weil ich mir die Mühe ersparen will alle möglichen IDs und Prüfnummern einzugeben.
Das funktioniert zwar, aber die Prüfnummer (Die angibt wie viele Pakete es vor diesem gegeben hat) ist irgendwie nicht korrekt:
Bei 1IGL sollte 127644 stehen, aber laut der Funktion ist es erst 70581 und wenn ich 57063 dazurechne, stimmen die nachfolgenden Zahlen wieder aber 1J7Q ist 128621 obwohl es 128846 sein soll.
Kann es sein das die Funktion ungenau arbeitet? Oder haben die Werte (ID und Prüfnummer) nichts mit einer zu tun🤔