Matrix auswerten

Hallo Spezies :smile:

Folgende Aufgabenstellung habe ich auf den Tisch bekommen und suche eine elegante Lösung.

  1. Ein Eingabewert muss an Hand von einer Tabelle (17 Zeilen / 5 Spalten) auf grösser oder kleiner geprüft werden um in Abhängigkeit davon einen Wert aus der Tabelle anzunehmen.

Als Beispiel:
10
20
30

170
Ist der Eingabewert 17, muss nach unten abgerundet der Wert-1 10 eingestellt werden.
Ist der Eingabewert 63, muss der Wert-1 60 eingestellt werden.
Ist der Eingabewert > 169, muss der Wert-1 10 eingestellt werden.

An Hand diesen Wert-1 + Wert-2 muss anschliessend eine Matrix zeilen- und spaltenweise ausgelesen werden.

Wert-1 bestimmt die Zeile(17) und Wert-2 die Spalte(5).

Wert-2
Wert-1 1 2 3 4 5
10 A B C D E
20 F G H I J
30 K L M N O

170 A B C D E

Wert-1 = 20
Wert-2 = 3
Rückgabewert in Feld A6 (Beispiel) = „H“

Schon mal herzlichen Dank im Voraus! :smile:
Wander

Hallo Wander,

Folgende Aufgabenstellung habe ich auf den Tisch bekommen und
suche eine elegante Lösung.

suche auf http://www.excelformeln.de da wirste fündig.

Und benutze den pre-Tag dann sieht deine Tabelle nicht so aus

Wert-2
Wert-1 1 2 3 4 5
10 A B C D E
20 F G H I J
30 K L M N O

170 A B C D E

sondern so:

 Wert-2
Wert-1 1 2 3 4 5
10 A B C D E
20 F G H I J
30 K L M N O
...
170 A B C D E

Gruß
Reinhard

Hallo Reinhard,
danke für den Tip.

Allerdings hilft mir Dein Link nicht wirklich weiter :frowning:
Teil 2 habe ich mittlerweile selbst lösen können.

Was bleibt ist die 17fache Abfrage eines Wertes:

Als Beispiel:
10
20
30

170
Ist der Eingabewert 17, muss nach unten abgerundet der Wert-1 10 eingestellt werden.
Ist der Eingabewert 63, muss der Wert-1 60 eingestellt werden.
Ist der Eingabewert > 169, muss der Wert-1 10 eingestellt werden.

Beste Grüße
Wander

Grüezi Wnader

Was bleibt ist die 17fache Abfrage eines Wertes:

Als Beispiel:
10
20
30

170
Ist der Eingabewert 17, muss nach unten abgerundet der Wert-1
10 eingestellt werden.
Ist der Eingabewert 63, muss der Wert-1 60 eingestellt werden.

Diesen hier kannst Du mit der folgenden Formel ‚erschlagen‘:

=KÜRZEN(A1;-1)

Ist der Eingabewert > 169, muss der Wert-1 10 eingestellt
werden.

…aber damit bekommst Du die 170 nie hin (ausser die letzte Zeile war ein Schreifehler, dann passt die Formel auch hier teilweise).
So passt es dann für alle Werte:

=MIN(KÜRZEN(A1;-1);170)

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Moin moin Thomas,

ich habe es mittlerweile anders lösen können und habe 3 WENN-Verschachtelung erstellt.

=WENN(D42

Hallo Wander,

ich habe es mittlerweile anders lösen können und habe 3
WENN-Verschachtelung erstellt.

=WENN(D42

Grüezi Wander

ich habe es mittlerweile anders lösen können und habe 3
WENN-Verschachtelung erstellt.

=WENN(D42

Moin moin Thomas;

vielleicht habe ich es nicht deutlich genug erklärt. Ich versuch es noch einmal zu erklären. Ich bekomme ein Wert welches ich an Hand von einer Skala von 17 Stufen(Werten) einstufen muss.

Als Beispiel.
Ist der Betrag 1700, dann befindet sich der Betrag zwischen 1500 und 1750 und soll den nächstniedrigen Wert 1500 bekommen. Der Betrag aus Feld-1 soll also an nächster Tabelle geprüft werden und immer den nächstniedrigen Wert in Feld-2 annehmen. Ab 5000 bleibt es bei 5000.

1.000 €
1.250 €
1.500 €
1.750 €
2.000 €
2.250 €
2.500 €
2.750 €
3.000 €
3.250 €
3.500 €
3.750 €
4.000 €
4.250 €
4.500 €
4.750 €
5.000 €

Wie da ein KÜRZEN funktionieren soll entgeht meine Excel-Kenntnisse.

Beste Grüße
Wander

Hoi Reinhard,
genau wegen der Begrenzung bei der Verschachtelung habe ich 3 WENN`s gestartet.

Als Beispiel, lediglich im 2ten WENN traf die Bedingung zu, dann ergab sich z.B. in der Addition:

0
1500
0

1500 u.s.w.

Natürlich habe ich in der 2ten / 3ten WENN-Abfrage der vorheriger und abgefragten Bereich genullt :smile: Als Beispiel der Bereichsspektrum in der WENN-Abfrage:

1000 - 1999
2000 - 2999 WENN 0
3000 - 3999 WENN 0

Beste Grüße
Wander

Grüezi Wander

vielleicht habe ich es nicht deutlich genug erklärt. Ich
versuch es noch einmal zu erklären. Ich bekomme ein Wert
welches ich an Hand von einer Skala von 17 Stufen(Werten)
einstufen muss.

Ja, das ist halt immer das Problem, wenn die Beispeiel derart stark abstahiert weden, dass sie mit der eigentlichen Anwendung nicht mehr viel zu tun haben :wink:

Ist der Betrag 1700, dann befindet sich der Betrag zwischen
1500 und 1750 und soll den nächstniedrigen Wert 1500 bekommen.
Der Betrag aus Feld-1 soll also an nächster Tabelle geprüft
werden und immer den nächstniedrigen Wert in Feld-2 annehmen.
Ab 5000 bleibt es bei 5000.

1.000 €
1.250 €
1.500 €
1.750 €
2.000 €
2.250 €
2.500 €
2.750 €
3.000 €
3.250 €
3.500 €
3.750 €
4.000 €
4.250 €
4.500 €
4.750 €
5.000 €

Wie da ein KÜRZEN funktionieren soll entgeht meine
Excel-Kenntnisse.

Ja, das kann so auch nicht klappen, da die einzelnen Werte anders als in deinem Beispiel nicht auf ganze 10-er gekürzt werden können.
Ich vermute auch hier noch immer, dass Du dein Anliegen nicht vollumfänglich geschildert hast, aber wie dem auch sei:

Wenn ich davon ausgehe, dass deine Liste hier das ist was Du als Ergebnis haben möchtest, dann kannst Du das Ganze wsogar noch einfacher lösen, indem Du einen SVERWEIS() verwendest.

Schreibe deine Beträge einfach aufsteigend sortiert in einer Spalte untereinander (ich habe hier E1:E17 genommen) und verwende dann die folgende Formel (in B1 und nac hunten kopieren) wie hier im Beispiel gezeigt. Wenn Du andere Werte aus der Matrix haben willst, die von den ermittelten abhängen kannst Du diese neuen Werte einfach in F1:F17 schreiben, den Bereich in der SVERWEIS()-Formel erweitern und Spalte 2 daraus zurückgeben lassen - eine mehrstufige Umrechnung ist dazu nicht notwendig.

B1:
=SVERWEIS(A1;$E$1:blush:E$17;1;1)

 A B C D E
1 6789 5000 1000
2 5754 5000 1250
3 8482 5000 1500
4 7770 5000 1750
5 3027 3000 2000
6 6315 5000 2250
7 6670 5000 2500
8 6042 5000 2750
9 4695 4500 3000
10 4577 4500 3250
11 2452 2250 3500
12 3925 3750 3750
13 4503 4500 4000
14 1152 1000 4250
15 5235 5000 4500
16 2347 2250 4750
17 7626 5000 5000

BTW:
Was soll geschehen wenn dein Ausgangswert kleiner ist als 1000?

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -