[算表] 同時符合x.y範圍 回傳

作者: Pettitte1   2021-05-27 10:52:54
軟體:Office
版本:Office 365
想請問我假設我有3個(x,y)範圍
我想要判斷某個(x,y)在哪個範圍內
請問要怎麼打公式呢? 沒有頭緒
詳細如下
我有Area 23、24、25 三個(x,y)範圍
想找Point 1 的(x,y)在哪個範圍內
要同時符合(x,y),因為有些範圍的框會是斜的
謝謝
Area x y Point Area x y
23 0.1930 0.0932 1 0.1936 0.0969
0.1928 0.0970 2 0.194 0.0976
0.1938 0.0986 3 0.1941 0.0979
0.1939 0.0948 4 0.1949 0.0994
0.1930 0.0932 5 0.1936 0.097
6 0.1941 0.0979
Area x y 7 0.1954 0.1005
24 0.1939 0.0948 8 0.1946 0.0991
0.1938 0.0986 9 0.1943 0.0984
0.1948 0.1003 10 0.1953 0.1004
0.1949 0.0963 11 0.1955 0.1006
0.1939 0.0948 12 0.1932 0.0962
13 0.1944 0.0986
Area x y
25 0.1949 0.0963
0.1948 0.1003
0.1958 0.1020
0.1958 0.0979
0.1949 0.0963
做出來的圖如下
https://i.imgur.com/MeI5bsJ.jpg
作者: gunit01 (晉緯)   2021-05-27 13:54:00
直覺想到的是將線段方程式y=ax+b寫好,帶入x求y',在比較y與y'大小做條件判斷
作者: Pettitte1   2021-05-27 14:38:00
有想過用您的方法,但畢竟點不是剛好在方程式的線上面萬一剛好點在邊界會誤判到錯的Area吧?
作者: WeTinHsu (蛤~~)   2021-05-28 08:31:00
假設point落在Area1跟area2的邊界上,就算不使用前面推文的方法,也是有可能發生的啊?這時還是要回到原問題時怎麼定義吧!
作者: waiter337 (給開司一罐蘇格登)   2021-05-28 23:53:00
google 射線法 vbahttp://forum.twbts.com/viewthread.php?tid=107826樓那個vba 做好自訂函數 之後就能用了更正 要會一點vba 底子畢竟一條線就得判斷一次 也就是你至少要判斷四次 才能知道到底是不是https://mrkod.com/2014-04-19/point-in-polygon-ray-casting/ 自己接起來
作者: Pettitte1   2021-05-31 08:52:00
VBA完全新手 看來要研究很久了 Thanks
作者: waiter337 (給開司一罐蘇格登)   2021-06-01 06:15:00
現在學vba 沒那麼九 yt 書本 fb 群組 一大堆 快的話6個月就能吃一輩子

Links booklink

Contact Us: admin [ a t ] ucptt.com