جدول المحتويات
ستوضح لك المقالة كيفية حساب المسافة بين عنوانين في Excel. يحتوي Microsoft Excel على هذه الميزة الخاصة الرائعة والصيغة الخاصة بـ لإيجاد المسافة بين مكانين في العالم. إذا كان لديك إحداثيات GPS من مكانين ، يمكنك بسهولة تحديد المسافة بين هذين المكانين في أي وحدة تريدها.
تنزيل Practice Workbook
حساب المسافة بين عنوانين. xlsm
3 طرق لحساب المسافة بين عنوانين في Excel
في مجموعة البيانات الخاصة بنا ، لدينا خط العرض و خط الطول لـ أوهايو و ألاسكا . سنقوم بقياس المسافة بينهما.
خطوط العرض لـ أوهايو و ألاسكا هي 40.4173 شمال و 64.2008 شمال على التوالي. أيضًا ، خطي الطول لـ أوهايو و ألاسكا هما 82.9071 غرب و 149.4937 غربًا على التوالي.
1. استخدام صيغة Haversine لحساب المسافة بين عنوانين
إذا كنت جيدًا في الرياضيات ، فإن استخدام Haversine Formula سيكون مثاليًا لك. على الرغم من أنها ستعطيك نتيجة تقريبية ، إلا أنها جيدة جدًا.
أولاً وقبل كل شيء ، نحتاج إلى معرفة الصيغة الأساسية لطول القوس . وباستخدام هذه الصيغة ، نقارنها بالمسافة بين مكانين على الأرض. الصيغة معطاة أدناه.
S = rθ
S = المسافة بينعنوانان
r = نصف قطر الأرض
θ = الزاوية المقدمة في مركز الأرض بواسطة العنوانين
ولكن إذا كان لديك إحداثيات GPS من مكانين ، فأنت بحاجة إلى التحديد من Haversine Formula . انظر إلى صيغة Haversine الموضحة أدناه.
إذا قارنت هذا مع معادلة طول القوس ، فستحصل على مثل الصورة التالية.
دعنا نقدم لك معلمات صيغة Haversine .
φ 1 = خط عرض المكان الأول
φ 2 = خط عرض المكان الثاني
ℽ 1 = خط طول المركز الأول
ℽ 2 = خط عرض المكان الثاني
الآن ، سأوضح لك كيفية تطبيق هذه الصيغة في Excel خطوة بخطوة.
الخطوات:
- أولاً ، أنشئ خلية لتخزين قيمة المسافة واكتب الصيغة التالية في الخلية C8 .
=2*6400*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
تستخدم الصيغة ASIN ، SQRT ، <وظائف 1> SIN و COS . الأمر بسيط جدًا إذا ألقيت نظرة على Haversine Formula . نقيس المسافة بـ كيلومترات ، لذلك نضع نصف قطر الأرض بالكيلومترات وهو 6400 كم . ASIN يشير إلى الجيب المعكوس أو ArcSine . إذا قارنا زوايا المعلمة Haversine Formula مع صيغة Excel الخاصة بنا ، فإنناالحصول على ،
1 = خط عرض أوهايو (C5)
2 = خط عرض ألاسكا (C6)
ℽ 1 = خط طول أوهايو ( D5)
ℽ 2 = خط عرض ألاسكا (D6)
- بعد ذلك ، اضغط على الزر ENTER لمعرفة المسافة بين Ohio و Alaska في كيلومترات .
- بعد ذلك ، إذا كنت تريد قياس المسافة بالأميال ، فاستخدم الصيغة التالية في الخلية C8 .
=2*3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))
هنا ، استخدمنا نفس صيغة Excel التي استخدمناها لإيجاد المسافة في ميل . لهذا السبب ، نأخذ نصف قطر الأرض في ميل وهو 3959 .
وهكذا يمكنك حساب المسافة بين عنوانين من الأرض في Excel عن طريق تطبيق صيغة Haversine .
اقرأ المزيد: كيفية حساب المسافة بين إحداثيات في Excel (طريقتان)
2. تطبيق وظائف Excel CONCATENATE و SUBSTITUTE لحساب المسافة بين عنوانين
يمكنك إنشاء رابط Google Map للعثور على مسافة بين عنوانين باستخدام Excel CONCATENATE و البديل وظائف . دعنا ننتقل خلال العملية أدناه.
الخطوات:
- أولاً ، اكتب الصيغة التالية في C8 .
=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",
SUBSTITUTE(B5," ","+"),"&daddr=",SUBSTITUTE(B6," ","+"))
ستنشئ هذه الصيغة خرائط Google رابط لكيفية السفر من أوهايو إلى ألاسكا . ستضيف الوظيفة CONCATENATE العناوين في الرابط وستضع الوظيفة SUBSTITUTE اسم العناوين .
- بعد ذلك ، اضغط على الزر ENTER وسترى الرابط Google Map في C8 .
- بعد ذلك ، استخدم هذا الرابط في شريط البحث على الإنترنت وستحصل على معلومات المسافة حول هذين العنوانين .
أخيرًا ، يمكنك حساب المسافة بين عنواني الأرض في Excel عن طريق تطبيق CONCATENATE و SUBSTITUTE .
اقرأ المزيد: كيفية حساب المسافة بين مدينتين في Excel
3 . استخدام VBA لحساب المسافة بين عنوانين في Excel
يمكن أن تكون هناك طريقة أخرى لحساب المسافة بين عنوانين من خلال إنشاء API ( تطبيق واجهة البرمجة ) واستخدامها لإنشاء دالة محددة بواسطة المستخدم بواسطة VBA . يمكنك إنشاء ارتباط API في Bing مجانًا. لإنشاء خريطة Bing مفتاح API خاص بك ، انقر هنا .
الخطوات:
- أولاً ، انتقل إلى Developer & gt؛ & gt؛ Visual Basic .
- بعد ذلك ، حدد أدخل & gt؛ & gt؛ الوحدة النمطية لفتح وحدة VBA .
- لاحقًا ، اكتب الكود التالي في ملف وحدة VBA . نقوم بإنشاء دالة محددة بواسطة المستخدم لحساب مسافة في ميل .
9638
شرح الكود
- أولاً ، قمنا بتسمية الوظيفة على أنها DistanceInMiles . قمنا أيضًا بإدراج معلمات 3 : الموقع الأول كسلسلة ، والموقع النهائي كسلسلة و قيمة الهدف كسلسلة .
- بعد ذلك ، أعلنا Initial_Point ، Ending_Point ، Distance_Unit و Outout_Url كـ String ؛ Setup_HTTP كـ كائن .
- لاحقًا ، قمنا بتعيين Initial_Point كبداية لرابط URL ، Ending_Point كـ وجهة و مسافة_وحدة إلى أميال .
- بعد ذلك ، نقوم بتعيين المعلمات الضرورية لإنشاء علاقة بين VBA code و API
- أخيرًا ، أنشأنا الوظيفة المحددة بواسطة المستخدم .
- بعد ذلك ، باتباع نفس الإجراءات ، قمنا بعمل وظيفة أخرى محددة من قبل المستخدم للعثور على المسافة في كيلومترات .
أنت يمكننا رؤية ذلك ، لقد غيرنا للتو مسافة_وحدة إلى كيلومتر .
- بعد ذلك ، في الصورة التالية ، يمكنك رؤية API مفتاح في الخلية C8 .
- بعد ذلك ، اكتب الصيغة التالية في الخلية C8 .
=DistanceInMiles(E5,E6,C8)
- التالي ، اضغط على ENTER زر وسترى ملف المسافة بين أوهايو و ألاسكا في ميل .
- بعد ذلك ، استخدم الصيغة التالية لمعرفة المسافة في كيلومتر .
=DistanceInKM(E5,E6,C8)
وبالتالي ، يمكنك حساب المسافة بين عنوانين باستخدام مفتاح VBA و API .
اقرأ المزيد: كيفية حساب مسافة القيادة بين عنوانين في Excel
أشياء يجب تذكرها
- ضع ذلك في اعتبارك ، فأنت بحاجة إلى وضع إحداثيات GPS من هذه الحالات في البيانات لأنك تستخدم الإنترنت للعثور على المسافة. نظرًا لأن الحالات هي الغرب إلى خط الزوال ، فإن خطي الطول سيكونان سالبين.
قسم التدريب
في هذا القسم ، سأقدم لك مجموعة البيانات الخاصة بهذه المقالة حتى تتمكن من ممارسة هذه الطرق بنفسك.
الخاتمة
يكفي أن نقول ، سوف تتعلم طرقًا فعالة جدًا لكيفية حساب مسافة بين عنوانين في Excel بعد قراءة هذه المقالة. إذا كان لديك أي طرق أو أسئلة أو تعليقات أفضل بخصوص هذه المقالة ، فيرجى مشاركتها في مربع التعليقات. سيساعدني هذا في إثراء مقالاتي القادمة. لمزيد من الاستفسارات ، يرجى زيارة موقعنا على شبكة الإنترنت ExcelWIKI.com .