x 座標と y 座標に基づいてポイント間の累積距離を計算する Excel マクロを作成しようとしています。これが私の現在のワークシート設定の例です。
Point # Code x coordinate y coordinate Cumulative distance between points
1 1 39.4 99.8 0
2 1 42.5 104.5 ?
3 1 43.0 105.8 ?
4 2 34.0 150.5 ?
5 3 38.9 145.9 ?
6 1 46.2 103.4 ?
7 1 48.5 105.3 ?
8 4 67.6 98.5 ?
9 1 50.3 103.2 ?
ピタゴラスの式を使用して、ポイントと前のポイントの間の距離を計算するには、「ポイント間の累積距離」列が必要=SQRT(((D2-D1)^2)+((C2-C1)^2))))
です。「ポイント間の累積距離」列の後続の各値について、値は前のポイント間の距離を計算し、計算されたすべての距離の現在の合計を追加する必要があります。
これがキッカーです。両方のコードが「1」の場合にのみ、2 点間の距離を計算したいと考えています。私の例を見ると、値が 1 ~ 4 のコードがあることがわかります。
したがって、上記の例では、ポイント 2 と 1 の間の距離を計算したいと思います。次に、ポイント 3 と 2 の間の距離を計算し、列の前のセルから取得した値に加算します ( = ポイント 2 と 1 の間の距離)。次に、コード = "1" がないため、ポイント 4 と 5 をスキップします。次の計算は、ポイント 6 と 3 の間になります。どちらもコード = "1" であるためです。ポイント 8 はコード = "4" であるためスキップされます。次に、ポイント 9 と 7 の間の距離を計算します。「ポイント間の累積距離」列で値が計算されるたびに、それまでのすべての値を加算した累積値でなければならないことに注意してください。
まとめると、次のものが必要です。
-「ポイント間の累積距離」列で、両方のコード = 1 の場合のポイント間の距離を (x、y 座標を使用して) 計算します。 -以前の累積距離をセル値に追加して、距離の現在の合計を取得します。
それが明確であることを願っています。そうでない場合は、紛らわしい空白を埋めることができます。