مطالب برتر
جستجو
حضرت علی (ع): «زَکوةُ العِلمِ نَشرُهُ؛ زکات علم نشر آن است».
وبلاگ "ترفندها" (سایت پیسیترفند) برای عمل به این حدیث شریف و با هدف ارتقاء دانش و مهارتهای مرتبط با رایانه در ۳۰ مهرماه ۱۳۹۱ ایجاد شده است. به امید آنکه مفید واقع شود.
🔵 کانال پیسیترفند در تلگرام:
telegram.me/pctarfandir
🔵 ارتباط با ادمین:
telegram.me/pctarfand_admin
خلاصه آمار
استفاده از جمع شرطی برای چند شیت در اکسل - ماکرو
قبلا در مطلبی نحوه استفاده از توابع جمع شرطی در اکسل شرح داده شده بود. توضیحات ارائه شده تنها برای یک شیت جوابگو میباشد و اگر بخواهید برای چند شیت اینکار را انجام دهید باید از فرمولهای دیگری استفاده کنید. در ادامه مطلب با پیسیترفند همراه باشید تا با این فرمولها آشنا شوید.
روش اول) استفاده از تابع Sumif در هر شیت و محاسبه مجموع آنها
با نگهداشتن کلید کنترل، شیتهای مدنظرتان را انتخاب کنید. با اینکار شیتها در یک گروه قرار میگیرند. در همین حالت در آخرین شیت انتخاب شده، در یک سلول خالی علامت مساوی را تایپ کنید و فرمول Sumif را بنویسید. پس از تکمیل فرمولنویسی، کلید اینتر را بفشارید تا این فرمول در تمام شیتها درج شود. حال با استفاده از روشهای گفته در این مطلب، نتایج تابع Sumif که در یک سلول مشابه در همه شیتها است را با هم جمع کنید.
روش دوم) تابع Sumproduct
مثال زیر را در نظر بگیرید. میخواهیم مجموع اعداد ستون H در سه شیت ۱ تا ۳، البته با شرطی که در ستون G حرف A باشد را محاسبه کنیم و نتیجه آن در شیت ۴ درج شود.
برای اینکار میتوان از فرمول زیر استفاده کرد. البته باید در شیت ۴، نام شیتها تایپ شود (A2:A4):
=SUMPRODUCT(SUMIF(INDIRECT("'"&A2:A4&"'!G2:G5"),C2,INDIRECT("'"&A2:A4&"'!H2:H5")))
خروجی رابطه فوق برابر میشود با ۱۵۰.
منبع: xl-central.com
روش سوم) تعریف تابع جدید SUMIF3D
با استفاده از ماکرونویسی میتوان تابع جدیدی به توابع موجود اکسل اضافه کرد تا محدودیت تابع Sumif را نداشته باشد.
برای ساخت ماکرو کلیدهای Alt + F11 را فشار دهید یا از تب Developer قسمت code گزینه Visual Basic را انتخاب کنید. پنجره Microsoft Visual Basic ظاهر میشود. در این پنجره از تب Insert گزینه Module را انتخاب نمائید.
در پنجره جدید باز شده کدهای زیر را کپی کنید.
Option Explicit
'pctarfand.ir & tarfandha.blog.ir'
Function SUMIF3D( _
CritRng As Range, _
Crit As Variant, _
SumRng As Range, _
ParamArray ArgList() As Variant)
Dim Arg As Variant
Dim wkb As Workbook
Application.Volatile
If IsMissing(ArgList) Then
SUMIF3D = CVErr(xlErrValue)
Exit Function
End If
Set wkb = Application.Caller.Parent.Parent
For Each Arg In ArgList
SUMIF3D = SUMIF3D + _
WorksheetFunction.SumIf(wkb.Sheets(Arg).Range(CritRng.Address), _
Crit, wkb.Sheets(Arg).Range(SumRng.Address))
Next Arg
End Function
از محیط ماکرونویسی خارج شوید و به محیط اکسل برگردید (Alt+Q).
مثال زیر را در نظر بگیرید:
برای مثال فوق در شیت سوم بجای علامت سوال، میتوان یکی از دو تابع زیر را استفاده کرد.
در واقع این توابع، مجموع اعداد محدوده B2:B5 در سه شیت مشخص شده را محاسبه میکنند البته در صورتیکه در محدوده A2:A5 عبارت موجود در سلول A2 یعنی حرف B وجود داشته باشد.
=SUMIF3D(A2:A5,A2,B2:B5,"Sheet1","Sheet2","Sheet3")
یا
=SUMIF3D(A:A,A2,B:B,"Sheet1","Sheet2","Sheet3")
خروجی رابطه فوق برابر میشود با ۶۰.
توجه: در تابع SUMIF3D نام شیتها باید بین علامت نقل قول " " قرار گیرد. همچنین ترتیب نامها اهمیت ندارد.
منبع با تغییر: xl-central.com
برای مطلع شدن از جدیدترین مطالب سایت، کانال پیسیترفند در تلگرام را با آیدی pctarfandir@ دنبال کنید: |
سوالات خود در زمینه ورد و اکسل و ... را میتوانید از طریق ایمیل و تلگرام با ما مطرح کنید. آدرس ایمیل: tarfandha.blog@gmail.com آیدی تلگرام: pctarfand_admin@ |
نظرات (۶)
-
بهناز
سلام ببخشید اگر تعداد شیتها زیاد بود و نخواستیم دستی نام شیتها را وارد کنیم چه تغییری میتوان در فرمول =SUMIF3D(A:A,A2,B:B,"Sheet1","Sheet2","Sheet3") ایجاد کرد؟؟؟؟ -
-
مجید
سلام
برای فرمول sumproduct یه فایل دقیقا مشابه فایل نمونه شما مطابق تصویر بالا درست کردم و فرمول را کپی کردم ولی کار نمیکنه -
سارا
سلام
اگر مثلا سه شیت حقوق افراد در سه ماه مختلف باشد که آدرس سلول هر شیت با هم متفاوت است آیا راه حلی برای جمع این شیت ها از روی اسم های مشابه وجود دارد؟-
پاسخ:
۱۲ مرداد ۹۷، ۱۶:۰۴سلاممطلب فوق همینکار را انجام می دهد.
-
-
یحیی
سلام ، میخاستم از 4 عدد 2 تا از بیشترینا با هم جمه بشه ، فرمولش چی میشه-
پاسخ:
۱۳ بهمن ۹۵، ۱۶:۵۶
-
-
-
یحیی
سلام ، میخاستم از 5یا 4 عدد 3 تا از بیشترینا با هم جمه بشه ، فرمولش چی میشه ،
ممون-
پاسخ:
۴ بهمن ۹۵، ۱۷:۵۱سلام
بالاخره 4 یا 5 عدد؟
-
ارسال نظر
قبل از ارسال نظر به نکات زیر توجه کنید:
۱- با توجه با اینکه نظرات خصوصی شما امکان نمایش در سایت را ندارد، بنابراین هنگام ارسال نظر، گزینه "" را انتخاب نکنید. چون تنها راه پاسخگویی به آن از طریق ایمیل شما است که با توجه به مشغله کاری فرصت ارسال پاسخ از طریق ایمیل وجود ندارد.
۲- قبل از مطرح کردن سوالتان، مطلب فوق را با دقت مطالعه کنید. اگر پاسخ سوالتان را پیدا نکردید در سایت جستجو کنید، ممکن است در مطلب دیگر پاسخ سوالتان را پیدا کنید.
۳- تنها به سوالاتی پاسخ داده میشود که از نحوه حل آنها اطلاع داشته باشم.
۴- نظراتی با مضمون زیر، صرفا تایید و نمایش داده میشود و به آنها پاسخی داده نمیشود.
الف) در مورد پاسخ سوال شما اطلاعی نداشته باشم،
ب) پاسخ سوال شما در مطلب فوق وجود داشته باشد.
طبقه بندی موضوعی
- آفیس و پیدیاف (۱۵۹)
- ورد (۶۳)
- اکسل (۹۰)
- پاور پوینت (۳)
- پیدیاف (۱۰)
- اینترنت (۴۳)
- فایرفاکس (۲۵)
- اینترنت/سایر (۱۸)
- کد نویسی (۶۵)
- دستورات داس (۳)
- ماکرونویسی (۵۷)
- نرم افزار ویدئو (۹)
- نرم افزار عکس (۳)
- بازی (۱)
- رپورتاژ آگهی (۳)
- سایر موارد (۵۰)
- موبایل (۶)
تبليغات
کلمات کلیدی
آخرين مطالب
-
روشهای تبدیل لینک متنی به لینک با قابلیت کلیک (هایپرلینک) در ورد + ماکرو
يكشنبه ۱۵ مهر ۱۴۰۳ -
چگونه در اکسل ردیفهای دارای سلولهای ادغام شده را یکی در میان رنگ کنیم؟ + ماکرو
يكشنبه ۱۴ مرداد ۱۴۰۳ -
افزودن ردیف خالی بین ردیفهای یکسان در اکسل + ماکرو
جمعه ۱۲ مرداد ۱۴۰۳ -
پیدا کردن تمام ترکیبات ممکن سلولهای یک ستون در اکسل + ماکرو
چهارشنبه ۲۳ اسفند ۱۴۰۲ -
تکرار یا تکثیر یک یا چند ردیف در اکسل + ماکرو
سه شنبه ۸ اسفند ۱۴۰۲ -
ترکیب سلولهای یک ستون دارای مقادیر یکسان در ستون دیگر در اکسل + ماکرو
جمعه ۲۷ بهمن ۱۴۰۲ -
تقسیم سلولهای حاوی رشتههای متنی یا عددی به چند ردیف در اکسل + ماکرو
شنبه ۲۱ بهمن ۱۴۰۲ -
حذف ردیف های خالی در اکسل + ماکرو
شنبه ۱۴ بهمن ۱۴۰۲ -
جایگذاری دادهها فقط در سلولهای قابل مشاهده یا فیلتر شده در اکسل + ماکرو
پنجشنبه ۱۲ بهمن ۱۴۰۲ -
تغییر اندازه تصاویر متناسب با اندازه سلول ها در اکسل + ماکرو
شنبه ۷ بهمن ۱۴۰۲