بلغ متوسط سعر USD/IDR لشهر سبتمبر 2026 17,742.56، وهو متوسط 22 ملاحظة يومية من 17,744.7 في 1 سبتمبر إلى 17,891.1 في 30 سبتمبر. اطلب أسعار الشهر اليومية مرة واحدة ثم احسب متوسطها.
احسب المتوسط باستخدام API
استخدم الملاحظات اليومية للشهر الذي تريد حساب متوسطه. اجمع الأسعار المعادة واقسم المجموع على عدد الملاحظات، مع إعطاء كل ملاحظة الوزن نفسه. يستخدم الطلب USD أساسًا وIDR عملةً مطلوبة. أبقِ هذا الزوج مرافقًا للنتيجة عند استخدام المتوسط في جدول أو في حساب فاتورة.
- احصل على مفتاح واضبط متغير البيئة احصل على مفتاح مجاني من narwhalapi.com/signup ثم ضعه في متغير البيئة
NARWHAL_API_KEY. يقرأ السكربت هذا المتغير ويرسل المفتاح في ترويسةAuthorizationعلى شكل رمز Bearer. - حدد الشهر والعملة استخدم تاريخي بداية الشهر ونهايته مع نقطة نهاية الملاحظات اليومية. يختار الطلب في السكربت IDR لشهر سبتمبر 2026 مع USD أساسًا. وقيمة
limitفيه كافية لصفوف ملاحظات الشهر. - اطلب الأسعار واحسب المتوسط يطلب السكربت الملاحظات، ويُبقي كل تاريخ بجانب سعره، ويحسب المتوسط الحسابي. ثم يطبع عدد الملاحظات والمتوسط، يليهما أول ملاحظة مؤرخة وآخرها. يقرأ الحساب السعر من
ratesداخل كل ملاحظة ويحوّله إلى رقم قبل جمعه. ويُبقي التاريخ بجانب هذا الرقم، فيحتفظ الصفان الأول والأخير المطبوعان بتاريخيهما.import os import requests r = requests.get( "https://api.narwhalapi.com/v1/fx/rates/USD/observations", params={ "currencies": "IDR", "start_date": "2026-09-01", "end_date": "2026-09-30", "limit": 100, }, headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"}, timeout=10, ) r.raise_for_status() days = [(d["date"], float(d["rates"][0]["rate"])) for d in r.json()["observations"]] print(len(days), "days, average", round(sum(v for _, v in days) / len(days), 2)) print("first", days[0], "last", days[-1]) - اقرأ التواريخ مع النتيجة اقرأ أول تاريخ معاد وآخر تاريخ مع الشهر الذي طلبته. احتفظ بهذه التواريخ وبعدد الملاحظات مع المتوسط ليكون للنتيجة فترة واضحة وتبقى الصفوف اليومية خلفها قابلة للتحديد.
لا يمكن أن يزيد عدد صفوف الملاحظات اليومية في الشهر على 100 صف، لذلك يغطي حد الطلب هذا الحساب. وللفترات الأطول، اتبع next_cursor لجلب الملاحظات المتبقية. يحتاج متوسط فترة أطول إلى ملاحظات تلك الفترة، وقد تتضمن الاستجابة الأولى وحدها جزءًا منها فقط.
احسب المتوسط في جدول
لشهر واحد يدويًا، الصق الأسعار اليومية في العمود B وأبقِ تواريخ الملاحظات بجانبها. استخدم صفوف الشهر الذي تريد حساب متوسطه. يضم مثال USD/IDR لسبتمبر 2026 22 ملاحظة، فتقع الأسعار ضمن النطاق الذي تستخدمه هذه الصيغة:
=AVERAGE(B2:B23)تحسب الصيغة المتوسط البسيط للأسعار في ذلك النطاق. وتسهم كل ملاحظة يومية بالقدر نفسه، كما في حساب Python. أبقِ عمود التاريخ عند لصق الأسعار لتعرف الشهر الذي تمثله الخلايا وأول ملاحظة وآخر ملاحظة مشمولتين.
لحساب متوسط لكل شهر في قائمة أطول، استخدم AVERAGEIFS. استخدم تواريخ الملاحظات لاختيار الشهر الذي تسهم أسعاره في كل متوسط. يتيح لك ذلك إبقاء قائمة أطول من الملاحظات المؤرخة معًا مع حساب متوسط لكل شهر من صفوفه.
متى تستخدم كل خيار
| الحالة | الخيار الأنسب | السبب |
|---|---|---|
| شهر واحد يدويًا | الجدول | تحسب AVERAGE متوسط الأسعار اليومية للشهر |
| أشهر أو عملات متعددة | السكربت مع حلقة على تواريخ البداية والنهاية | كرّر حساب الملاحظات اليومية لكل شهر أو عملة مطلوبة |
| سعر السياسة المحاسبية الجاهز للتدقيق | السعر الذي تحدده سياستك المحاسبية | تعتمد الطريقة المطلوبة على تلك السياسة |
يحسب الجدول والسكربت متوسط الملاحظات اليومية. وقد تتطلب السياسة المحاسبية طريقة مختلفة، مثل متوسط أسعار نهاية الشهر أو متوسط مرجّح. حدد الطريقة التي تتطلبها حساباتك قبل استخدام النتيجة سعرًا للفاتورة.
هل أحسب عطلات نهاية الأسبوع في المتوسط الشهري؟
لا. تتضمن البيانات أيام الملاحظات فقط، ولا توجد صفوف لعطلات نهاية الأسبوع. والمعتاد حساب متوسط أيام الملاحظات هذه. اقسم المجموع على عدد الصفوف المعادة في هذا المتوسط الحسابي. أما استخدام أيام التقويم فيغيّر الحساب لأن المجموع يضم الملاحظات اليومية المعادة فقط. أبقِ المتوسط مرتبطًا بالتواريخ التي لها سعر فعلًا.
أي متوسط تحتاج إليه حساباتي؟
يعتمد ذلك على سياستك المحاسبية؛ اسأل محاسبك عن السعر والطريقة اللذين تحددهما. المتوسط الحسابي للملاحظات اليومية أحد الخيارات الشائعة. وتشترط بعض القواعد المحاسبية بدلًا منه متوسط أسعار نهاية الشهر أو متوسطًا مرجّحًا. وتستخدم هذه الطرق اختيارًا مختلفًا للأسعار أو أوزانًا مختلفة، لذلك لا يحدد المتوسط اليومي وحده السعر الذي ينتمي إلى حساباتك.
ماذا لو بدأت الاستجابة بعد الشهر الذي طلبته؟
يقرأ كل حساب السجل الكامل. اقرأ أول تاريخ مُرجَع قبل اعتبار النتيجة متوسطًا شهريًا كاملًا. وإذا بدأت الاستجابة في منتصف الشهر، فإن الرصدات المُرجَعة تغطي ذلك الجزء فقط.
مثال محلول: USD/IDR لسبتمبر 2026
لشهر سبتمبر 2026، خذ متوسط 22 ملاحظة يومية لـ USD/IDR في الشهر. تاريخ أول ملاحظة 1 سبتمبر 2026 وآخر ملاحظة 30 سبتمبر 2026. اجمع الأسعار اليومية واقسم على عدد الملاحظات، ثم استخدم المتوسط الناتج في حساب الفاتورة.
| حساب سبتمبر 2026 | القيمة |
|---|---|
| المشاهدات اليومية | 22 |
| السعر في 1 سبتمبر 2026 | 17,744.7 |
| السعر في 30 سبتمبر 2026 | 17,891.1 |
| المتوسط الحسابي للملاحظات اليومية | 17,742.56 |
| مبلغ الفاتورة | USD 8,000 |
| الفاتورة بالمتوسط الشهري | الحساب: 8,000 × 17,742.56 = 141,940,480 IDR |
نُشر في .