Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Lookup-Formel gesucht
#1
Hallo,

ich habe hier ein ziemlich kompliziertes mathematisches Problem zu lösen. Eigentlich wollte ich fragen, wie das mit einer Excel-Formel geht, aber ich kann es ja schon nichtmal beschreiben. Also gehe ich einen anderen Weg: Ich überlege mir die Lösungen für alle Zahlen von 1 bis 16 (mehr brauche ich nicht) und möchte die von Excel nur übersetzt haben.

So eine Übersetzung geht wie folgt:

1 → 1
2 → 1
3 → 3
4 → 1
5 → 4
6 → 3
7 → 4
8 → 2
9 → 4
10 → 2
11 → 4
12 → 3
usw.

Das könnte ich jetzt mit 16-fach verschachtelten Wenndann-Funktionen machen. Gibt's da nicht auch was einfacheres, wo ich nur beide Listen (oder nur die Ergebnisliste) angebe? Sozusagen das hier in J‌avaScript:

n => [1, 1, 3, 1, 4, 3, 4, 2, 4, 2, 4, 3, ...][n - 1]

Oder in SQL:

case n when 1 then 1 when 2 then 1 when 3 then 3 when 4 then 1 when 5 then 4 ... end
Antworten Top
#2
Hola,

erstell die Liste mit den Werten und was daraus werden soll und hol dir die Werte mit einem Sverweis.
https://www.online-excel.de/excel/singsel.php?f=9
Gruß,
steve1da
Antworten Top
#3
Hallöchen,

oder auch ohne Liste im Prinzip so. Für gleiche Ergebnisse könnte man die Prüfungen auch mit ODER zusammenfassen.

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
111
221
333

ZelleFormel
B1=(A1=1)*1+(A1=2)*1+(A1=3)*3
B2=(A2=1)*1+(A2=2)*1+(A2=3)*3
B3=(A3=1)*1+(A3=2)*1+(A3=3)*3
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.2) erstellt. ©Gerd alias Bamberg

oder noch einfacher nach diesem Prinzip - in geschweiften Klammern kommt Deine Ergebnisliste:
=--INDEX({"1"."1"."3"."1"."4"};1;A1)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • ygoe
Antworten Top
#4
Hi,

noch 'ne Variante (funktioniert allerdings nur mit einstelligen Ergebnissen:
=--TEIL("1131433424243...";A1;1)

Und noch eins:
=WAHL(A1;1;1;3;1;...)

Meist wird jedoch dies verwendet:
Die schreibst deine Ergebnisse untereinander z.B. von X2:X17 und verwendest dann die Formel
=INDEX($X$2:$X$17;A1)
Wenn deine Ausgangswerte höhere Zahlen sind, dann in Y2:Y17 die Ausgangswerte (aufsteigend sortiert) und in Z2:Z17 die Ergebnisse
=SVERWEIS(A1;$Y$2:$Z$17;2;WAHR)
Aber Achtung! Wenn hier ein nicht vorhandener Ausgangswert in A1 steht liefert die Formel dennoch ein Ergebnis und zwar vom nächst kleineren Wert. Ist die Ausgangsliste nicht sortiert wird meist ein falsches Ergebnis zurückgegeben. Bei 
=SVERWEIS(A1;$Y$2:$Z$17;2;FALSCH)
passiert beides nicht. Kommt der Ausgangswert nicht vor, gibt es einen Fehler. Die Spalte muss nicht sortiert sein, Dafür benötige der Befehl aber erheblich mehr Rechenzeit.

Bei neuem Excel gibt es auch
=XVERWEIS(A1;$Y$2:$Y$17;$Z$2:$Z$17;"kein Wert;0;2)
das ist schnell (wenn sortiert), liefert auf Wunsch genaue Ergebnisse und nicht unbedingt einen Fehler, sondern eine beliebige Reaktion darauf (hier "kein Wert"). Außerdem braucht die Suchspalte nicht unbedingt links von der Ergebnisspalte und auf gleicher Höhe stehen.

In deinem Fall (Ausgangswerte 1:16) dürfte die INDEX-Variante das Einfachste sein.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • ygoe
Antworten Top
#5
Danke, die WAHL-Funktion ist noch besser als die lange Multiplikation. Und sie scheint auch sehr vielseitig einsetzbar zu sein. Praktisch genau das if-then-else-else-..., das ich gesucht habe! Smile
Antworten Top
#6
REST iVm INDEX ist WAHL noch überlegen (und kürzer), wenn die Maximalzahl Argumente überschritten wird.
Antworten Top
#7
Ja, klar, für große Datenmengen ist ein separater Ort für die Daten sicherlich besser geeignet. Ich wollte mir diese separate Ablage sparen und einfach alles in einer Formel haben. Für solchen Kleinkram …
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste