العودة إلى المدونة

أسعار الصرف الحية في Excel: دليل Power Query وWEBSERVICE وواجهة العملات

V
Vlado Grigirov
August 18, 2026
Currency API Exchange Rates Excel Power Query Tutorial Finexly

كل شرح عن الحصول على أسعار الصرف الحية في Excel يَعِد بالشيء نفسه ثم يقدّم في صمت شيئًا آخر. تتبع الخطوات، فيظهر رقم في الخلية ويبدو حيًّا. غالبًا ليس كذلك. إنه سعر مرجعي يُحدَّث مرة واحدة يوميًا، أو تسعيرة متأخرة، أو جدول HTML مسحوب بالكشط سيعيد لك العملة الخطأ بهدوء في المرة التالية التي تحدّث فيها البيانات.

يغطي هذا الدليل الطرق الأربع التي تعمل فعلًا — نوع بيانات العملات المدمج في Excel، ودالة WEBSERVICE، وPower Query، ودالة LAMBDA قابلة لإعادة الاستخدام — والأهم أنه يخبرك أيها يعمل في نسختك أنت من Excel، ومدى حداثة بيانات كل طريقة في الواقع، وأين تنتج كل واحدة منها أرقامًا خاطئة دون أن تُظهر أي خطأ.

كل صيغة وكل استعلام أدناه كُتب استنادًا إلى أشكال الاستجابة الموثّقة في واجهة Finexly API واختُبرت صحته قبل النشر.

الطرق الأربع، وأيها يمكنك استخدامه فعليًا

ميزات العملات في Excel مرتبطة بالإصدار على نحو غير معتاد. نصف الشروحات في هذا الموضوع توصي بطريقة غير موجودة أصلًا على جهاز القارئ. ابدأ من هنا.

الطريقةتعمل فيتكرار التحديث الفعليهل يمكن إرسال مفتاح API بأمان؟الأنسب لـ
نوع بيانات العملاتMicrosoft 365 (Windows وMac) وExcel للويب. غير متاح في 2016/2019/2021/2024متأخر، بلا فاصل زمني معلن؛ تحديث يدوي أو عند الفتحلا ينطبق — لا توجد واجهة APIنظرة سريعة على السعر، وعدد قليل من الأزواج
WEBSERVICEسطح مكتب Windows فقط: M365 و2024 و2021 و2019 و2016. غير متاح على Mac أو الويب أو الجوالما تعيده واجهتك — لكن الدالة متقلّبة❌ لا. يجب وضع المفتاح في عنوان URLخلية أو خليتان، ونماذج أولية سريعة
Power QueryExcel 2016 فما فوق على Windows. يتوفر Power Query في M365 لـ Mac لكن بلا موصّل ويبما تعيده واجهتك، عند التحديث✅ نعم، عبر Headers في Mجداول الأسعار، والتحويل بالجملة، وبيئة الإنتاج
غلاف LAMBDAExcel 2021 فما فوق/M365 على Windows (يرث قيود WEBSERVICE)مثل WEBSERVICE❌ لادالة =FXRATE() نظيفة لمستخدمي الجداول
تنتج عن هذا الجدول نتيجتان مباشرتان:

  1. إن كنت على Mac، فموصّل الويب في Power Query غير مدرج ضمن مصادرك المتاحة، وWEBSERVICE لا تعمل إطلاقًا. تقول Microsoft صراحةً إن WEBSERVICE "قد تظهر في معرض الدوال في Excel لـ Mac، لكنها تعتمد على ميزات نظام تشغيل Windows، لذا لن تُرجع أي نتائج على Mac". مستخدمو Mac على Microsoft 365 محصورون واقعيًا في نوع بيانات العملات.
  2. إن كنت على ترخيص دائم لـ Excel 2019 أو 2021 أو 2024، فنوع بيانات العملات غير متاح لك — أنواع البيانات المرتبطة حصرية على Microsoft 365 وExcel للويب. طريقك هو WEBSERVICE أو Power Query.

الطريقة 1: نوع بيانات العملات المدمج في Excel

هذا هو الخيار الخالي من البرمجة، وهو الذي تبدأ به معظم المقالات.

  1. اكتب أزواج العملات في عمود باستخدام رموز ISO 4217 مفصولة بشرطة مائلة أو نقطتين — USD/EUR، GBP:JPY. (إن لم تكن متأكدًا من الرمز المناسب، فإن مرجع ISO 4217 لدينا يسردها كلها.)
  2. حدّد الخلايا ثم انتقل إلى بيانات → أنواع البيانات → العملات.
  3. تتحول كل خلية إلى سجل مرتبط بأيقونة عملة صغيرة. انقر على الأيقونة أو استخدم زر إدراج البيانات واختر Price لتوزيع السعر في الخلية المجاورة.
  4. حدّث البيانات عبر بيانات → تحديث الكل.

ما تَعِد به Microsoft فعليًا

هذا هو الجزء الذي تتخطاه الشروحات. تحمل صفحة العملات في وثائق Microsoft نفسها تنبيهًا: "تُقدَّم معلومات العملات 'كما هي' وقد تكون متأخرة. لذلك لا ينبغي استخدام هذه البيانات لأغراض التداول أو تقديم المشورة." لا يوجد فاصل تحديث معلن لأزواج العملات. تأتي البيانات المالية الأساسية من LSEG Data & Analytics (المعروفة سابقًا بـ Refinitiv) وتُعرض عبر Bing.

وثلاثة قيود أخرى تهمّك إن كنت تبني شيئًا حقيقيًا:

  • التوافر مرتبط بالمستأجر (tenant). تذكر Microsoft أن "أزواج العملات متاحة فقط لحسابات Microsoft 365 (عملاء Worldwide Multi-Tenant)". إن كانت مؤسستك على سحابة سيادية أو حكومية، فسيظهر زر العملات باهتًا ولن يغيّر ذلك أي قدر من استكشاف الأخطاء.
  • لا يوجد تحديث من جانب الخادم. لا تُحدَّث أنواع البيانات المرتبطة إلا والمصنّف مفتوح في Excel. خيار التحديث التلقائي كل خمس دقائق موجود لكنه مقصور حاليًا على برنامج Insiders، وتشير Microsoft إلى أن "بعض أنواع البيانات المرتبطة لا يمكن تحديثها إلا يدويًا".
  • الزوج معتم. تحصل على رقم. لا يمكنك رؤية الطابع الزمني ولا المصدر ولا الفارق السعري. أما الفوترة أو إعداد التقارير فتحتاج فيها إلى سعر قابل للتدقيق مرفق بتاريخ — وتلك مشكلة مختلفة تمامًا.

استخدم هذه الطريقة لإلقاء نظرة سريعة على السعر. لا تستخدمها مدخلًا لأي شيء ستضطر للدفاع عنه لاحقًا.

الطريقة 2: WEBSERVICE مع واجهة عملات

تنفّذ WEBSERVICE(url) طلب HTTP GET وتعيد جسم الاستجابة كنص. تأخذ وسيطًا واحدًا بالضبط — عنوان URL. وهذه الحقيقة وحدها تحكم كل شيء آخر في هذه الطريقة.

لماذا يجب أن يوضع مفتاح API في عنوان URL

لأن WEBSERVICE لا تملك مُعامل ترويسات، لا يمكنك إرسال Authorization: Bearer …. أي واجهة تستخدمها من WEBSERVICE يجب أن تقبل المفتاح كمُعامل استعلام. وFinexly تدعم الصيغتين:

# Recommended everywhere else — but impossible from WEBSERVICE
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/rate?from=USD&to=EUR"

# The query-parameter form, which is what WEBSERVICE needs
https://api.finexly.com/v1/rate?from=USD&to=EUR&api_key=YOUR_API_KEY

كن صريحًا مع نفسك بشأن المقايضة. المفاتيح الموضوعة في عناوين URL تُكتب في سجلات وصول الخادم وقد تتسرب عبر ترويسة referrer في HTTP، والمفتاح مخزَّن كنص صريح داخل المصنّف — أي أن كل من ترسل له الملف بالبريد يحصل على مفتاحك. استخدم مفتاحًا منفصلًا بحصة منخفضة للجداول، ولا تشارك أبدًا مصنّف WEBSERVICE يحتوي على مفتاح إنتاج.

صيغة عاملة

ضع عنوان URL في A1 والاستجابة الخام في A2:

A1:  ="https://api.finexly.com/v1/rate?from="&B1&"&to="&C1&"&api_key="&$D$1
A2:  =WEBSERVICE(A1)

تحتوي A2 الآن على نص الاستجابة حرفيًا:

{"pair":"USD_EUR","rate":0.9215}

الآن استخرج الرقم. تقريبًا كل شرح منافس يفعل ذلك بحسب الموضع — INDEX(TEXTSPLIT(...), 1, 6) — وهو ما ينكسر في صمت لحظة إضافة الواجهة لحقل جديد أو تبديلك لنقطة النهاية. ثبّت على اسم المفتاح بدلًا من ذلك:

=LET(
   raw,  A2,
   p,    FIND("""rate"":", raw) + 7,
   e,    MIN(IFERROR(FIND(",", raw, p), 9999), IFERROR(FIND("}", raw, p), 9999)),
   IFERROR(VALUE(MID(raw, p, e - p)), NA())
 )

تبحث هذه الصيغة عن النص الحرفي "rate":، وتتخطى أحرفه السبعة، وتقرأ حتى أول ما يأتي — فاصلة أو قوس إغلاق معقوف. وهي تعيد 0.9215 من استجابة /v1/rate ذات الحقلين و من استجابة /v1/convert-amount ذات الحقول الأربعة، وتعيد #N/A بدلًا من رقم خاطئ إن فشل الطلب. تتطلب LET إصدار Excel 2021 أو Microsoft 365؛ وعلى Excel 2016/2019 يمكنك كتابة استدعاءات FIND نفسها مباشرةً على حساب قابلية القراءة.

فخ التقلّب

WEBSERVICE دالة متقلّبة (volatile). فهي تُعيد الحساب مع كل تغيير في ورقة العمل تقريبًا، لا عند ضغط F9 فقط. ابنِ محوّلًا من 40 صفًا بدالة WEBSERVICE واحدة في كل صف، وستُطلق ضغطة مفتاح واحدة 40 طلب HTTP.

على الباقة المجانية البالغة 1,000 طلب شهريًا، هذا يعني نحو 25 ضغطة مفتاح قبل أن يُقطع عنك الوصول. هناك خطان للدفاع: إبقاء WEBSERVICE في خلية واحدة والإشارة إلى تلك الخلية في كل مكان آخر، أو تحويل الحساب إلى يدوي (الصيغ → خيارات الحساب → يدوي) أثناء البناء. والأفضل من ذلك استخدام Power Query، فهي غير متقلّبة.

الطريقة 3: Power Query — الطريقة التي تتوسّع

Power Query هي الطريقة الوحيدة هنا القادرة على إرسال ترويسة Authorization، والتحديث وفق جدول زمني، والتعامل مع جدول من خمسين ألف صف دون أن تنهار. وهي أيضًا الطريقة التي يعرضها كل شرح عبر النقرات في الواجهة الرسومية فقط، فلا تجد كود M الفعلي في أي مكان. ها هو.

افتح بيانات → إحضار البيانات → تشغيل محرر Power Query، ثم مصدر جديد → استعلام فارغ، ثم الصفحة الرئيسية → المحرر المتقدم، والصق:

let
    ApiKey = "YOUR_API_KEY",
    Pairs  = "USD_EUR,USD_GBP,USD_JPY,USD_CHF",
    Source = Json.Document(
        Web.Contents(
            "https://api.finexly.com",
            [
                RelativePath = "v1/convert",
                Query        = [ q = Pairs ],
                Headers      = [ #"Authorization" = "Bearer " & ApiKey ]
            ]
        )
    ),
    ToTable  = Record.ToTable(Source),
    Expanded = Table.ExpandRecordColumn(ToTable, "Value", {"rate"}, {"rate"}),
    Split    = Table.SplitColumn(
                   Expanded, "Name",
                   Splitter.SplitTextByDelimiter("_", QuoteStyle.None),
                   {"Base", "Quote"}
               ),
    Typed    = Table.TransformColumnTypes(
                   Split,
                   {{"Base", type text}, {"Quote", type text}, {"rate", type number}}
               )
in
    Typed

سمِّه FxRates وحمّله إلى ورقة عمل. ستحصل على جدول نظيف من ثلاثة أعمدة: Base وQuote وrate.

ثلاث تفاصيل في هذا الاستعلام تؤدي عملًا حقيقيًا، وثلاثتها غائبة عن كل شرح بالواجهة الرسومية:

  • Headers تُبقي المفتاح خارج عنوان URL. هذه أكبر ميزة أمنية منفردة تتفوق بها Power Query على WEBSERVICE.
  • فصل RelativePath وQuery عن عنوان URL الأساسي مقصود. إن دمجت العنوان كله في سلسلة نصية واحدة، فستصنّفه Power Query مصدر بيانات ديناميكيًا، ولا يمكن تحديث هذا النوع تلقائيًا دون تدخل في خدمة Power BI. أما تمرير المسار والاستعلام منفصلين فيُبقي المصدر ثابتًا وقابلًا للتحديث.
  • طلب واحد، أزواج كثيرة. تعيد /v1/convert كل زوج تطلبه في استدعاء واحد. المصنّف الذي يُحدَّث كل ساعة خلال يوم عمل من ثماني ساعات على مدى 22 يوم عمل يُجري بهذه الطريقة 176 طلبًا في الشهر. أما ثلاثون استدعاءً منفصلًا لـ /v1/rate بالجدول نفسه فتُجري 5,280 — أي خمسة أضعاف الحصة المجانية الشهرية، مقابل البيانات ذاتها.

دالة سعر قابلة لإعادة الاستخدام

للحصول على زوج واحد عند الطلب، غلّفه في دالة M:

let
    FxRate = (baseCode as text, quoteCode as text) as number =>
        let
            ApiKey = "YOUR_API_KEY",
            Source = Json.Document(
                Web.Contents(
                    "https://api.finexly.com",
                    [
                        RelativePath = "v1/rate",
                        Query        = [ from = baseCode, to = quoteCode ],
                        Headers      = [ #"Authorization" = "Bearer " & ApiKey ]
                    ]
                )
            )
        in
            Source[rate]
in
    FxRate

استدعِها من أي استعلام آخر بالشكل FxRate("USD", "EUR").

تحويل 50,000 صف دون 50,000 عملية بحث

سحب XLOOKUP إلى أسفل جدول كبير بطيء وهش — وإذا تغيّر حجم مخرجات الاستعلام عند التحديث، فإن مراجع الأعمدة الكاملة مثل F:F ستنزاح بهدوء. نفّذ الدمج داخل Power Query بدلًا من ذلك:

  1. حمّل جدول معاملاتك إلى Power Query.
  2. الصفحة الرئيسية → دمج الاستعلامات، بمطابقة عمود Currency مع FxRates[Quote].
  3. وسّع العمود المدموج واحتفظ بـ rate.
  4. إضافة عمود → عمود مخصص يحتوي على عملية التحويل.

هذا دمج واحد على الجدول بأكمله، يُقيَّم مرة واحدة في كل تحديث، دون أي صيغ متقلّبة في المصنّف كله.

الطريقة 4: دالة =FXRATE() قابلة لإعادة الاستخدام عبر LAMBDA

إن كان مستخدمو المصنّف من أهل الجداول لا من كتّاب الاستعلامات، فأخفِ كل ما سبق خلف دالة واحدة. انتقل إلى الصيغ → إدارة الأسماء → جديد، وسمِّها FXRATE، واضبط يشير إلى:

=LAMBDA(from_code, to_code, key,
   LET(
     url,  "https://api.finexly.com/v1/rate?from=" & from_code &
           "&to=" & to_code & "&api_key=" & key,
     raw,  WEBSERVICE(url),
     p,    FIND("""rate"":", raw) + 7,
     e,    MIN(IFERROR(FIND(",", raw, p), 9999), IFERROR(FIND("}", raw, p), 9999)),
     IFERROR(VALUE(MID(raw, p, e - p)), NA())
   )
 )

الآن يستطيع أي شخص كتابة =FXRATE("USD","EUR",$D$1) والحصول على 0.9215. خزّن المفتاح مرة واحدة في D1، واحمِ تلك الخلية، ولن تلمسه بقية المصنّف أبدًا. لاحظ أن هذه الطريقة ترث كل قيود WEBSERVICE — Windows فقط، والتقلّب، والمفتاح في عنوان URL — فهي مكسب في سهولة الاستخدام، لا في الأمان أو قابلية التوسع.

خمس طرق تنحرف بها تحويلات العملات في Excel في صمت

هذه أخطاء في صحة النتائج، لا رسائل خطأ. لا شيء يتحول إلى الأحمر. الأرقام ببساطة ليست ما تظنه.

1. الضرب بدل القسمة

هذا أشيع خطأ في شروحات العملات المنشورة عن Excel، ويستحق أن نكون دقيقين بشأن حجم الضرر. سعر USD_EUR البالغ 0.9215 يحوّل من USD إلى EUR. وللاتجاه المعاكس — من EUR إلى USD — تقسم.

  • الصحيح: 100 / 0.9215 = 108.52 USD
  • الخطأ: 100 × 0.9215 = 92.15 USD

تنحرف النتيجة بمقدار مربع السعر، 0.9215² = 0.8492 — أي تقدير أقل بنسبة 15.1% يبدو معقولًا تمامًا في تقرير. اكتب الاتجاه في عناوين أعمدتك (USD→EUR rate لا Rate) ليصبح ارتكاب الخطأ صعبًا.

2. تحليل JSON بحسب الموضع

تعمل INDEX(TEXTSPLIT(response, ":", "}"), 1, 6) تمامًا حتى تضيف الواجهة حقلًا جديدًا، وعندها يعيد الفهرس 6 قيمة مختلفة بلا أي خطأ. ثبّت على اسم المفتاح كما في صيغة LET أعلاه، أو استخدم Json.Document في Power Query التي تُحلّل البيانات تحليلًا سليمًا.

3. تقريب كل شيء إلى منزلتين عشريتين

يفترض Excel منزلتين عشريتين افتراضيًا؛ أما ISO 4217 فلا. JPY وKRW وVND بلا وحدات فرعية¥250.75 ليس مبلغًا صالحًا. وBHD وKWD وOMR وTND لها ثلاث منازل. تقريب إجمالي بالـ JPY إلى منزلتين ثم إعادة تقريبه لاحقًا هو الطريق المعتاد لانتهاء التسويات بفارق بضع وحدات. نغطي مجموعة القواعد كاملة في دليلنا عن تقريب العملات والمنازل العشرية.

4. اعتبار سعر منتصف السوق هو السعر الذي ستُحاسب عليه

كل سعر في هذه المقالة — وفي كل واجهة مجانية — هو سعر منتصف السوق: نقطة المنتصف بين سعر العرض وسعر الطلب. وهو ليس ما يمنحك إياه مصرفك أو شبكة بطاقتك أو مزوّد الدفع. تتراوح الفوارق السعرية الفعلية بين 0.5% تقريبًا وعدة نقاط مئوية. إن كنت تسعّر بضاعة أو تقدّم عرض سعر لعميل، فأضف عمود هامش صريحًا بدل التظاهر بأن سعر منتصف السوق هو سعر التسوية. يشرح مقالنا عن مصادر بيانات واجهات أسعار الصرف ما تمثّله هذه التغذيات وما لا تمثّله.

5. ترك مصنّف حي يعيد كتابة أرقام الشهر الماضي

هذه المسألة خطيرة ولا تكاد تُذكر. إن كانت خلايا الأسعار لديك تُحدَّث حيًّا، فإن كل صف تاريخي في المصنّف يُعاد تقييمه بسعر اليوم في كل مرة يفتح فيها أحدهم الملف. إيرادات مارس تتغير في أبريل. ولن تتطابق تسويتك مرتين أبدًا.

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

إضافة: الأسعار التقاطعية

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

EUR→GBP  =  USD_GBP / USD_EUR  =  0.7892 / 0.9215  =  0.856430
1,000 EUR  =  856.43 GBP

قرّب في الخطوة الأخيرة فقط. تقريب السعر التقاطعي الوسيط إلى أربع منازل ثم الضرب يُدخل خطأً يتراكم عبر جدول كبير. تجد تفصيلًا أوفى في دليلنا عن الأسعار التقاطعية.

التحديث التلقائي وحدود الطلبات والبقاء ضمن الباقة المجانية

لجعل جدول أسعار Power Query يُحدِّث نفسه: انقر بزر الفأرة الأيمن على الاستعلام في الاستعلامات والاتصالات → خصائص، ثم فعّل تحديث البيانات عند فتح الملف و/أو التحديث كل N دقيقة.

أمران لا يحذّرك منهما أحد:

  • التحديث عند الفتح يُطلق تنبيه أمان البيانات الخارجية في Excel. سيرى المستخدمون شريطًا أصفر، ولن يفعل التحديث "التلقائي" شيئًا حتى ينقروا على تمكين. وإضافة المجلد إلى مركز التوثيق → مواقع موثوقة تتجنب ذلك.
  • التحديث كل 15 دقيقة مقابل سعر يُنشر يوميًا هدر خالص. طابق الفاصل الزمني مع وتيرة التغيّر الفعلية لمصدرك. ولمعظم أعمال الفوترة والتقارير، مرة واحدة عند الفتح تكفي وتزيد.

راقب استهلاكك عبر ترويسات الاستجابة التي تعيدها Finexly — X-RateLimit-Limit وX-RateLimit-Used وX-RateLimit-Units. تتيح الخطة المجانية 1,000 طلب شهريًا بلا بطاقة ائتمان، وهو رقم مريح لمصنّف يُحدَّث عند الفتح وضيّق لشبكة WEBSERVICE متقلّبة. وإن كنت تقترب من السقف باستمرار، فالحل دائمًا تقريبًا هو التجميع في /v1/convert لا الانتقال إلى خطة مدفوعة. ويغطي دليل التخزين المؤقت ومعالجة الأخطاء لدينا المبادئ نفسها خارج Excel.

استكشاف الأخطاء وإصلاحها

العَرَضالسببالحل
#VALUE! من WEBSERVICEبروتوكول غير مدعوم، أو عنوان URL يتجاوز 2,048 حرفًا، أو استجابة تتجاوز حد الخلية البالغ 32,767 حرفًااستخدم https، واختصر الاستعلام، واطلب أزواجًا أقل في كل استدعاء
WEBSERVICE لا تعيد شيئًا على Macغير مدعومة خارج سطح مكتب Windowsاستخدم نوع بيانات العملات أو انقل المصنّف إلى Windows
زر العملات باهت وغير قابل للنقرلست على Microsoft 365، أو الحساب ليس متعدد المستأجرينتحقق من ترخيصك؛ فالترخيص الدائم من Excel لا يتضمن أنواع البيانات المرتبطة
#BUSY! أو #CONNECT!نوع البيانات المرتبط ما زال قيد التحليل، أو لا يوجد اتصالانتظر، ثم بيانات → تحديث الكل
Power Query: "مصدر بيانات ديناميكي" عند التحديثدُمج العنوان كله في سلسلة نصية واحدةافصله إلى RelativePath وQuery كما هو موضح أعلاه
#N/A بعد التحديثرمز العملة غير موجود في الاستجابة، أو انزاحت نطاقات البحثغلّفه بـ IFNA، واستخدم مراجع الجداول المنظَّمة بدل F:F
401 UNAUTHORIZEDالمفتاح مفقود أو مشوّه أو أُرسل كترويسة حيث يلزم مُعامل استعلامتأكد من أسلوب المصادقة الذي تدعمه الطريقة

الأسئلة الشائعة

هل يستطيع Excel جلب أسعار صرف في الوقت الفعلي؟ ليس في الوقت الفعلي حقًا. فنوع بيانات العملات موثَّق صراحةً بأنه متأخر وبلا فاصل زمني معلن، ومعظم الواجهات المجانية تنشر مرة واحدة في يوم العمل. ما يمكنك الحصول عليه هو السعر الحالي — سعر يُحدَّث عند الطلب من مصدر حي، وهو ما تمنحه إياك واجهة العملات. أما تداول الفوركس بدقة التِّك فيلزمه بث مباشر لا جدول بيانات.

كيف أحصل على أسعار الصرف في Excel دون مفتاح API؟ لا يحتاج نوع بيانات العملات إلى مفتاح، لكنه يتطلب Microsoft 365 ولا يمنحك طابعًا زمنيًا ولا أثرًا للتدقيق. ولأي شيء ستضطر لتسويته لاحقًا، تبقى الواجهة ذات المفتاح هي الإجابة الأفضل — وباقة واجهة العملات المجانية لا تكلّف شيئًا.

لماذا لا تعمل WEBSERVICE في Excel لـ Mac؟ تنص وثائق Microsoft على أن WEBSERVICE تعتمد على ميزات نظام تشغيل Windows، لذا فهي لا تعيد أي نتيجة على Mac رغم ظهورها في معرض الدوال. وينطبق الأمر نفسه على FILTERXML. ويُفضَّل لمستخدمي Mac استخدام Power Query حيثما أمكن، أو نوع بيانات العملات.

كيف أحصل على أسعار صرف تاريخية في Excel لتاريخ محدد؟ ابنِ جدول أسعار بصف واحد لكل تاريخ، تملؤه من مصدر أسعار تاريخية، ثم استخدم XLOOKUP عليه بوضع مطابقة -1 كي تعود عطلات نهاية الأسبوع والأعياد إلى آخر يوم عمل متاح. ولا تعِد أبدًا تقييم المعاملات السابقة بسعر اليوم.

هل أستطيع استخدام Power Query لتحويل جدول معاملات كامل دفعة واحدة؟ نعم، وينبغي أن تفعل. ادمج استعلام معاملاتك مع استعلام الأسعار على رمز العملة، ووسّع عمود السعر، وأضف عمودًا مخصصًا للمبلغ المحوّل. عملية دمج واحدة تحل محل عشرات الآلاف من الصيغ المتقلّبة وتُحدَّث في تمريرة واحدة.

أي طريقة ينبغي أن أختار؟ زوج واحد وفحص عَرَضي: نوع بيانات العملات. نموذج أولي على Windows: WEBSERVICE. أي شيء يعتمد عليه آخرون: Power Query، في كل مرة.


هل أنت مستعد لإدخال الأسعار الحالية إلى جدولك على النحو الصحيح؟ احصل على مفتاح Finexly API المجاني — بلا بطاقة ائتمان. تحصل على 1,000 طلب شهريًا عبر أكثر من 170 عملة، ومُعامل الاستعلام api_key الذي يجعل WEBSERVICE ممكنة، ومصادقة عبر الترويسات لـ Power Query. راجع وثائق API للاطلاع على مرجع نقاط النهاية الكامل، أو قارن بين واجهات العملات إن كنت ما تزال تقيّم الخيارات.

Vlado Grigirov

Senior Currency Markets Analyst & Financial Strategist

Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...

View full profile →