線形のポイント セットで構成される Excel テーブルを作成する方法を探しています。このテーブルは、、、、Xstart
およびポイントXend
の数を入力して作成されます。すべてが線形である必要があります。よろしくお願いします。Ystatrt
Yend
答え1
次の式は機能します。セル E1:E5 に 5 つの入力が必要です。これらはLET()
数式エディタの最初の行にあります。すべての入力参照を最初の行に配置すると、変更が必要なときに簡単に見つけることができます。
入力により外側の 2 つのポイントが与えられます。その間のポイントは、Rise over Run
範囲の内側のポイントの各座標を計算することによって見つけられます。
内側のポイントを埋めるのは、 を使用して構築されますSEQUENCE()
。生成される行の合計は、Points-1、使用される列が 1 つ、開始値が 0 のときに見つかるため、開始ポイントでの最初の使用は効果がありませんが、最初のポイントで一意の数式を使用し、残りのポイントで別の数式を使用する必要はなく、すべての "Points" 行数に対して数式は有効です。各ペアごとに 1 ずつ増加します。
任意の小数点にすることも、まったく小数点にしないことも可能ですROUND()
。ポイント ペア自体が目的の場合は、必要な「精度」のレベルに適した丸めを選択してください。この数式が別の数式またはチャートなどの入力になる場合、丸めによる不規則性が問題になる場合は、丸めが行われる小数点を適切な値に増やすか、丸めを完全に削除します。結局のところ、15 桁の長い座標が問題にならないのであれば、丸めをわざわざ行う必要はありません。
Decimals,2,
四捨五入を頻繁に変更する場合は、最初の行に追加します。行の末尾に次のような項を追加します。 これを数式に編集します。
=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)
(エディターでは、画面上できれいにレイアウトするために、あちこちに余分なスペースが必要でしたが、削除することができます。数式で整列させると、理解しやすくなると思います。)
少なくとも小数点第 2 位に丸めることで、終了点が Xend と Xstart と一致することが確実になります。
Excel には、ポイント セットを拡張するための他の関数があります。これは、指定した利用可能なパラメータの範囲内にとどまるため、それらのパラメータとはまったく異なります。指定した利用可能なパラメータが、Excel の使用を検討する前にオフィスで実行していた方法によるものであるか、Excel の機能に精通していないために、これを実現するために妥当と思われるパラメータ セットを構築したが、別のソリューションの方が確実に望ましい可能性があり、必要なパラメータを完全に利用できる場合は、質問を提示しながら他の方法も検討すると言うと、それらのいくつかを確認する良い方法になります。
(これは数年前の投稿なので、投稿者がこの回答を見ることは決してないだろうということは承知していますが、この件について検索している人は、この問題を解決する方法が他にもあることを知っておくとよいかもしれません。)