Tìm điểm có tọa độ gần nhất với dữ liệu xuất từ CAD

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

neyugngnort

Thành viên chính thức
Tham gia
27/2/12
Bài viết
54
Được thích
23
Giới tính
Nữ
Chào các anh
Em xuất từ Cad ra các điểm có tên và tọa độ
Em muốn tìm các điểm có tọa độ gần nhau nhất
Xem file ví dụ sẽ rõ
Xin phép gửi card, thay lời cam ơn cho ai giúp được em!
Cam ơn các anh
 

File đính kèm

Bạn quy định thế nào là gần nhau nhất?
Mình tạm thời lấy x-x và y-y, lấy abs của 2 cái hiệu này, và chọn tổng nhỏ nhất.
Nếu không ra kết quả đúng, thì bạn điền tay kết quả mong muốn nhé

D5:
Mã:
=LOOKUP(2,1/(INDEX(ABS($H$5:$H$18-B5)+ABS($I$5:$I$18-C5),)=MIN(INDEX(ABS($H$5:$H$18-B5)+ABS($I$5:$I$18-C5),))),$G$5:$G$18)
 

File đính kèm

Bạn quy định thế nào là gần nhau nhất?
Mình tạm thời lấy x-x và y-y, lấy abs của 2 cái hiệu này, và chọn tổng nhỏ nhất.
Nếu không ra kết quả đúng, thì bạn điền tay kết quả mong muốn nhé

D5:
Mã:
=LOOKUP(2,1/(INDEX(ABS($H$5:$H$18-B5)+ABS($I$5:$I$18-C5),)=MIN(INDEX(ABS($H$5:$H$18-B5)+ABS($I$5:$I$18-C5),))),$G$5:$G$18)
Cam on anh, đúng mục đích của em rồi. Em xin mời bác ly cf
nhưng Quét QR không được
 
Bạn quy định thế nào là gần nhau nhất?
Mình tạm thời lấy x-x và y-y, lấy abs của 2 cái hiệu này, và chọn tổng nhỏ nhất.
Nếu không ra kết quả đúng, thì bạn điền tay kết quả mong muốn nhé

D5:
Mã:
=LOOKUP(2,1/(INDEX(ABS($H$5:$H$18-B5)+ABS($I$5:$I$18-C5),)=MIN(INDEX(ABS($H$5:$H$18-B5)+ABS($I$5:$I$18-C5),))),$G$5:$G$18)
Khoảng cách giữa 2 điểm A1 và B1 được xác định bằng công thức=SQRT((X1-X2)^2+(Y1-Y2)^2) do đó mình có thể dùng công thức tại ô D5

D5=INDEX($F$5:$F$18,MATCH(MIN(SQRT(($G$5:$G$18-B5)^2+($H$5:$H$18-C5)^2)),SQRT(($G$5:$G$18-B5)^2+($H$5:$H$18-C5)^2),0),0)

Mình có nối các điểm gần nhất với nhau như trong file, bạn xem có đúng ý không nhé!Khoảng cách.jpg
 

File đính kèm

Lần chỉnh sửa cuối:
khoảng cách=SQRT((X1-X2)^2+(Y1-Y2)^2)
là đúng theo lý thuyết được học.

Cơ mà đáp án này với bác bebo thì y hệt nhau.

Vậy là có 1 lỗ hổng của toán học ở đây rồi.

Em hỏi các bác tí: vấn đề là với trường hợp nào sẽ xảy ra đáp án khác nhau vậy ạ?
 
khoảng cách=SQRT((X1-X2)^2+(Y1-Y2)^2)
là đúng theo lý thuyết được học.

Cơ mà đáp án này với bác bebo thì y hệt nhau.

Vậy là có 1 lỗ hổng của toán học ở đây rồi.

Em hỏi các bác tí: vấn đề là với trường hợp nào sẽ xảy ra đáp án khác nhau vậy ạ?
Không hổng đâu, bác thử trường hợp toàn bộ các điểm cần tra có x bằng với x của điểm gốc, hoặc y bằng với y của điểm gốc, khi này giá trị tuyệt đối nhỏ nhất của 2 giá trị luôn là 0. Để chính xác nhất thì nên dùng công thức toán học
 
Không hổng đâu, bác thử trường hợp toàn bộ các điểm cần tra có x bằng với x của điểm gốc, hoặc y bằng với y của điểm gốc, khi này giá trị tuyệt đối nhỏ nhất của 2 giá trị luôn là 0. Để chính xác nhất thì nên dùng công thức toán học
Nếu dời về cùng gốc x, thì khoảng cách dài ngắn lại chỉ phụ thuộc y. Vậy thì dùng công thức bebo lại càng đơn giản. Vô tình lụm được bí kíp.

Vấn đề là nếu tính khoảng cách thì dùng pitago. Nhưng nếu chỉ tìm điểm gần nhất thì xét x-x+y-y có được không?

Nhờ đồng chí và các bác giải đáp giúp. Vì trước giờ tớ cũng xét khoảng cách kiểu toán, nhưng nay có công thức mới gọn nhẹ hơn.
 
Công thức của @bebo021999 chưa tổng quát như công thức của @hoangminhtien .
Với công thức của @bebo021999 : các điểm có khoảng cách thực tế là như nhau nhưng kết quả công thức đánh giá là khoảng cách khác nhau.
Vẽ 1 vòng tròn có tâm 0, 0. Trong góc vuông thứ 1, vẽ góc 2 góc: 45 độ & 30 độ có 1 cạnh là trục hoành. Giao cạnh các góc với đường tròn là các điểm cùng khoảng cách tới tâm đường tròn nhưng abs(x1-x2) + abs(y1-y2) là khác nhau ( công thức của @bebo021999 )
 
Nếu dời về cùng gốc x, thì khoảng cách dài ngắn lại chỉ phụ thuộc y. Vậy thì dùng công thức bebo lại càng đơn giản. Vô tình lụm được bí kíp.

Vấn đề là nếu tính khoảng cách thì dùng pitago. Nhưng nếu chỉ tìm điểm gần nhất thì xét x-x+y-y có được không?

Nhờ đồng chí và các bác giải đáp giúp. Vì trước giờ tớ cũng xét khoảng cách kiểu toán, nhưng nay có công thức mới gọn nhẹ hơn.
Nãy em có hiểu sai đề nhưng xem qua bình luận của bác chaoquay em có thể đưa ra trường hợp như sau. Dùng đường tròn có tâm là gốc O bán kính là 1. Khi đó mọi điểm thuộc đường tròn trên đều cách O một khoảng bằng 1. Lấy điểm tạo với trục hoành 1 góc 30 độ và thuộc đường tròn. Khi đó tổng abs của điểm góc 30 độ là 1.366. Tiếp tục tổng abs của góc 45 độ nhưng ở đường tròn có bán kính nhỏ hơn (giả sử R=0.99) là 1.40007. Lúc này rõ dàng điểm có tổng abs nhỏ hơn lại là điểm xa hơn
 
khoảng cách=SQRT((X1-X2)^2+(Y1-Y2)^2)
là đúng theo lý thuyết được học.

Cơ mà đáp án này với bác bebo thì y hệt nhau.

Vậy là có 1 lỗ hổng của toán học ở đây rồi.

Em hỏi các bác tí: vấn đề là với trường hợp nào sẽ xảy ra đáp án khác nhau vậy ạ?
Cái này là nó vô tình trùng nhau thôi, bây giờ bác thử thay đổi dữ liệu X ở điểm B6 từ 567976.2478 thành 567970.2478 sẽ thấy sự khác biệt.
 
Cái này là nó vô tình trùng nhau thôi, bây giờ bác thử thay đổi dữ liệu X ở điểm B6 từ 567976.2478 thành 567970.2478 sẽ thấy sự khác biệt.
Anh có thể giúp em thêm điều kiện khoản cách min và max
Bài toán vẫn là tìm điểm trong tập điểm B, có khoản cách ngắn nhất, trong phạm vi (min, max) lấy dự liệu từ 2 ô nào đó
Em cảm ơn bác nhiều
 

File đính kèm

Anh có thể giúp em thêm điều kiện khoản cách min và max
Bài toán vẫn là tìm điểm trong tập điểm B, có khoản cách ngắn nhất, trong phạm vi (min, max) lấy dự liệu từ 2 ô nào đó
Em cảm ơn bác nhiều
Em đã có Đáp án cho câu hỏi của em! không dám phiền bác nữa
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom