Zauberquadrate mit Excel lösen?
Hallo,
ich habe einene Excelkurs belegt und weiß auch ziemlich viel über das Programm und seine Funktionen. Das einzige worauf ich nicht komme: Wie kann man mit Excel ein Zauberquadrat/Magisches Quadrat lösen? Ich habe schon über Lösungsmöglichkeiten nachgedacht und auch wie verrrückt gegoogelt, aber keine vernünftige gefunden. Deshalb dachte ich mir, dass es bestimmt jemand von Euch weiß und mir helfen kann.
In dem Bild ist das Quadrat welches ich lösen möchte.
Schon mal Danke für Eure Ratschläge
Steak 97

4 Antworten
Hi,
eure Lösungen sind zwar gut aber nicht korrekt. Normalerweise sollen die Zahlen von 1-16 nur 1x verwendet werden.
1+16*2 =34 pro Zeile.
Lösung wäre:
7 - 1 -14 - 12
16 - 10- 5 - 3
9 - 15 - 4 - 6
2 - 8 - 11 - 13
Allerdings habe ich momentan wenig Zeit eine Excel Formel zu kreeieren.
Gruß Frederic
Hi, ich gebe dir Recht, weil ich eine Lösung ohne Excel gegeben habe.
Aber ich weiß dass ihr gut druaf seit allerdings falsche Parameter verwendet. Lösung mit 38 in der Zeile sind falsch. Der Wert muss 34 sein und zwar von 1-16 sind die Werte einmalig und wenn ich als Paar 16 und 2 nehme ich nicht 8 Paare hinbekomme mit den Restzahlen. Damit schränkst du Möglichkeiten an un kannst die Formel anpassen, bzw. du hast ein festes Ziel. Wenn ich mehr Zeit habe werde ich es mir nochmal durch den Kopf gehen.
Gruß Frederic
Ich denke, das ist eine Aufgabe für den Solver.
Leider habe ich mich mit dem auch noch nicht intensiver beschäftigt.
Immerhin habe ich trotzdem eine Lösung gefunden, siehe Screenshot.
Leider sind da auch Nullen mit dabei, was ja eigentlich nicht sein sollte.
Aber das kann man ihm bestimmt auch noch "austreiben".
Wenn ich mal mehr Zeit habe werde ich mich doch mal intensiver mit diesem Instrument beschäftigen.

Excel direkt ist dafür nicht geeignet. Hast du dich in deinem Excelkurs auch mit VBA beschäftigt? Damit ist es möglich. VBA ist Bestandteil von Excel.
Du solltest dich neben Basic mit dem Backtracking-Algorithmus vertraut machen.
Das hier ist eine Seite, wo der Backtracking-Algorithmus zur Lösung von Sudokus verwendet wird: http://thuemer.th.funpic.de/Programmierung/Sudoku/sudoku_diagramme.html
Ich hoffe, ich konnte dir den Weg weisen. Viel Spaß beim Tüfteln.
Oubyis Idee ist klasse!
Wenn du alle Werte größer als 0 haben möchtest, kannst du diese Regel den Nebenbedingungen hinzufügen. Ich habe das mal für d3 gemacht. Außerdem kann man noch ergänzen, dass die Diagonalen auch dem Summenwert entsprechen müssen.

Erstmal danke für deine Antwort, aber ein paar Fragen sind noch offen: Zum einen: Welches Excel verwendest Du? (ich habe 2007) Die andere Frage wäre: Welche Formel hast Du in die Zielzelle eingegeben? Bei mir kommt immer die "Fehlermeldung": "Zielzelle muss eine Formel enthalten!"
Könntest Du mir auch diese Frage noch beantworten?
In den Zellen, die als Wert 38 anzeigen stehen logischerweise die Summenformeln für das Quadrat.
In F2 also:
=SUMME(B2:E2)
Deine Lösung ist zwar korrekt, bringt nur dem Fragesteller nichts, weil er die Umsetzung in Excel erfragte.
Man könnte die Einzigartigkeit der Zahlen als zusätzliche NB definieren. Es ist nur die Frage, ob der Algorithmus es dann noch schafft.
Es sind schon bald so viele Nebenbedingungen, dass sich wirklich die Überlegung lohnt, die Lösung mit VBA (Teil von Excel) herbeizuführen, indem man über die vollständigen Kombinationen geht und bei Regelverletzung ganze Kombinationszweige übergehen kann.