Suche nach einer Möglichkeit, eine Excel-Tabelle zu erstellen, die aus einer linearen Punktemenge besteht. Diese Tabelle wird durch Eingabe von Xstart
, Xend
, Ystatrt
, Yend
und der Anzahl der Punkte erstellt. Alles sollte linear sein. Danke.
Antwort1
Folgendes funktioniert. Es erwartet die fünf angegebenen Eingaben in den Zellen E1:E5. Diese befinden sich in der ersten Zeile des LET()
Formeleditors. Wenn alle Eingabereferenzen in die erste Zeile gesetzt werden, sind sie leicht zu finden, wenn Änderungen erforderlich sind.
Die Eingaben ergeben die beiden äußeren Punkte. Die dazwischenliegenden Punkte werden ermittelt, indem Rise over Run
für jede Koordinate die Werte für die inneren Punkte des Bereichs berechnet werden.
Was die inneren Punkte ausfüllt, wird mithilfe von erstellt SEQUENCE()
. Die Gesamtzahl der Zeilen, die es erzeugt, ergibt sich aus „Punkte-1“, einer einzelnen verwendeten Spalte und einem Startwert von 0, sodass die erste Verwendung davon am Startpunkt keine Auswirkung hat, die Formel jedoch weiterhin für alle Zeilen mit der Anzahl „Punkte“ gültig ist, anstatt dass für den ersten Punkt eine eindeutige Formel verwendet werden muss und dann eine andere für den Rest. Und bei jedem Paar um 1 erhöht.
Man könnte ROUND()
auf jede beliebige Dezimalstelle runden oder auf gar keine. Wenn die Punktpaare selbst Ihr Ziel sind, wählen Sie eine Rundung, die dem gewünschten Grad an „Genauigkeit“ entspricht. Wenn diese Formel als Eingabe für eine andere Formel oder etwas wie ein Diagramm dienen soll und Ungleichmäßigkeiten durch die Rundung ein Problem darstellen, erhöhen Sie einfach die Dezimalstellen, bei denen die Rundung erfolgt, entsprechend oder entfernen Sie die Rundung ganz. Wenn 15-stellige Koordinaten kein Problem darstellen, warum sollte man sich dann überhaupt die Mühe machen, zu runden?
Decimals,2,
Wenn Sie die Rundung häufig ändern, fügen Sie sie der ersten Zeile hinzu. Fügen Sie am Ende der Zeile einen Term hinzu, der so aussieht: ... Ich werde das einfach in die Formel einfügen:
=LET(Xstart, E1, Xend, E2, Ystart, E3, Yend, E4, Points, E5-1, Decimals, 2,
Rise, Yend-Ystart, Run, Xend-Xstart,
Xdelta, Run/Points, Ydelta, Rise/Points,
XYpairs,
"("& TEXT(ROUND(Xstart+Xdelta*SEQUENCE(Points+1,1,0,1),Decimals),"0.00") &","& TEXT(ROUND(Ystart+Ydelta*SEQUENCE(Points+1,1,0,1),Decimals),"0.00") &")",
XYpairs)
(Der Editor benötigte hier und da einige zusätzliche Leerzeichen, um eine übersichtliche Darstellung auf dem Bildschirm zu gewährleisten, aber Sie können diese entfernen. Ich glaube, dass die Anordnung der Dinge in Formeln es einfacher macht, ihnen zu folgen.)
Durch Runden auf mindestens zwei Dezimalstellen stellt man wahrscheinlich sehr sicher, dass die Endpunkte mit Xend und Xstart übereinstimmen.
Excel verfügt über andere Funktionen zum Erweitern von Punktmengen. Dies bleibt innerhalb der von Ihnen angegebenen verfügbaren Parameter, sodass es nicht danach aussieht. Wenn die von Ihnen angegebenen verfügbaren Parameter nicht wirklich das sind, was Sie tun möchten, liegt dies entweder an der Vorgehensweise in Ihrem Büro, bevor Sie daran dachten, Excel zu verwenden, oder Sie sind nicht mit den Möglichkeiten von Excel vertraut und haben daher einen Parametersatz erstellt, der Ihnen angemessen erschien, um dies zu erreichen, aber Sie würden definitiv eine andere Lösung bevorzugen und die möglicherweise benötigten Parameter perfekt nutzen können. Stellen Sie die Frage, sagen Sie aber, dass Sie für andere Methoden offen sind, um einige davon kennenzulernen.
(Mir ist bewusst, dass dies schon ein paar Jahre alt ist, der OP wird diese Antwort also sicher nie sehen, aber jemand, der das Thema durchsucht, möchte vielleicht wissen, dass es noch mehr Möglichkeiten gibt, das Problem zu lösen.)