Cách tìm toạ độ trong excel

Liên hệ QC

minhquankd

Thành viên mới
Tham gia
14/8/07
Bài viết
6
Được thích
0
Mình có toạ độ các điểm A, B, C, D, E... mình muốn tìm toạ độ x hoặc y của 1 điểm nào đó sao cho khoảng cách từ điểm đó đến điểm mình chọn là một giá trị cho trước ( ví dụ: khoảng cách là 20 , A (0,0) B (5,0) C(10,0) D (15,0) E(20,0) tìm toạ độ của điểm nào đó sao cho khoảng cách đến A là 20 , nhìn cũng có thể đoán là điểm E (20,0), nhưng mình đã viết như sau ma ko được.nếu mình chọn khoảng cách là 18 thì sẽ tìm vùng lân cận cho mình là D còn khoảng cách là 16 thì lân cận là điểm D. mong nhận được thông tin các bạn
Public Function tim1(vungtra As Range, X, Y, s1 As Double)
'ham tim kiem gia tri
Dim ktra As Boolean
Dim i As Integer
Dim x1, y1, a1 As Double
For i = 1 To vungtra.Cells.Count
kiemtra = False
x1 = vungtra.Cells(i, 1): y1 = vungtra.Cells(i, 2)
If a1 = ((x1 - X) ^ 2 + (y1 - Y) ^ 2) - s1 <= 0.5 Then
tim1 = x1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
End Function
 
Lần chỉnh sửa cuối:
Mình có toạ độ các điểm A, B, C, D, E... mình muốn tìm toạ độ x hoặc y của 1 điểm nào đó sao cho khoảng cách từ điểm đó đến điểm mình chọn là một giá trị cho trước ( ví dụ: khoảng cách là 20 , A (0,0) B (5,0) C(10,0) D (15,0) E(20,0) tìm tpaj độ của điểm nào đó sao cho khoảng cách đến A là 20 , nhìn cũng có thể đoán là điểm E (20,0), nhưng mình đã viết như sau ma ko được. mong nhận được thông tin các bạn
Public Function tim1(vungtra As Range, X, Y, s1 As Double)
'ham tim kiem gia tri
Dim ktra As Boolean
Dim i As Integer
Dim x1, y1, a1 As Double
For i = 1 To vungtra.Cells.Count
kiemtra = False
x1 = vungtra.Cells(i, 1): y1 = vungtra.Cells(i, 2)
If a1 = ((x1 - X) ^ 2 + (y1 - Y) ^ 2) - s1 <= 0.5 Then
tim1 = x1
ktra = True
End If
Next i
If ktra = False Then
MsgBox "gia tri can tim ko nam trong bang tra", vbInformation
Exit Function
End If
End Function
Cái này dùng công thức cũng được mà. Đâu cần tới Macro.
 

File đính kèm

Upvote 0
cảm ơn ban đã cho ý kiến nhưng ý của mình có thể bạn chưa rõ là khoảng cách ở đây có thể mình để là 18 thì lai không tìm ra được vì mình có để khoảng lệch là 0.5 nếu để khoảng cách là 18 thì dò tìm vùng lân cận đấy phải ra điểm E còn nếu để 16 thì dò tìm điểm lân cận là D
 
Upvote 0
cảm ơn ban đã cho ý kiến nhưng ý của mình có thể bạn chưa rõ là khoảng cách ở đây có thể mình để là 18 thì lai không tìm ra được vì mình có để khoảng lệch là 0.5 nếu để khoảng cách là 18 thì dò tìm vùng lân cận đấy phải ra điểm E còn nếu để 16 thì dò tìm điểm lân cận là D
Khoản chênh lệch là 0.5 nghĩa là sao bạn?
 
Upvote 0
nghĩa là tìm điểm có toạ độ thoả mãn điêu kiện khoảng cách từ điểm A đến điểm cần tìm trừ đi khoảng cách cho trước (như mình ví dụ khoảng cách cho trước là 18) nhở hơn hoặc bằng 0.5 ( hay nói cách khác số gia của khoảng cho trước so với khoảng cách từ A tới điểm cần tìm) như ví ụ bạn làm cho mình đáy nếu mình thay KC là 18 thì N#A làm sao mình thay bằng 18 tìm cho mình là điểm E còn mình thay 16 tìm cho minh được điểm D
 
Upvote 0
nghĩa là tìm điểm có toạ độ thoả mãn điêu kiện khoảng cách từ điểm A đến điểm cần tìm trừ đi khoảng cách cho trước (như mình ví dụ khoảng cách cho trước là 18) nhở hơn hoặc bằng 0.5 ( hay nói cách khác số gia của khoảng cho trước so với khoảng cách từ A tới điểm cần tìm) như ví ụ bạn làm cho mình đáy nếu mình thay KC là 18 thì N#A làm sao mình thay bằng 18 tìm cho mình là điểm E còn mình thay 16 tìm cho minh được điểm D
Nhỏ hơn hoặc bằng 0.5 vậy tại sao 18 lại lấy 20 (20-18=2) và 16 lại lấy 15 (16-15=1)
 
Upvote 0
mình lấy ví dụ là như vậy với ví dụ mà bạn làm thì phải chọn số gia là 3 mới đúng chứ không là 0.5 nữa
 
Upvote 0
sẽ cố định với ví dụ đó mình cố định là 3 bạn giúp luôn xem nhé
 
Upvote 0
Web KT

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

Back
Top Bottom