EXCEL Zahlen andere Zahlen zuordnen

  • #1
S

Steffen18

Guest
Hallo ihr lieben,
ich hab folgendes Problem:
Ich bin gerade dabei eine Notentabelle für meine Schulnoten zu erstellen.
Hab auch bis jetzt alles wunderbar hinbekommen nur jetzt habe ich ein Problem.
Ich bin in der 12. Klasse (Gym) und ab hier wird in Punkten gerechnet.
Nun hätte ich gerne, dass die Punkte in Noten, so wie früher, angezezigt werden.
Mit WENN(A1=15;0,75;WENN(A1=14;1;.....)) klappt es niht, weil ich nur sieben (!) WENN´s ineinander verschachtel kann. ich bräuchte aber 15.
Wie kann man nun einer Zahl zwischen 1-15 eine andere Zahl 1-6 zuweisen?

Hier der vergleich:
15 = 0,75
14 = 1
13 = 1,25
12 = 1,75
11 = 2
10 = 2,25
9 = 2,75
8 = 3
7 = 3,25
6 = 3,75
5 = 4
4 = 4,25
3 = 4,75
2 = 5
1 = 5,25
0 = 6

Problem die Notenabstände sind NICHT immer gleich, es entfallen nämlich die halben Noten 1,5 , 2,5 , ... deswegen kann man das Problem nicht rechnerisch lösen. laub ich :)

vielen Dank,
Euer Steffen
 
  • #2
Hallo,

ich würde das mit einer Matrix lösen:
Code:
=INDEX({6.5,25.5.4,75.4,25.4.3,75.3,25.3.2,75.2,25.2.1,75.1,25.1.0,75};Punktzahl+1)
Für Punktzahl setzt Du einen passenden Bezug ein.
 
  • #3
Hallo zusammen,

ich würde mir 2 Umrechnungs-Funktionen schreiben:
- PunkteInNoten
- NotenInPunkte

Folgenden Code in ein Modul der Mappe kopieren:
Code:
Option Explicit

Function NotenInPunkte(Zelle As Range) As Variant

  Dim dWert As Double
  
  On Error Resume Next
  dWert = Zelle.Value
  If Err.Number <> 0 Then
    Err.Clear
    On Error GoTo 0
    NotenInPunkte = #WERT
    Exit Function
  End If
  On Error GoTo 0
  
  Select Case dWert
    Case 0.75: NotenInPunkte = 15
    Case 1#:   NotenInPunkte = 14
    Case 1.25: NotenInPunkte = 13
    Case 1.75: NotenInPunkte = 12
    Case 2#:   NotenInPunkte = 11
    Case 2.25: NotenInPunkte = 10
    Case 2.75: NotenInPunkte = 9
    Case 3#:   NotenInPunkte = 8
    Case 3.25: NotenInPunkte = 7
    Case 3.75: NotenInPunkte = 6
    Case 4#:   NotenInPunkte = 5
    Case 4.25: NotenInPunkte = 4
    Case 4.75: NotenInPunkte = 3
    Case 5#:   NotenInPunkte = 2
    Case 5.25: NotenInPunkte = 1
    Case 6#:   NotenInPunkte = 0
    Case Else: NotenInPunkte = #WERT
  End Select

End Function

Function PunkteInNoten(Zelle As Range) As Variant
  
  Dim lWert As Long
  
  On Error Resume Next
  lWert = Zelle.Value
  If Err.Number <> 0 Then
    Err.Clear
    On Error GoTo 0
    PunkteInNoten = #WERT
    Exit Function
  End If
  On Error GoTo 0
  
  Select Case lWert
    Case 15: PunkteInNoten = 0.75
    Case 14: PunkteInNoten = 1#
    Case 13: PunkteInNoten = 1.25
    Case 12: PunkteInNoten = 1.75
    Case 11: PunkteInNoten = 2#
    Case 10: PunkteInNoten = 2.25
    Case 9:  PunkteInNoten = 2.75
    Case 8:  PunkteInNoten = 3#
    Case 7:  PunkteInNoten = 3.25
    Case 6:  PunkteInNoten = 3.75
    Case 5:  PunkteInNoten = 4#
    Case 4:  PunkteInNoten = 4.25
    Case 3:  PunkteInNoten = 4.75
    Case 2:  PunkteInNoten = 5#
    Case 1:  PunkteInNoten = 5.25
    Case 0:  PunkteInNoten = 6#
    Case Else: PunkteInNoten = #WERT
  End Select
End Function

Steht in Zelle B2 15 Punkte kann in C2 die Umrechnungsfunktion in eine Formel eingesetzt werden:
Code:
=PunkteInNoten(B2)
. Diese Note kann in D2 mit der Formel
Code:
=NotenInPunkte(C2)
wieder in Punkte umgerechnet werden.

#WERT wird ausgegeben, wenn die Umwandlung nicht vollzogen werden kann.

Gruß Matjes :)
 
  • #4
Hallo Steffen18,

Mit WENN(A1=15;0,75;WENN(A1=14;1;.....)) klappt es niht, weil ich nur sieben (!) WENN´s ineinander verschachtel kann. ich bräuchte aber 15.
Mit ODER kann man das noch etwas erweitern  ;)

Steht in A2 Punkte, dann kann man mit folgender Formel daraus Noten machen.
Code:
=
WENN(ODER(A2=15;A2=14;A2=13;A2=12;A2=11;A2=10);
WENN(A2=15;0,75;
WENN(A2=14;1;
WENN(A2=13;1,25;
WENN(A2=12;1,75;
WENN(A2=11;2;2,25)))));
WENN(ODER(A2=9;A2=8;A2=7;A2=6;A2=5;A2=4);
WENN(A2=9;2,75;
WENN(A2=8;3;
WENN(A2=7;3,25;
WENN(A2=6;3,75;
WENN(A2=5;4;4,25)))));
WENN(ODER(A2=3;A2=2;A2=1;A2=0);
WENN(A2=3;4,75;
WENN(A2=2;5;
WENN(A2=1;5,25;6)));#WERT)))
Steht in B2 Noten, dann kann man mit folgender Formel daraus Punkte machen.
Code:
=
WENN(ODER(B2=6;B2=5,25;B2=5;B2=4,75;B2=4,25;B2=4);
WENN(B2=6;0;
WENN(B2=5,25;1;
WENN(B2=5;2;
WENN(B2=4,75;3;
WENN(B2=4,25;4;5)))));
WENN(ODER(B2=3,75;B2=3,25;B2=3;B2=2,75;B2=2,25;B2=2);
WENN(B2=3,75;6;
WENN(B2=3,25;7;
WENN(B2=3;8;
WENN(B2=2,75;9;
WENN(B2=2,25;10;11)))));
WENN(ODER(B2=1,75;B2=1,25;B2=1;B2=0,75);
WENN(B2=1,75;12;
WENN(B2=1,25;13;
WENN(B2=1;14;15)));#WERT)))
Gruß Matjes :)

ps: bzgl. Änderung
Formeln sind nicht geändert. Es sind nur Zeilenvorschübe eingefügt.
 
  • #5
Ola,

Ihr wisst ja, ich hab eine Schwäche für eingebaute Funktionen: Ich hätte das einfach mit SVERWEIS und einer Suchtabelle gelöst ;)
 
  • #7
Ola,

ich hab auch eine Schwäche für Makros, wenn Funktionen nicht wirklich geeignet sind mml
 
  • #8
PCDjoe schrieb:
Ola,

ich hab auch eine Schwäche für Makros, wenn Funktionen nicht wirklich geeignet sind  mml

Hallo PCDjoe

Danke für das Gespräch, da bin ich leider anderer Meinung.

Sorry!

Eine Antwort hatte ich auf meine Anfrage im letzten Posting aber schon erwartet.
Dachte schon du bist in Urlaub und kannst desshalb nicht Antworten!

Habe mir einmal deine letzten Postings angeschaut, wenn ich diese mit Matjes Postings vergleiche,
Na Ja kannst dir ja Denken.

Der eine bietet wirklich Hilfe an, der andere streut nur .... und erwartet vieleicht auch noch eine Kluge Antwort.
Dann lieber die Hilfe von Matjes mit Hand und Fuß!

Gruß karl
 
  • #9
Ola,

also darum geht es ... Ich gehe Deiner Kritik mal auf den Grund ...
 
  • #10
Ola,

ich kann nur noch die Lösung mit der Funktion nachreichen, da das Kind schon im Brunnen ist.

Es ist richtig, dass Funktionen nur bis zu sieben Ebenen verschachtelt werden können. Das ist meist ausreichend, aber eben im angesprochenen Problem nicht.
Deshalb bietet Exel für solche Probleme die Verweisfunktion:
SVERWEIS in senkrecht angeordneten Tabellen und WVERWEIS in waagerechten.

Um die Funktion SVERWEIS zu nutzen, muss zuerst die Tabelle vorbeitetet werden.
Es geht ja um Punkte in Noten:
Also zuerst aufsteigend anordnen, so, wie das oben sichtbar ist, nur umgekehrt
Mit einem Namen versehen (bsp. Suchtabelle)
 Ich hab also die Tabelle von A1 bis B16 Suchtabelle genannt, die Zelle E1 heißt Punkte und in E2 schreib ich jetzt die Formel:
Code:
=SVERWEIS(Punkte;Suchtabelle;2)
die 2 in der Formel steht für die zweite Spalte.

Excel nimmt also die Zahl aus E1, durchsucht die Spalte 1 der Suchtabelle und kommt bei treffer mit dem Ergebnis aus Spalte zwei zurück.

Beipsiel im Anhang ;-)
 
  • #11
Was ist denn mit diesem Thread passiert? Im Firefox (1.5.0.9) ist die Darstellung viel zu breit (ca. 250%)
 
  • #12
Hallo IrksEye

Auch in Opera:
Ursache vermutlich wohl der langer Code von Matjes « Antwort #3 am: Heute um 08:02:12 »

*********************************************************************
Hallo PCDjoe

Danke für die Nachreichung von =SVERWEIS(Punkte;Suchtabelle;2)

Gruß karl
 
Thema:

EXCEL Zahlen andere Zahlen zuordnen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben