Excelで2点間の距離を表す式

このQ&Aのポイント
  • Excelを使用して2点間の距離を表す式を作成する方法について紹介します。
  • 点の座標からピタゴラスの距離の式を使って距離を求める方法を解説します。
  • Excelのセルをコピーせずに行列を増やす際に式を拡張する方法についても説明します。
回答を見る
  • ベストアンサー

excel 式

 excelで2点間の距離を表す式 例えば dとbの交点の(11)には(11)の式が入っておりd点とb点の座標から d点とb点の距離をいわゆるピタゴラスの距離の式で求める式がきちんと 入っています。また同じ点同士の距離「対角線の交点は0です。   a b c   d  e  f g  (h) a  (1) (2)   (3)   (4)  (5)  (6) (7)  *1 b  (8) (9)   (10)   (11)  (12)  (13) (14)  *2 c d e f g (2)=SQRT((D7-$D$6)*(D7-$D$6)+(E7-$E$6)*(E7-$E$6)) (3)=SQRT((D8-$D$6)*(D8-$D$6)+(E8-$E$6)*(E8-$E$6)) (4)=SQRT((D9-$D$6)*(D9-$D$6)+(E9-$E$6)*(E9-$E$6)) (5)略 (6)略 (7)=SQRT((D12-$D$6)*(D12-$D$6)+(E12-$E$6)*(E12-$E$6)) (11)=SQRT((D9-$D$7)*(D9-$D$7)+(E9-$E$7)*(E9-$E$7)) (12)略 (13)略 (14)=SQRT((D12-$D$7)*(D12-$D$7)+(E12-$E$7)*(E12-$E$7)) (さて問題は) 今7点同士なのですがここで点を8点に増やしたとき、その式を当然 1点座標を定義しているセルを増やし、式をひとつずつ書いて左下のセルは対角線で対象なセルに等しいとすればいいわけですが hを追加したとき *1=SQRT((D13-$D$6)*(D13-$D$6)+(E13-$E$6)*(E13-$E$6)) *2=SQRT((D13-$D$7)*(D13-$D$7)+(E13-$E$7)*(E13-$E$7)) このような式を書いていけばいいのですが、通常 よく列などを増やすときはコピーでいいのですが行列7*7を8*8 などに増やしたときの増やしたものへの式を拡張する簡易な方法はないものでしょうか。

  • taktta
  • お礼率72% (1031/1430)

質問者が選んだベストアンサー

  • ベストアンサー
noname#52504
noname#52504
回答No.1

「列方向にフィルしたとき、参照するセルを行方向に変化させる」 というのは無理なので、数式の側で工夫する必要があります。 セル位置を具体的に示していただかないと説明しにくいんですが、 元々の座標データはD,E列の6行目以降に順に入力されている、 ということでよろしいですね。 仮に、(1)の数式が入るセルの位置がH3であるとします。 A案:地味に…  H3:=SQRT((OFFSET($D$6,ROW()-ROW($H$3),0)-OFFSET($D$6,COLUMN()-COLUMN($H$3),0))^2+(OFFSET($E$6,ROW()-ROW($H$3),0)-OFFSET($E$6,COLUMN()-COLUMN($H$3),0))^2)  として右方,下方にフィル。 B案:X,Y座標を配列としてまとめて処理  H3:=SQRT(SUMPRODUCT((INDEX($D$6:$E$20,ROW()-ROW($H$3)+1,)-INDEX($D$6:$E$20,COLUMN()-COLUMN($H$3)+1,))^2))  として右方,下方にフィル。 C案:全体を行列として一括して処理(15*15の場合)  H3:V17を選択した状態で、  =SQRT((D6:D20-TRANSPOSE(D6:D20))^2+(E6:E20-TRANSPOSE(E6:E20))^2)  としてCtrl+Shift+Enterで配列数式として確定

taktta
質問者

お礼

期待する回答を得ることができどうもありがとうございました。

関連するQ&A

  • エクセルでの座標計算の質問

    基準座標座標X-300 Y-300 の点を X0Y0を中心に回した計算式です E2に回転したい角度を入れて計算します A1= X 基準座標 A2= -300 B1= Y 基準座標 B2= -300 C1= 基準角度 C2= 45       C2式 =ATAN(A2/B2)/(PI()/180) D1= 中心からの距離 D2= 424.2640687   C2式 =SQRT(A2*A2+B2*B2) E1= 回転角度 E2= 0 F1= 合計角度 F2= 45 C2式=C2+E2 G1= X 答え G2= 300 C2式=COS(F2*PI()/180)*D2 H1= Y 答え H2= 300 C2式=SIN(F2*PI()/180)*D2 このとき回転角度E2の値を換えて計算をしたいのですが 45とか135を入れると合計角度が 90度180度になり XかYの答えが0になるのですが 2.59893E-14 このような答えになります この文字列は何でしょうか? 答えを0にはできませんか (注意)   まだ未完成です正と負の使い分けが出来ていません   X-300Y-300で角度を振ってないのに答えは180度   振った答えになっています (これも未解決) EXCEL2000 WINXP

  • Excelの入力式について

    Excelの入力式について教えてください。 たとえば、A1セル~F1セルに数値が入っていて、G1セルA1+B1の値、H列にC1+D1の値 I列にE1+F1の値としたい場合、 G1セルに数式を入れてH列にコピーするとB1+C1になってしまいます。 上手くやる方法はないのでしょうか。 1列ずつわざわざ空白列を作るのは嫌ですし、たくさんあったら数式を打ち込むのも大変です。。。

  • エクセルの演算式で困っています。

    エクセルの演算式で困っています。 セルC1,D1,E1,F1、G1の5個のセルに人数をそれぞれ入力します、そして、5個のセルの総計をH1のセルに入力します(G1の数値は、必然的にH1-(C1+D1+E1+F1) になると思います。 A3、A4,A5 と3個のセルに金額を入力します。 で、C3のセルに、(A3×C1÷H1)+(A3×1×5) の演算結果が出るようにしたいのです。つまり、C3のセルにこの演算結果が表示されるような演算を仕込みたいのです。 以下、同様に、C4のセルに、、(A4×C1÷H1)+(A4×1×5)の演算結果を表示したいのです。 また、D3のセルには、(A3×D1÷H1)+(A3×1×5) の演算結果が出るようにしたいのです。 以下、同様に、E3のセルには、、(A3×E1÷H1)+(A3×1×5) の演算結果が出るようにしたいのです。 こうなると、最後のG3のセルには、H1-(C1+D1+E1+F1) を演算式の一部に書かないといけなくなります。 で、私には手におえなくなったのです。 すいません、もし、これをご理解頂けたら、アドバイスを御願いできないでしょうか?

  • EXCELの関数式(INT,MOD)で教えて下さい

    下図のようなEXCELの表があります。 金種計算で、1行目は1万円、5千円、千円・・・10円と入っており、 A2は計算したい金額(97810)を入れています。 B2セルの式=INT($A2/B1)、C2セルの式=INT(MOD($A2,B1)/C1)で、C2セルの式はD2~H2に複写しています。 EXCELで得た計算結果(2行目)は正しいと思うのですが、 D2,F2,H2の計算結果と、自分で計算した結果があいません。 ここを詳しく教えて頂けないでしょうか。 宜しくお願い致します! INT関数:整数部を返す MOD関数:剰余を返す  |  A  |  B |  C |  D |  E |  F |  G |  H | 1|   |10000| 5000| 1000| 500| 100|  50 |   10| 2|97810|   9|   1|   2|    1|   3|   0|   1| B2は、98710÷10000=9.7810→整数部を返すので「9」 C2は、97810÷10000=9.7810→剰余7810÷5000=1.562 →整数部を返すので「1」 D2は、97810÷5000=19.562→剰余562÷1000=0.562 →整数部を返すので「0」??? E2は、97810÷1000=97.810→剰余810÷500=1.62 →整数部を返すので「1」 F2は、97810÷500=195.62→剰余62÷100=0.62 →整数部を返すので「0」??? G2は、97810÷100=978.10→剰余10÷50=0.2 →整数部を返すので「0」 H2は、97810÷50=1956.2→剰余2÷10=0.2 →整数部を返すので「0」???

  • エクセル2007で%の平均値を求めたいのですが、うまくできません。

    エクセル2007で%の平均値を求めたいのですが、うまくできません。 先日下記の様な質問をさせて頂いたのですが、もう少し質問したいことがあったのに間違えて解決済にしてしまいました。 どなたか分かる方がいらっしゃいましたら教えてください。    A    B    C    D    E    F    G     H 1 目標  6.44%  4.50%  3.77%  5.15%  2.66%  2.79%  式を入れたいセル 2 実績  5.07%  6.00%  4.85%                 A2~G2の平均値 A1~G1は、=(F3/G6)みたいな数式が入っていて、%で表示されています。 B2~G2は、最初は空欄で毎月B、C、D、E、Fと一つずつ%が入っていきます。 上記で、H1のセルに、下記の様な結果を表示できる式を入れたいのですが、何かいい方法はないでしょうか? ・B2~G2が空白の時はB1~G1の平均値 ・B2にだけ数字が入っていてC2~G2が空白の時はB1の数字 ・B2~C2に数字が入っていてD2~G2が空白の時はB1~C1の平均値 ・B2~D2に数字が入っていてE2~G2が空白の時はB1~D1の平均値 ・B2~E2に数字が入っていてF2~G2が空白の時はB1~E1の平均値 ・B2~F2に数字が入っていてG2だけが空白の時はB1~F1の平均値 ・B2~G2全てに数字が入っている時はB1~G1の平均値 という質問に対して、 [H1]=AVERAGE(B1:INDEX(B1:G1,COUNT(B2:G2))) という式を教えて頂いたところ、うまくいきました。 半期分はこれでOKだったのですが、1年分だとHに半期の平均のセルが入るため、うまく表示できません。 ・B~Gが前期、Hが前期の平均 ・I~Nが後期、Oが後期の平均 さらに、Pに全期の平均を入れたい場合はどのようにしたらよいのでしょうか? [P1]=AVERAGE(B1:INDEX(B1:N1,COUNT(B2:G2,I2:N2))) にすると、Hのセルも入ってしまうため、後期に数字が入ると平均値の表示が1つずつずれてしまいます。 何回も申し訳ないのですが、どうぞよろしくお願いいたします。

  • エクセルの2000で下記のような式を作りたいのですが、#VALUEにな

    エクセルの2000で下記のような式を作りたいのですが、#VALUEになってしまいます。 D1~I1が空白であれば、J1にI2を表示、 E1~I1が空白であれば、J1にD2を表示、 F1~I1が空白であれば、J1にE2を表示、 G1~I1が空白であれば、J1にF2を表示、 H1~I1が空白であれば、J1にG2を表示、 I1~I1が空白であれば、J1にH2を表示、 D1~I1がどれも空白でない場合も、J1にI2を表示します。 =IF(D1:I1="",I2,IF(E1:I1="",D2,IF(F1:I1="",E2,IF(G1:I1="",F2,IF(1:I1="",G2,IF(I1:I1="",H2,I2)))))) ネスト回数には引っかかっていないと思うのですが、IF関数の論理式は複数のセルを選択出来ないんですかね? D~H2のセルには=SUM(D15:I15)/SUM(D1:I1)といった数式が入っており、パーセンテージで小数点以下第二位まで表示しています。 うまく表示できる方法をどなたか教えていただけないでしょうか? 逆に D1だけが空白でなければ、D2を表示、 D1~E1だけが空白でなければ、J1にE2を表示、 D1~F1だけが空白でなければ、J1にF2を表示、 D1~G1だけが空白でなければ、J1にG2を表示、 D1~H1だけが空白でなければ、J1にH2を表示、 D1~I1だけが空白でなければ、J1にI2を表示、 D1~I1の全てが空白の場合は、J1にI2を表示、 でもかまいません。 どうかよろしくお願いします。

  • これを一つの数式にしたい。

    こんばんは。 セルが A1 809900円 B1 A1÷20 C1 8×20+31 D1 C1÷20 E1 B1÷D1 F1 E1×8 G1 F1×20 H1 31×E1 I1 G1+H1=809900円 を一つの式にしたいのです。教えて下さい。

  • 図形と方程式

    4点A(-2,3)、B(5,4)、C(3,-1)、Dを頂点とする平行四辺形ABCDがある。対角線AC,BDの交点および頂点Dの座標を求めよ。 この問題を教えてください。 2点間の距離の公式をつかうのでしょうか?

  • Excelである点に一番近い座標を求めたいのですが

    Excelである点に一番近い座標を求めたいのですが 今A列のx座標、B列のy座標で表される点(A1,B1)に距離が一番近い点を C列のx座標、D列のy座標で表される点の集合(C1,D1)~(C1000,D1000)のなかから探して (Cn,Dn)の値をE1、F1に表示させたいのですがどのようにすれば良いか教えてください。 引き続き(A2,B2)に近い点を(C1,D1)~(C1000,D1000)の中から探してE2,F2に表示するつもりです。 それを1000まで繰り返します。 比較する数が多すぎるため私の力ではどうにもなりません。すいませんがご協力お願いいたします。

  • Excelとピタゴラスの定理

    この表のA列には直角三角形の垂辺、C列には 同じく底辺、F列には斜辺の長さが書き込まれる。今、A2セルに3.00、C2セルに4.00、F2セ ルに5.00 の値を入れたので、垂辺・底辺それぞれの2乗の和であるE2セルの値と斜辺の2乗であ るG2セルの値は一致するはずである。それが一致しているかどうかを確かめる式がH2セルに入 れられている。H2セルをアクティブにして数式バーを見るとわかるように、このセルに入ってい る式は=E2=G2 というものである。すなわち、E2セルの値とG2セルの値が等しければ 論理値True を返し、そうでなければ同じくFalse を返す式である。この場合、当然True が返される。 次に、A3セルには式「=A2+ 0.03」を、C3セルには「=C2+ 0.04」を、F3セルには「= F2+ 0.05」を入れ、第3行目のその他のセル(B3,D3,E3,G3,H3)には第2行目の 同じ列のセルにある式を複写する。そうすると、ここでも垂辺:底辺:斜辺の長さの比は3:4: 5になっているからH3セルにはTrue が返されるはずである。 この第3行目のA列からH列まですべてのセルの式をそのまま下方に複写すれば、どの行でもA 列:C列:F列の値の比は3:4:5になるから、H列の値はすべてTrue になるはずである。実際、 どこまで複写しても同じ行のE列のセルとG列のセルに示された値は等しいように見える。しかし、 H列ではTrue ではなくFalse が返される場合がある。 1-A:垂辺 B:垂辺の二乗 C:底辺 D:底辺の二乗 E:二乗の和 F:斜辺 G:斜辺の二乗 H:E=G 2-A:3.00 B:9.00 C:4.00 D:16.00 E:25.00 F:5.00 G:25.00 H:TRUE 3-A:3.03 B:9.18 C:4.04 D:16.32 E:25.50 F:5.05 G:25.50 H:TRUE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-A:3.66 B:13.40 C:4.88 D:23.81 E:37.21 F:6.10 G:37.21 H:TRUE 25-A:3.69 B:13.62 C:4.92 D:24.21 E:37.82 F:6.15 G:37.82 H:FALSE 26-A:3.72 B:13.84 C:4.96 D:24.60 E:38.44 F:6.20 G:38.44 H:FALSE この現象がどうして起きるのかを、高校生にわかるように、簡単に説明しなさい。 という問題なのです。教えてください。お願いします

専門家に質問してみよう