0

Zähler/Index mit Buchstaben

Hallo zusammen,

Ich würde gerne einen Index mit Buchstaben realisieren.

Also AA -> AB -> AC

bzw.

AA + 1 = AB

AB + 2 = AD

lässt sich das irgendwie realisieren? Über eine ALT-Nr oder so ähnlich? Bei Excel gibts zB die Formel =Zeichen(55)

 

Vielen Dank im Voraus

Johannes

2 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Johannes, da man mit Buchstaben ja nicht rechnen kann, müsste dem Index wohl ein numerischer zugrunde liegen. Das heißt, man bräuchte eine Zahl (unten als Feld namens 'Nummer'), die sich dann in eine Buchstabenkombination umwandeln ließe:

     

    let myIndex := "";
    let myABC := ["", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
    let myGanz := floor(Nummer / 26);
    let myRest := Nummer % 26;
    if myRest = 0 then
    myGanz := myGanz - 1;
    myRest := 26
    end;
    for i from 0 to myGanz do
    myIndex := myIndex + "A"
    end;
    myIndex + item(myABC, myRest)

     

    Wie immer ohne Gewähr und ohne jeglichen Anspruch auf Eleganz.

    • john_eans
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo,

    es war auf jeden Fall der richtige Denkanstoß. Ich hab es noch etwas abgeändert:

    let num := number(Projektnummer) - 1;
    let myABC := ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
    let LEN := cnt(myABC);
    let AA := floor(num / (LEN * LEN));
    let BB := floor((num - AA * LEN * LEN) / LEN);
    let CC := num % LEN;
    item(myABC, AA) + item(myABC, BB) + item(myABC, CC)