![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.6ベストアンサー
- 回答日時:
X座標が始めは大きくなる設定で。
C2セル 傾き
=SLOPE(B2:B3,A2:A3)
D2セル 切片
=INTERCEPT(B2:B3,A2:A3)
下へオートフィル
C8セル =C2
D8セル =D2
作業列 C11セル
=MATCH(A11,$A$2:INDEX($A$2:$A$8,MATCH(MAX($A$2:$A$8),$A$2:$A$8,0)))
交点1 D11セル
=INDEX($C$2:$C$7,$C11)*A11+INDEX($D$2:$D$7,$C11)
作業列1 E11セル
=MATCH(MAX($A$2:$A$8),$A$2:$A$8,0)
作業列2 F11セル
=MATCH(A11,INDEX($A$2:$A$8,$E11):$A$8,-1)-1
交点2 G11セル
=INDEX($C$2:$C$8,SUM(E11:F11))*A11+INDEX($D$2:$D$8,SUM(E11:F11))
判定 H11セル
=IF(OR(AND(D11<=B11,B11<=G11),AND(G11<=B11,B11<=D11)),"○","×")
![「エクセルで出来るのかを教えてください」の回答画像6](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/8/655143_5497e4f7e2847/M.jpg)
連絡遅くなりまして申し訳ありません。具体的な入力例まで示していただきありがとうございます。実際にエクセルに入力して確認させていただきます。どうもありがとうございました。
No.9
- 回答日時:
2つの線分が交差しているかどうかの判定は、次の計算式で可能です。
2つの線分を(x1,y1)-(x2,y2)と(x3,y3)-(x4,y4)としたとき、
つぎの4つの値を計算し、
a=x1(y2-y3)+x2(y3-y1)+x3(y1-y2)
b=x1(y2-y4)+x2(y4-y1)+x4(y1-y2)
c=x1(y3-y4)+x3(y4-y1)+x4(y1-y3)
d=x2(y3-y4)+x3(y4-y2)+x4(y2-y3)
ab<0 , cd<0 なら交差しています。
例えば、
2つの線分を(1,1)-(3,3)と(2,4)-(3,1)とすれば、
a=1(3-4)+3(4-1)+2(1-3)=-1+9-4=4
b=1(3-1)+3(1-1)+3(1-3)=2+0-6=-4
c=1(4-1)+3(1-1)+3(1-4)=3+0-9=-6
d=3(4-1)+2(1-3)+3(3-4)=9-4-3=2
ab=-16<0 , cd=-12<0 なので交差していることが分かります。
この計算式をエクセルに組み込めば交差判定ができます。
ただし、この方法で問題となるのは、一方の端点が他方の線上にあるときです。
このときは、a,b,c,dのどれかが0になります。
0のときの処理をうまく扱えれば、図形の内外判定はエクセルの数式だけで可能です。
No.8
- 回答日時:
図形の内部か外部かを、線分の交点の数で判断する方法があります。
図形を構成する点をP1,P2,P3,・・・,Pn、
図形の外部にある点をQとします。
調べる点をRとしたとき、
線分QRと線分P1P2が交差しているか、
線分QRと線分P2P3が交差しているか、
線分QRと線分P3P4が交差しているか、
・・・・・
線分QRと線分P(n-1)Pnが交差しているか、
線分QRと線分PnP1が交差しているか、
を調べて、交差している数が偶数なら外部、奇数なら内部となります。
かなりいびつな多角形を書いてみて試してみましたがその通りなのでびっくりしてしまいました。交差しているかいないかの判定がエクセルでできればよいのですね。それも難しそうですね。少し考えて見ます。ありがとうございます。
No.7
- 回答日時:
エクセルの場合に、ある選択したセルが、セル範囲(長方形的、飛び離れたものも含め)に含まれるかは時々使うことがある。
Intersectです。参考 http://officetanaka.net/excel/vba/tips/tips118.htm
ーーー
エクセルでは四角の隅の座標数値を示して考えることはあまりしません。
シートなりに既に描かれている図形とマウスのポイント点が内部にあるか、外部の点かはあまり問題にする場合は無いのです。多角形はシート上にVBAで描くことは出来る。
フリーフォーム図形でも、内部をクリックしたか、外部かは良く使う。クリックイベントを捕らえるため。
例えば指定の大きさのボタンやシェイプの四角を描いて、そこをクリックするとか言うニーズはあります。
ーー
すなわちエクセルの問題としてとらえるのは不適当で、質問のカテが適当でない。木によりて魚を求む、ということです。
またマウスのポイントしている点の数量的表現もエクセルVBAでは現れないと思います(API?)
ーー
エクセルVBAはVB6.0ベースなので、その範囲でする加減乗除や三角関数計算などで出来るならできる。
この計算を丸投げで回答で求めるのは、行き過ぎ、自分で勉強すること。
ーー
http://oshiete.goo.ne.jp/qa/5331300.html
のN0.5の示唆となりそうな回答(API)などある。
APIはエクセルVBAの範囲外。このレベルなら自己学習課題だ。
また図形(ワイヤーフレーム図形・光源処理・陰線処理など)に関することなどはこのコーナーの課題を越えている。
連絡遅くなりまして申し訳ありません。エクセルのグラフで書かれた多角形について、あとからプロットされた点が図形の中にあるかどうかを判定できる何かの手法があるかと思って質問させていただきましたが、現実は簡単な事ではないことがよくわかりました。また自分の勉強不足も反省しました。ありがとうございました。
No.5
- 回答日時:
例に示した図形は、凹多角形ですね。
この場合は、#3さんの回答にあった、三角形に分割する方法は失敗する場合があるので注意してください。
もちろん最適な三角形分割をすればうまくいきますが、どれが最適かを座標だけで判断するのは難しいでしょう。
連絡遅くなりまして申し訳ありません。そうなんです凹多角形なのです。簡単なモデルで検証してみたいと思います。ありがとうございました。
No.4
- 回答日時:
因みに、閉じた多角形を三角形に分割する場合は「三角形を削っていく」のを繰り返すと良いです。
例えば、六角形ABCDEFの場合。
まず、六角形から、隣り合った3つの頂点で出来る三角形を削ります。
六角形ABCDEF⇒三角形ABC+五角形ACDEF
次に、五角形から、隣り合った3つの頂点で出来る三角形を削ります。
三角形ABC+五角形ACDEF⇒三角形ABC+三角形ACD+四角形ADEF
最後に、四角形を2つに分割します。
三角形ABC+三角形ACD+四角形ADEF⇒三角形ABC+三角形ACD+三角形ADE+三角形AEF
結果
六角形ABCDEF⇒三角形ABC+三角形ACD+三角形ADE+三角形AEF
となります。
なお、分割に際して「凹みのある多角形かどうか?」を調べる必要がありますので、そこだけ注意して下さい。
凹みのある多角形かどうかの判定については、以下参照。
http://oshiete.goo.ne.jp/qa/783177.html
連絡遅くなりまして申し訳ありません。連続で回答ありがとうございます。三角形に分割ですか、リンク先も参照してよく理解してみます。自分としてはエクセルのグラフで書かれた多角形について、あとからプロットされた点が図形の中にあるかどうかを判定できる何かの手法があるかと思っていましたが、現実はそのような簡単な事ではないことがよくわかりました。ありがとうございました。
No.3
- 回答日時:
>エクセルで(略)できるのかを教えてください。
「出来る/出来ない」で答えるなら「出来る」です。
コンピュータの世界では「数値計算なら、出来ない事は存在しない」のです。
それは、どんなコンピューター言語を使ったとしても同じです。
但し、使う言語に「向き/不向き」ってのがあるので、不向きな言語を選んでしまうと「出来るまでに何年もかかる」って結果になったり、向いている言語を選ぶと「5分で出来る」って結果になったりします。
重要なのは「どの言語が、一番、向いているのか」なのです。
なので「○○を使えば5分で出来るのに、なんでわざわざエクセルを使うんだ?バカじゃないだろか」とか「エクセルを使えば5分で出来るのに、なんでわざわざ△△を使うんだ?バカじゃないだろか」と言う事が起きます。
>どのような方法でやったら良いのかを教えてください。
ヒント
四角形は「三角形2つ」に分割できます。五角形は「三角形3つ」に分割できます。六角形は「三角形4つ」に分割できます。
六角形を「三角形4つ」に分割できたら、それぞれの三角形について「座標(X,Y)が三角形の内側にあるか?」を調べます。
1つでも「三角形の内側」と判定されたら「その座標は六角形の内側にある」と言うのが判ります。
三角形の内外判定は以下参照。
http://www.cam.hi-ho.ne.jp/strong_warriors/teach …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) エクセルの値を元に図形の色を変えたい 2 2022/05/11 01:37
- PowerPoint(パワーポイント) 2016EXCEL→2016PowerPointにコピペすると図形がゆがみます 5 2022/03/31 11:44
- Excel(エクセル) エクセルVBAで図形のテキストを取得してセルに入力 2 2022/10/05 23:09
- ノートパソコン 教えて下さい。過去のエクセルのファイルデータの中に、ヘッダーのところに図形を登録しています。 今回新 4 2023/04/11 15:16
- Excel(エクセル) 教えて下さい。 ●過去のエクセルのファイルデータの中に、ヘッダーのところに図形を登録しています。 ● 2 2023/04/11 17:40
- Excel(エクセル) エクセルのパレート図の折れ線グラフの各プロットのパーセント表示ってできますか? やり方を教えてほしい 1 2022/08/18 09:03
- Excel(エクセル) いつもお世話になっております。 円の直径290、半径145 ですが、 添付のエクセルように 座標に中 2 2023/03/14 03:34
- Excel(エクセル) エクセルで作った文章を図で貼り付けたが元のエクセルが削除したので図からエクセルに戻したい 4 2022/07/05 08:11
- 中学校 中1数学 比例のグラフの座標の読み取り 4 2023/03/28 12:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【EXCEL】画像の黄色部分の抽出...
-
文字2桁、3桁交じりの文字列...
-
Excelについての質問です。 B2...
-
絶対参照
-
マクロエクセルのブロック解除
-
Excelで表を作ったところに文字...
-
職場の人から聞かれており、こ...
-
DATE関数で現在の年齢を出した...
-
エクセルのクイックアクセスツ...
-
エクセルのクイックアクセスツ...
-
Excelピボットテーブルの1行目
-
REGEXREPLACE関数について、
-
ユーザー定義関数をアドイン登...
-
Excel関数-文字列で自動作成さ...
-
スプレッドシートで使う数式を...
-
在庫管理表に使うエクセルの関...
-
エクセルで表
-
エクセルの関数について教えて...
-
スプレッドシート、Excelでの数...
-
(マクロ)vlookupの元データを同...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報