Ich schreibe gerade eine Datei mit (musikalischen)Akkordbezeichnungen (wie z.B. C7+ oder Cm oder A7).
Endziel soll sein, alle Akkorde auf "Knopfdruck" in Halbtonschritten transponieren zu können.
Der Akkord wird über eine vorher angelegte Gültigkeitsliste in Zelle B2 eingetragen, z.B.: C (steht für C-Dur)
In Zelle C2 möchte ich diesen Akkord jetzt um so viele Halbtöne nach oben transponieren, wie ich es in Zelle A1 vorgebe.
Wenn ich also in A1 eine 2 (für 2 Halbtöne) eintrage, soll in Zelle C2 ein D stehen (analog der Tonleiter also 2 Halbtöne nach oben), wenn ich aber nur um einen Halbton nach oben will, darf das Ergebnis nicht D sein sondern muss C# (oder wahlweise: Db) lauten.
Mit folgender Formel mache ich mir bereits die ASCII-Codes der Notenbezeichnungen zu nutze, da diese ja alphabetisch angelegt sind (A-Tonleiter: A,B,C,D,E,F,G), indem ich das linke Zeichen der Zelle B2 auslese, dessen code um den Eintrag in Zelle A1 erhöhe und den Rest der Zelle B2 einfach wieder dranhänge.
=WENN(B2="";"";ZEICHEN(CODE(LINKS(B2;1))+$A$1)&TEIL(B2;2;LÄNGE(B2)-1))
Mein Problem: Mit Ganztonschritten ist das alles kein Problem.
Aber mit Halbtonschritten komme ich - wie beschrieben - nicht weiter.
Habt ihr eine Idee?
Danke bereits und viele Grüße
Boris