جستجو

ترفندهای کامپیوتری

حضرت علی (ع): «زَکوةُ العِلمِ نَشرُهُ؛ زکات علم نشر آن است».
وبلاگ "ترفندها" (سایت پی‌سی‌ترفند) برای عمل به این حدیث شریف و با هدف ارتقاء دانش و مهارت‌های مرتبط با رایانه در ۳۰ مهرماه ۱۳۹۱ ایجاد شده است. به امید آنکه مفید واقع شود.
🔵 کانال‌ پی‌سی‌ترفند در تلگرام:
telegram.me/pctarfandir
🔵 ارتباط با ادمین:
telegram.me/pctarfand_admin

خلاصه آمار

تبليغات

۰

جمع شرطی اعداد با واحدهای ارزی متفاوت در اکسل

اکسل ماکرونویسی

جمع شرطی اعداد با واحدهای ارزی متفاوت در اکسل

در اکسل برای محاسبه مجموع قیمت چند کالا با واحدهای ارزی محتلف روش مستقیم یا تابع مشخصی وجود ندارد. اگر برای شما هم سوال پیش آمده است که چطور می‌توان این جمع شرطی را انجام داد در ادامه مطلب با پی‌سی‌ترفند همراه باشید.

برای اینکار ابتدا نیاز است نمادهای مورد استفاده برای ارزهای مورد استفاده را داشته باشیم و سپس به کمک جمع شرطی مجموع اعداد را با توجه به واحد آنها محاسبه کرد. در صفحه کلید فقط نماد واحد دلار $ وجود دارد و برای سایر ارزها باید از بخش symbol یا جای دیگری این نمادها را در اکسل استفاده کرد. برای اینکه نیاز به جستجو نباشد می توان از کد ماکرو استفاده کرد.  مزیت دیگر اینکار این است که گاها استفاده از نمادهای موجود ممکن است موجب خطا در محاسبات شود.
برای ایجاد ماکرو جهت استخراج نماد ارزهای محتلف مراحل زیر را طی کنید.

کلیدهای Alt + F11 را فشار دهید یا از تب Developer قسمت code گزینه Visual Basic را انتخاب کنید. پنجره Microsoft Visual Basic ظاهر می‌شود. در این پنجره از تب Insert گزینه Module را انتخاب نمائید.

در پنجره باز شده کدهای زیر را کپی کنید.

Function GetCurrency(Cell As Range) As String
'pctarfand.ir & tarfandha.blog.ir'
    GetCurrency = Replace(Cell.NumberFormat, "\", "")
    GetCurrency = Mid(GetCurrency, 1, InStr(GetCurrency, "#") - 1)
End Function

کد را ذخیره کنید تا تابع GetCurrency آماده استفاده شود.

حال اگر مطابق شکل زیر در سلولی از تابع GetCurrency استفاده کنید در خروجی نماد استفاده شده در سلول مورد نظر استخراج می شود.

همین کار را برای واحدهای ارزی دیگر نیز انجام دهید.

مرحله بعد در واقع جمع شرطی است که چون شرط آن داشتن نماد مورد نظر است تابع جدیدی باید تعریف شود. برای اینکار کد ماکروی زیر را مطابق مراحل کد قبل در اکسل ذخیره کنید تا تابع SumCurrency آماده استفاده شود.

Function SumCurrency(ByVal Area As Range, ByVal CurrencySign As String) As Double
'pctarfand.ir & tarfandha.blog.ir'
  Dim R As Range
  For Each R In Area
    If InStr(R.NumberFormatLocal, CurrencySign) > 0 Then
      SumCurrency = SumCurrency + R.Value
    End If
  Next
End Function

حال اگر مطابق شکل زیر در سلولی از تابع SumCurrency استفاده کنید در خروجی مجموع اعداد با وحدهای ارزی مربوطه محاسبه می‌شود. این تایع دو ورودی دارد. ورودی اول آن محدود اعداد مورد نظر که در اینجا A2:A8 بود و ورودی بعد شرط تابع یعنی نماد ارز مربوطه است که بوسیله تابع قبل در ستون D و برای این مثال در سلول D2 استخراج شد.

مانند مثال زیر تابع GetCurrency را بدون استفاده مجزا، می‌توان درون تابع SumCurrency نیز استفاده کرد.

=SumCurrency(A2:A8,GetCurrency(A2))

روش دیگری با استفاده از فرمول آرایه ای برای انجام جمع شرطی فوق وجود دارد که در این سایت توضیح داده شده است.  

منابع:

social.technet.microsoft.com

answers.microsoft.com

برای مطلع شدن از جدیدترین مطالب سایت، کانال‌ پی‌سی‌ترفند در تلگرام را با آی‌دی pctarfandir@ دنبال کنید:

          

سوالات خود در زمینه ورد و اکسل و ... را می‌توانید از طریق ایمیل و تلگرام با ما مطرح کنید.

آدرس ایمیل: tarfandha.blog@gmail.com

آی‌دی تلگرام: pctarfand_admin@

نظرات (۰)
هیچ نظری هنوز ثبت نشده است

ارسال نظر

قبل از ارسال نظر به نکات زیر توجه کنید:

۱- با توجه با اینکه نظرات خصوصی شما امکان نمایش در سایت را ندارد، بنابراین هنگام ارسال نظر، گزینه "" را انتخاب نکنید. چون تنها راه پاسخگویی به آن از طریق ایمیل شما است که با توجه به مشغله کاری فرصت ارسال پاسخ از طریق ایمیل وجود ندارد.

۲- قبل از مطرح کردن سوالتان، مطلب فوق را با دقت مطالعه کنید. اگر پاسخ سوالتان را پیدا نکردید در سایت جستجو کنید، ممکن است در مطلب دیگر پاسخ سوالتان را پیدا کنید.

۳- تنها به سوالاتی پاسخ داده می‌شود که از نحوه حل آن‌ها اطلاع داشته باشم.

۴- نظراتی با مضمون زیر، صرفا تایید و نمایش داده می‌شود و به آن‌ها پاسخی داده نمی‌شود.

الف) در مورد پاسخ سوال شما اطلاعی نداشته باشم،

ب) پاسخ سوال شما در مطلب فوق وجود داشته باشد.

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی