Excel Funktion erstellen

Geocaching-Programme für Windows.

Moderator: Christian und die Wutze

Antworten
Benutzeravatar
The_Nightcrawler
Geowizard
Beiträge: 1099
Registriert: Mo 30. Aug 2010, 14:24
Wohnort: Saarbrücken
Kontaktdaten:

Excel Funktion erstellen

Beitrag von The_Nightcrawler » Di 15. Mär 2011, 12:24

Hi,

ich habe mal eine ganz blöde Frage, deren Lösung wahrscheinlich zu einfach ist und ich deshalb nicht drauf komme.

Ich habe mir einige Excel-Tools gebastelt, um Koordinaten von Mysteries nach Eingabe der Variablen automatisch auszurechnen.

Gibt es eine Funktion, um mir die Alphabets-Position von Buchstaben automatisch auswerfen zu lassen? Ich komm grad nicht drauf :???:

Vorgestellt hatte ich mir das so:

In Spalte A stehen die Buchstaben von A-Z, in Spalte B die dazugehörigen Zahlen von 1-26.
In Spalte C oder in einer Reihe ab 27, stehen die Lösungsbuchstaben. In einer anderen Reihe werden mir dann die Zahlenwerte ausgespuckt. Ich habs schon mit =SVERWEIS() versucht, aber da gibt es Probleme, da ja in Spalte A Buchstaben und in Spalte B Zahlen stehen.
Die "wenn" Funktion ist mir zu aufwändig, oder?


Hat da jemand einen Tip?

Danke schon mal vorab

Dirk
BildBild

Werbung:
Benutzeravatar
Schnueffler
Geoadmin
Beiträge: 9645
Registriert: Mi 7. Jul 2004, 08:08
Ingress: Enlightened
Wohnort: Rheinstetten
Kontaktdaten:

Re: Excel Funktion erstellen

Beitrag von Schnueffler » Di 15. Mär 2011, 12:30

Nein, nicht, dass ich wüsste. Ich habe aber mal ein VBA-Makro geschrieben, welches das übernehmen kann. Damit hast Du dann eine eigene Funktion, die Du problemlos in Deinem Sheet verwenden kannst.
Bild
Schnueffler's Blog
- Aktuelles aus der Cacherszene

DirtyFrank0815
Geocacher
Beiträge: 210
Registriert: Di 11. Aug 2009, 09:16
Wohnort: 66557 Illingen
Kontaktdaten:

Re: Excel Funktion erstellen

Beitrag von DirtyFrank0815 » Di 15. Mär 2011, 12:43

Weizenkeim1 hat geschrieben:In Spalte A stehen die Buchstaben von A-Z, in Spalte B die dazugehörigen Zahlen von 1-26.
In Spalte C oder in einer Reihe ab 27, stehen die Lösungsbuchstaben. In einer anderen Reihe werden mir dann die Zahlenwerte ausgespuckt. Ich habs schon mit =SVERWEIS() versucht, aber da gibt es Probleme, da ja in Spalte A Buchstaben und in Spalte B Zahlen stehen.
ich habs bei mir so aufgebaut:
Spalte A: A-Z
Spalte B: 1-52
Spalte C: 2x A-Z

so kann ich mir über Sverweis(Zelle mit dem Buchstabe;Suchbereich (Spalte A Buchstabe A bis Spalte B Zahl 26);2;Falsch) den Zahlenwert des Buschstaben ausgeben lassen.

Weiterhin kann ich über Angabe eines Zahlenwertes die Buchstaben im Alphabet verschieben und automatisch codieren lassen. Bei Zahl 13 ist das die ROT13 Verschlüsselung für den Hint
Sverweis(Zelle mit deZahl;Suchbereich (Spalte B Zahl 1 bis Spalte C Buchstabe 2. Z);2;Falsch)
Bei Bedarf kann ich die Datei gerne zuschicken. Kann zum Beispiel auch damit Peilungen berechnen oder Entfernung und Richtung zwischen 2 Punkten
Wir sind wie der Wind, man sperrt uns nicht ein. Wild und frei, so sollen wir sein.

NoPogo
Geomaster
Beiträge: 685
Registriert: Sa 16. Jul 2005, 12:10
Wohnort: Nämbärch
Kontaktdaten:

Re: Excel Funktion erstellen

Beitrag von NoPogo » Di 15. Mär 2011, 12:44

Ein wenig Indirekt schon.
Man kann sich von einem Buchstaben den ASCII Code zurück geben lassen. davon noch 63 abziehen und man hat den gewünschten Wert.
Funktioniert erstmal nur bei Großbuchstaben. Bei Kleinbuchstaben müsste man 96 abziehen. Sollte sich aber mit einem IF THEN lösen lassen.
Tschau
NoPogo

Bild

Benutzeravatar
Schnueffler
Geoadmin
Beiträge: 9645
Registriert: Mi 7. Jul 2004, 08:08
Ingress: Enlightened
Wohnort: Rheinstetten
Kontaktdaten:

Re: Excel Funktion erstellen

Beitrag von Schnueffler » Di 15. Mär 2011, 13:05

Code: Alles auswählen

Public Function BWW(szWort As String) As Integer

    Dim nWert As Integer
    

    If Len(szWort) = 0 Then
        BWW = 0
        Exit Function
    End If
    
    For n = 1 To Len(szWort)
        Buchstabenwert = Asc(Mid(szWort, n, 1))
        If (Buchstabenwert >= 65 And Buchstabenwert < 90) Or (Buchstabenwert >= 97 And Buchstabenwert < 122) Then
            If Buchstabenwert >= 65 And Buchstabenwert <= 90 Then
                Buchstabenwert = Buchstabenwert - 64
            Else
                Buchstabenwert = Buchstabenwert - 96
            End If
            BWW = BWW + Buchstabenwert
        Else
            Select Case Buchstabenwert
                Case 228
                    BWW = BWW + 27
            End Select
        End If
    Next n
End Function
Bild
Schnueffler's Blog
- Aktuelles aus der Cacherszene

Benutzeravatar
qraxler
Geocacher
Beiträge: 108
Registriert: Mo 4. Okt 2010, 16:03
Wohnort: Rhein-Main-Gebiet

Re: Excel Funktion erstellen

Beitrag von qraxler » Di 15. Mär 2011, 13:34

=Code(Upper(A1))-64

Ich hab leider nur die englische Excel-Version zur Hand.

Gruß
qraxler
Bild

Benutzeravatar
larualis
Geocacher
Beiträge: 46
Registriert: Sa 4. Dez 2010, 12:36
Wohnort: Sinzheim

Re: Excel Funktion erstellen

Beitrag von larualis » Di 6. Sep 2016, 13:35

Uralter Thread, ich weiß.
Schnueffler, vielen Dank für die Vorlage! So etwas habe ich lange gesucht. Ich habe Dein Script ein klein wenig entschlackt und für ö, ü, ß und die Ziffern ergänzt:

Code: Alles auswählen

Function BWW(szWort As String) As Integer

    Dim nWert As Integer
    BWW = 0

    If Len(szWort) = 0 Then
        BWW = 0
        Exit Function
    End If
   
    For n = 1 To Len(szWort)
        Buchstabenwert = Asc(Lcase(Mid(szWort, n, 1)))
        If (Buchstabenwert >= 97 And Buchstabenwert < 122) Then
            Buchstabenwert = Buchstabenwert - 96
            BWW = BWW + Buchstabenwert
        Elseif (Buchstabenwert >= 48 And Buchstabenwert < 57) Then
       	    Buchstabenwert = Buchstabenwert - 48
            BWW = BWW + Buchstabenwert
        Else
            Select Case Buchstabenwert
                Case 228
                    BWW = BWW + 27
                Case 246
                    BWW = BWW + 28
                Case 252
                    BWW = BWW + 29
                Case 223
                    BWW = BWW + 30
            End Select
        End If
    Next n
End Function
Wenn man die Ziffern nicht berücksichtigen will, einfach den Elseif-Block (3 Zeilen) auskommentieren. Will man andere Sonderzeichen berücksichtigen oder ä, ö, ü, ß andere Werte zuweisen, dann den untersten Block editieren oder ergänzen.

Viele Grüße und sorry für's "Leichenfleddern". ;)
larualis

Benutzeravatar
larualis
Geocacher
Beiträge: 46
Registriert: Sa 4. Dez 2010, 12:36
Wohnort: Sinzheim

Re: Excel Funktion erstellen

Beitrag von larualis » Sa 1. Okt 2016, 11:29

In meinem Script war leider ein Fehler, hier die korrigierte Fassung:

Code: Alles auswählen

REM  *****  BASIC  *****

Function BWW(szWort As String) As Integer

    Dim nWert As Integer
    BWW = 0

    If Len(szWort) = 0 Then
        BWW = 0
        Exit Function
    End If
   
    For n = 1 To Len(szWort)
        Buchstabenwert = Asc(Lcase(Mid(szWort, n, 1)))
        If (Buchstabenwert > 96 And Buchstabenwert < 123) Then
            Buchstabenwert = Buchstabenwert - 96
            BWW = BWW + Buchstabenwert
        Elseif (Buchstabenwert > 47 And Buchstabenwert < 58) Then
        	Buchstabenwert = Buchstabenwert - 48
            BWW = BWW + Buchstabenwert
        Else
            Select Case Buchstabenwert
                Case 228
                    BWW = BWW + 27
                Case 246
                    BWW = BWW + 28
                Case 252
                    BWW = BWW + 29
                Case 223
                    BWW = BWW + 30
            End Select
        End If
    Next n
End Function

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder