Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

AW: und nochmal mit umgekehrter Logik

Forumthread: AW: und nochmal mit umgekehrter Logik

AW: und nochmal mit umgekehrter Logik
29.07.2024 11:02:14
[Julian]
hallo. ich habe eine excel tabelle. in spalte a stehen untereinander aufsteigend zahlen. in spalte b daneben steht ein code. dieser hat 5 buchstaben. bei jeder größeren zahl soll zuerst der 1. buchstabe von links von a-z zählen und dann wieder bei a anfangen. wenn er wieder bei a anfängt, soll der 2. buchstabe von links um einen buchstaben im alphabet weitergehen. wenn dieser bei z angekommen ist, soll er wieder bei a anfangen und der 3. buchstabe von links einen weitergehen. diese systematik soll für alle buchstaben gelten. es sollen keine sonderzeichen vorkommen. gibt es hierzu eine formel?

https://www.herber.de/bbs/user/171319.xlsx
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AW: und nochmal mit umgekehrter Logik
29.07.2024 11:57:32
Yal
hallo julian, ich glaube nicht, dass es mit formel geht. zwar gibt =basis(A2;36) ein ergebnis in dieser richtung, aber nicht genau was du brauchst. ich denke die lösung ist über eine sogennante user defined function. in dem fall postet folgende code in einem modul und verwende es als normale funktion in excel: public function zubstb(target) dim temp dim erg as string dim i if typeof target is range then target = target.value target = worksheetfunction.base(target, 26) for i = 1 to len(target) temp = asc(mid(target, i, 1)) select case temp case 48 to 58 '0 bis 9 erg = erg & chr(temp - 48 + 65) case 65 to 90 'a bis z erg = erg & chr(temp + 10) end select next zubstb = erg end function VG Yal
Anzeige
noch kürzer, schöner, veilleicht sogar schneller
29.07.2024 17:35:37
Yal
Public Function ZuBstb(Target)

Dim Temp
Dim Erg As String
Dim i
If TypeOf Target Is Range Then Target = Target.Value
Target = WorksheetFunction.Base(Target, 26)
For i = 1 To Len(Target)
Temp = Mid(Target, i, 1)
Erg = Erg & Chr(Asc(Temp) + IIf(IsNumeric(Temp), 17, 10))
Next
ZuBstb = Erg
End Function


VG
Yal
Anzeige
AW: AW: und nochmal mit umgekehrter Logik
29.07.2024 12:19:11
daniel
Hi
diese Formel ab B3
der Startwert in B2 muss manuell vorgeben werden.
=WENN(TEIL(B2;2;4)>"ZZZZ";TEIL(B2;1;1);WENN(TEIL(B2;1;1)="Z";"A";ZEICHEN(CODE(TEIL(B2;1;1))+1)))

&WENN(TEIL(B2;3;3)>"ZZZ";TEIL(B2;2;1);WENN(TEIL(B2;2;1)="Z";"A";ZEICHEN(CODE(TEIL(B2;2;1))+1)))
&WENN(TEIL(B2;4;2)>"ZZ";TEIL(B2;3;1);WENN(TEIL(B2;3;1)="Z";"A";ZEICHEN(CODE(TEIL(B2;3;1))+1)))
&WENN(TEIL(B2;5;1)>"Z";TEIL(B2;4;1);WENN(TEIL(B2;4;1)="Z";"A";ZEICHEN(CODE(TEIL(B2;4;1))+1)))
&WENN(TEIL(B2;5;1)="Z";"A";ZEICHEN(CODE(TEIL(B2;5;1))+1))


Gruß Daniel
Anzeige
AW: AW: und nochmal mit umgekehrter Logik
29.07.2024 12:32:59
daniel
Hi
wenn die Excelversion die Funktionen LET, TEXTKETTE und SEQUENZ kennt auch kürzer:

=LET(x;SEQUENZ(5);b;TEIL(B2;x;1);TEXTKETTE(WENN(TEIL(B2;x+1;4)>WIEDERHOLEN("Z";5-x);b;WENN(b="Z";"A";ZEICHEN(CODE(b)+1)))))


Gruß Daniel
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige