كيفية حساب المسافة بين مدينتين في Excel

  • شارك هذا
Hugh West

هناك عدة استخدامات لـ Excel . قد تحدد الوظيفة والصيغة الخاصة الرائعة في Microsoft Excel الفصل بين مدينتين أو موقعين محددين على هذا الكوكب. من الأهمية بمكان أن تكون قادرًا على حساب المسافة بين أي مكانين على الخريطة. يمكّنك من حساب المسافة الفعلية وسيزودك بتقدير لائق للمدة التي ستستغرقها سفرك. ولكن مع التفوق يمكننا القيام بذلك بسهولة. في هذه المقالة ، سنشرح عدة طرق لحساب المسافة بين مدينتين في Excel.

تنزيل المصنف التدريبي

يمكنك تنزيل المصنف والتدريب معهم.

حساب المسافة بين مدينتين. xlsm

مقدمة مجموعة البيانات

لحساب المسافة بين مدينتين ، أولاً ، نحتاج إلى إعداد مجموعة البيانات. لنفترض أن لدينا مدينتين لوس أنجلوس وهي مدينة رئيسية في ولاية كاليفورنيا ، و باسكو وهي مدينة واشنطن . الآن ، علينا إيجاد المسافة بينهما. لهذا ، يجب أن نعرف خط العرض و خط الطول لكلتا المدينتين. يمكننا ببساطة العثور على خطوط الطول والعرض لأي مدينة باستخدام برنامج Excel. دعونا نرى كيف يمكننا القيام بذلك.

الخطوات:

  • أولاً ، حدد الخلية حيث نضع اسم المدن. في حالتنا ، نختار الخلايا B5 ، و B6 .
  • ثانيًا ، انتقل إلى علامة التبويب البيانات من علامة التبويبالشريط.
  • ثالثًا ، في فئة أنواع البيانات انقر فوق الجغرافيا .

  • ثم ، للعثور على خط العرض ، حدد الخلية حيث وضعت خط العرض واكتب الصيغة هناك.
=B5.Latitude

  • اضغط على أدخل لمشاهدة النتيجة.

  • وبالمثل ، نجد خط عرض الخلية B6 .
  • الآن ، للعثور على خط الطول ، وبالمثل ، خط العرض ، حدد خلية وضع الصيغة التالية في تلك الخلية.
=B5.Longitude

  • اضغط على أدخل على لوحة المفاتيح.

  • وبالمثل ، نحصل على خط الطول B6 باتباع الخطوات السابقة.
  • هذا كل شيء ، الآن لدينا خط الطول وخط العرض لكلتا المدينتين. لذلك ، مجموعة البيانات لدينا جاهزة الآن للاستخدام.

5 طرق مختلفة لحساب المسافة بين مدينتين في Excel

إيجاد المسافة بين مكانين سيمكننا بعد ذلك من تحديد المسافة الفاصلة بين مسكنين. يمكننا تقدير المدة التي سنحتاجها للتنقل بين المنازل باستخدام هذه المعلومات. للعثور على المسافة بين مدينتين ، نستخدم مجموعة البيانات أعلاه التي أنشأناها للتو.

1. تطبيق صيغة Haversine لحساب المسافة بين مدينتين

إحدى المعادلات الأساسية لاستكشاف المحيطات هي صيغة Haversine ، والتي يمكن استخدامها لحساب المسافة بين موقعين علىشريطة أن تحدد المستوى الكروي خط العرض وخط الطول وكذلك نصف قطر نصف الكرة الأرضية. أجهزة نظام تحديد المواقع العالمي قامت بأتمتة ذلك بشكل أساسي. دعنا نتبع الخطوات لاستخدام الصيغة لحساب المسافة بين مدينتين.

الخطوات:

  • للبدء ، حدد الخلية التي تريد احصل على المسافة ، لذلك ، نختار الخلية C8 .
  • ثم ضع صيغة Haversine في تلك الخلية المحددة.
=3959*ASIN(SQRT((SIN(C6-C5)/2)^2+COS(C5)*COS(C6)*(SIN(D6-D5)/2)^2))

  • أخيرًا ، اضغط على مفتاح أدخل لرؤية النتيجة.

  • لذلك ، باستخدام الصيغة نحصل على النتيجة 1367.581282 .

اقرأ المزيد: كيفية حساب مسافة القيادة بين عنوانين في Excel

2. حساب المسافة بين مدينتين باستخدام وظائف Excel ACOS و SIN و COS و RADIANS

جيب التمام العكسي للقيمة هو ما ترجع الدالة ACOS . يتم إرجاع جيب الزاوية بالتقدير الدائري بواسطة دالة Excel SIN . يتم إرجاع جيب تمام الزاوية بالتقدير الدائري بواسطة دالة COS بواسطة . يتم تغيير الراديان إلى درجات باستخدام وظيفة Excel RADIANS . يمكننا تجميع هاتين الدالتين للحصول على المسافة بين مدينتين. كما تم تشغيله آليًا بشكل أساسي باستخدام أجهزة GPS . دعنا نطبق مزيجًا من هذه الوظائف للحصول على المسافة بين مدينتين من خلال اتباع الخطوات.

الخطوات:

  • في المقام الأول ،اختر الخلية التي ترغب في الحصول على المسافة ؛ في هذه الحالة ، نختار الخلية C8 .
  • بعد ذلك ، أدخل مجموعة صيغة الوظيفة في الخلية المختارة.
=ACOS(COS(RADIANS(90-C5)) *COS(RADIANS(90-C6)) +SIN(RADIANS(90-C5)) *SIN(RADIANS(90-C6)) *COS(RADIANS(D5-D6))) *6371

  • لعرض النتيجة ، اضغط على مفتاح أدخل في النهاية.

  • وهكذا ، بتطبيق الصيغة ، نصل إلى الرقم 1357.033633 .

اقرأ المزيد: كيف لحساب المسافة بين إحداثيات GPS في Excel

3. اجمع بين وظائف Excel CONCATENATE و SUBSTITUTE للحصول على مسافة بين مدينتين

لدمج تسلسلين أو أكثر من الكلمات في عبارة واحدة ، استخدم دالة النص CONCATENATE . يمكن ضم حوالي ثلاثين قطعة نصية باستخدام وظيفة Excel CONCATENATE ، والتي تُرجع النتيجة كنص. تستخدم وظيفة الاستبدال في Excel المقارنة لتعديل النص في سلسلة محددة. يمكننا الجمع بين هاتين الوظيفتين لإنشاء رابط Google Map للعثور على المسافة بين عنوانين باستخدام. دعنا نستخدم الصيغة للحصول على المسافة بين مدينتين من خلال اتباع الخطوات.

STEPS:

  • وبالمثل ، في الطريقة السابقة ، اختر الخلية حيث ترغب في الحصول على Google Map ؛ في هذه الحالة ، نختار الخلية C8 .
  • ثم أدخل الصيغة في تلك المحددةخلية.

=CONCATENATE("//maps.google.co.uk/maps?f=d&source=s_d&saddr=",

SUBSTITUTE(B5," ","+"),"&daddr=",SUBSTITUTE(B6," ","+"))

  • لعرض النتائج ، اضغط على مفتاح أدخل .

بمساعدة هذه الصيغة ، يمكنك الارتباط بـ Google Map هذا يوضح الطريق من لوس أنجلوس إلى باسكو . ستُضاف المدن إلى الرابط باستخدام الوظيفة CONCATENATE ، وستُضاف أسماء المدن باستخدام وظيفة SUBSTITUTE .

  • بعد ذلك ، أدخل هذا الرابط في مربع البحث بالمستعرض الخاص بك لمعرفة مدى تباعد هاتين المدينتين عن بعضهما البعض.

CONCATENATE و يمكن أيضًا استخدام وظائف SUBSTITUTE في Excel لتحديد المسافة بين مدينتين على هذا الكوكب.

اقرأ المزيد: كيفية حساب الأميال بين عنوانين في Excel (طريقتان)

4. قم بإنشاء وظيفة LAMBDA لحساب المسافة بين مدينتين

تُستخدم وظيفة LAMBDA في Excel لإنشاء وظائف مخصصة يمكن استخدامها عبر ورقة العمل والوصول إليها بأسماء مألوفة. بمجرد أن يتم تعريفها وإعطائها اسمًا ، يمكننا استخدام هذه الوظائف في أي مكان في مصنفنا.

المعادلة الرئيسية للمسافة هي:

D = acos (sinΦ 1 . sinΦ 2 + cosΦ 1 . cosΦ 2 cos Δλ) . R

حتى لو بدت ساحقة بعض الشيء ، فإن المدخلات أكثر ما يهمنا هو:

  • خط عرض نقطة البداية وخط الطول.
  • خط العرض وخط الطول للموقع النهائي.

لذلك في الصيغة أو المعادلة.

  • Δλ يشير إلى الفرق بين خطي الطول ( lon_2-lon_1 ).
  • Φ 1 و Φ 2 تشير بالتتابع إلى lat_1 و lat_2 .
  • R تشير إلى نصف قطر السطح .

دعونا ننشئ وظيفة LAMBDA لحساب المسافة بين مدينتين باتباع الخطوات لأسفل.

STEPS:

  • أولاً ، حدد الخلية C8 .
  • علاوة على ذلك ، ضع الصيغة في تلك الخلية.
=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2)) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1))) * r))(C5,D5,C6,D6)

  • ثم اضغط أدخل .

  • سيظهر هذا النتيجة ، لكن الصيغة كبيرة جدًا وقد يكون من الصعب فهمها أثناء استخدام هذا مرات عديدة.
  • لذا ، بدلاً من القيام بذلك ، يمكننا إنشاء صيغة مخصصة باستخدام وظيفة LAMBDA .
  • لهذا ، انتقل إلى علامة التبويب الصيغ من الشريط.
  • ضمن مجموعة الأسماء المحددة ، انقر فوق الاسم مدير .

  • سيعرض هذا مربع الحوار مدير الاسم .
  • الآن ، انقر فوق في قائمة جديد .

  • سينقلك هذا إلى نافذة اسم جديد .
  • علاوة على ذلك ، قم بتسمية الصيغة ، لأننا نريد حساب المسافة بين مدينتين ، لذلك وضعنا اسم الصيغة CityDistance .
  • ثم ، ضع الصيغة التالية في في مجال يشير إلى .

=LAMBDA(_lat1, _lon1, _lat2, _lon2, LET(lat_1, RADIANS(_lat1),lon_1, RADIANS(_lon1),lat_2,RADIANS(_lat2),lon_2, RADIANS(_lon2),r, 6378,ACOS((SIN(lat_1) * SIN(lat_2)) + (COS(lat_1) * COS(lat_2) * COS(lon_2-lon_1))) * r))

  • ثم انقر فوق موافق .

  • سينقلك هذا إلى مربع الحوار name Manager مرة أخرى.
  • علاوة على ذلك ، انقر فوق الزر زر إغلاق لإكمال العملية.

  • الآن ، يمكنك العثور على وظيفة مخصصة جديدة CityDistance . وباستخدام الدالة سوف تحصل على المسافة بين مدينتين.

  • وهكذا ، بتطبيق الصيغة ، نصل إلى الرقم 1358.524645 .

اقرأ المزيد: كيفية حساب مسافة Levenshtein في Excel (4 طرق سهلة)

5. احسب المسافة بين مدينتين باستخدام Excel VBA

إنشاء اتصال API ( واجهة برمجة التطبيقات ) والاستفادة منها لبناء وظيفة محددة بواسطة المستخدم في VBA طريقتان أخريان لتحديد المسافة بين موقعين. لجمع البيانات الخاصة بموقع ما ، يتصل Excel من خلال API بأي خريطة ، بما في ذلك خريطة Google و خريطة Bing . لذلك ، من أجل استخدام هذه التقنية ، يجب علينا أولاً إنشاء مفتاح API . هذا أمر بسيط حقًا ، ولكن للأسف ، لا تقدم Google سوى Bing Map API ، وليس Google. سنوضح هذه الطريقة من خلال استخدام مفتاح Bing Map API المجاني. انقر هنا لإنشاء مفتاح Bing Map API .

الخطوات:

  • لتبدأ ، لقد أنشأنا مفتاح API ووضعناه في الخلية C8 .

  • الآن ، انتقل إلى علامة التبويب المطور من الشريط.
  • ثم ، من فئة كود ، انقر فوق Visual Basic لفتح محرر Visual Basic . أو اضغط على Alt + F11 لفتح محرر Visual Basic .

  • بدلاً من القيام بذلك ، يمكنك فقط النقر بزر الماوس الأيمن فوق على ورقة العمل الخاصة بك والانتقال إلى عرض الرمز . سينقلك هذا أيضًا إلى محرر Visual Basic .

  • سيظهر هذا في محرر Visual Basic .
  • علاوة على ذلك ، انقر فوق الوحدة النمطية من إدراج شريط القائمة المنسدلة.

  • سيؤدي هذا إلى إنشاء وحدة في المصنف الخاص بك.
  • ثم انسخ والصق كود VBA الموضح أدناه.

رمز VBA:

2275
  • احفظ الكود عن طريق حفظ المصنف بأكمله كمصنف ممكّن بشكل دقيق وسيكون الملحق . xlsm .

  • سيؤدي ذلك إلى إنشاء اسم وظيفة معرف من قبل المستخدم CityDistance .

شرح كود VBA

  • بدأنا بإعطاء الوظيفة الاسم CityDistance . First City as String ، Second City as String ، و Target Value as String تم تضمينها أيضًا كوسيطات.
  • ثم أعلنا إعداد HTTP ككائن و نقطة أولية ، نقطة النهاية ، وحدة المسافة ، و عنوان الإخراج كسلاسل.
  • لاحقًا ، قمنا بتغيير ال وحدة المسافة إلى كيلومتر و النقطة الأولية إلى نقطة البداية للرابط عنوان Url .
  • بعد ذلك ، قمنا بتعيين المعلمات المطلوبة لإنشاء اتصال بين كود VBA و API .
  • ثم أنشأنا الوظيفة المحددة بواسطة المستخدم .

الاستنتاج

ستساعدك الطرق المذكورة أعلاه في حساب المسافة بين مدينتين في Excel . ارجوا ان يساعدك هذا! يرجى إخبارنا في قسم التعليقات إذا كان لديك أي أسئلة أو اقتراحات أو ملاحظات. أو يمكنك إلقاء نظرة على مقالاتنا الأخرى في مدونة ExcelWIKI.com !

هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.