
آموزش روش SAW در اکسل

در اکسل توابع و ابزارهای زیادی وجود دارد که بخشی بزرگی از نیازهای کاربر جهت ورود، ویرایش، تحلیل داده ها، تهیه گزارشات و… را برطرف می سازد. اما باز هم کاربران نیازهای خاصی دارند که در اکسل ابزار بخصوصی برای آن ها وجود ندارد. برای نمونه انجام محاسبات بر اساس رنگ سلول ها، که در این مطلب قصد داریم با کمک VBA توابع جدیدی به اکسل جهت انجام محاسبات براساس رنگ سلول ها اضافه کنیم.
با اضافه کردن افزونه DoByColor به اکسل، 7 تایع جدید ذیل جهت انجام محاسبات بر اساس رنگ سلول به توابع اکسل اضافه می شود. افزونه DoByColor را می توانید به صورت رایگان در ادامه همین مطلب دانلود نمایید.
1401/06/18 : اضافه شدن 2 تابع جدید
1401/05/12 : انتشار افزونه با 5 تابع
افزونه DoByColor توسط وب سایت محصولات اکسلی Sheet1.ir کد نویسی شده و پیوسته در حال بروز رسانی است و توابع و امکانات جدیدی به آن اضافه خواهد شد. با مراجعه به همین صفحه می توانید آخرین نسخه افزونه DoByColor را به طور رایگان دریافت نمایید.
تعداد دانلود افزونه : 779
پس از دریافت افزونه از مسیر ذیل آن را به برنامه آکسل اضافه نمایید:
File > Options > Add-Ins…
پس از اضافه کردن افزونه، جهت فارسی سازی توضیحات توابع از کلیدهای ترکیبی Ctrl + Shift + X استفاده کنید
فرمت کلی :
=AverageByColor(Ref_Color,Rng)

در مثال بالا جهت محاسبه میانگین مقادیر سلول های زرد رنگ محدوده B2:B10، در سلول D4 از تابع AverageByColor به صورت ذیل استفاده شده است:
=AverageByColor(D3,$B$2:$B$10)
فرمت کلی :
=CountByColor(Ref_Color,Rng)

در مثال بالا جهت شمارش تعداد سلول های زرد رنگ محدوده B2:B10، در سلول D4 از تابع CountByColor به صورت ذیل استفاده شده است:
=CountByColor(D3,$B$2:$B$10)
فرمت کلی :
=IfByColor(Ref_Rng,Ref_Color,value_if_true,value_if_false)

در مثال بالا می خواهیم در صورتی که در محدوده B2:B10 رنگ سلول زرد باشد مقدار سلول و در غیر این صورت ” – – ” نمایش داده شود. برای نمونه در سلول C5 از تابع IfByColor به صورت ذیل استفاده شده است:
=IfByColor(B5,$E$3,B5,”—“)
فرمت کلی :
=MaxByColor(Ref_Color,Rng)

در مثال بالا جهت بدست آوردن بیشترین مقدار سلول های زرد رنگ محدوده B2:B10، در سلول D4 از تابع MaxByColor به صورت ذیل استفاده شده است:
=MaxByColor(D3,$B$2:$B$10)
فرمت کلی :
=MatchByColor(lookup_Color,lookup_array,match_Num)

در مثال بالا جهت بدست آوردن موقعیت دومین سلول زرد رنگ در محدوده B2:B10، در سلول E4 از تابع MatchByColor به صورت ذیل استفاده شده است:
=MatchByColor(E3,$B$2:$B$10,2)
دومین سلول زرد رنگ در ردیف 4 محدوده B2:B10 قرار دارد
فرمت کلی :
=MinByColor(Ref_Color,Rng)

در مثال بالا جهت بدست آوردن کمترین مقدار سلول های زرد رنگ محدوده B2:B10، در سلول D4 از تابع MinByColor به صورت ذیل استفاده شده است:
=MinByColor(D3,$B$2:$B$10)
فرمت کلی :
=SumByColor(Ref_Color,Rng)

در مثال بالا جهت محاسبه حاصل جمع سلول های زرد رنگ محدوده B2:B10 در سلول D4 از تابع SumByColor به صورت ذیل استفاده شده است:
=SumByColor(D3,$B$2:$B$10)
11 دیدگاه. پیغام بگذارید
سلام تو قسمت ifbycolor دو قسمت آخرش چطور باید بگیم که اگر با سلول مورد نظر همرنگ بود بیا اینکارو کن اگه با سلول مورد نظر همرنگ نبود بیا کاره دیگه های انجام بده؟ متاسفانه عکس ها کامل ک واضح نیستن
سلام علیرضا
فرض کنید میخواهیم در صورتی که رنگ سلول A1 با سلول رنگ مورد نظر ما یعنی سلول F4 یکی بود بیشترین مقدار محدوده A1:A10 و در غیر این صورت کمترین مقدار محدوده A1:A10 را حساب کنیم.. از تابع IFbyColor به صورت ذیل استفاده می کنیم
سلام
افزونه بسیار خوب و کار آمدی درست کرده اید
اگر بتوان در این افزونه قابلیتی تعبیه کرد که بتوان در فرمول CONCATENATE استفاده کرد بسیار خوب می شود.
بدین صورت که رنگ مقدار یکی از سلول های مرج شده را تغییر داد
سلام منصور عزیز خوشحالم که نظرت رو جلب کرده
اگر در مورد چیزی که مد نظر دارید بیشتر توضیح دهید ممنون میشم
امکانش باشه انشاالله در آپدیت بعدی اضافه خواهم کرد
سپاسگزارم
فرض کنید
در سلول A1 عبارت “دستگاه شماره” را داریم
در سلول B1 عدد محاسبه شده “2343”
در سلول C1 عبارت “برای صادرات” درج شده است
با دستور CONCATENATE نتیجه می شود:
دستگاه شماره 2343 برای صادرات
می خواهیم عدد 2343 در عبارت فوق، به رنگ دلخواه نمایش داده شود.
بسیار عالی متوجه شدم
بررسی میکنم امکانش باشه به افزونه اضافه خواهد شد
تسکر از شما
سلام اگر رای هر رنگ یک عدد در سلول کمکی کنار جدول نشون بده استفاده های زیادی ازشتو توابع شرطی میشه خروجی گرفت
سلام
سپاس. اما در اکسل من قابل اجرا نیست. اد کردم ولی پیغام میده که امکان باز شدن نیست. روی چه ورژنی کار میکنه؟ ممنون
سلام مربوط به ورژن اکسل نیست
اگر از ویندوز ۱۱ استفاده میکنید ابتدا روی فایلی که دانلود کردین کلیک راست کرده و گزینه properties سپس از تب general تیک گزینه unblock در پایین کادر را بزنید و. Ok کنید.. بعد دوباره افزونه را به اکسل اضافه کنید
میگوید این فایل رو ساپورت نمیکنه.
اگر بخواهیم رنگ سلول مورد نظر سبز آبی باشه مقدار نمایش داده بشه