ممکن است مواقعی لازم باشد که کوچکترین (یا بزرگترین) مقدار را از یک محدوده استخراج کنید، مگر اینکه کوچکترین (یا بزرگترین) مقدار صفر باشد. به عنوان مثال، ممکن است محدوده ای از مقادیر مانند {0، 3، 1، 4، 2} داشته باشید. در این حالت، کمترین مقدار صفر است، اما مقداری که واقعاً میخواهید برگردانده شود 1 است.
هیچ تابع ذاتی در اکسل برای برگرداندن مقداری که در اینجا ذکر شده است وجود ندارد. با این حال، می توانید فرمولی ایجاد کنید که این کار را انجام دهد. با فرض اینکه محدوده مقادیری که می خواهید تجزیه و تحلیل کنید در C4:C8 باشد، فرمول زیر کمترین مقدار غیر صفر را برمی گرداند:
=IF(MIN(C4:C8)=0,SMALL(C4:C8,COUNTIF(C4:C8,"=0")+1),MIN(C4:C8))
این فرمول از تابع MIN برای تعیین صفر بودن کمترین مقدار در محدوده استفاده می کند. اگر چنین است، تابع SMALL برای استخراج کمترین مقدار، به استثنای صفرها، استفاده می شود. (تابع COUNTIF تعداد صفرهای محدوده را برمیگرداند و بنابراین به SMALL میگوید کدام مورد از محدوده را انتخاب کند.)
یک تغییر کوچک در فرمول اجازه می دهد تا از آن برای برگرداندن بزرگترین عدد غیر صفر در یک محدوده استفاده شود:
=IF(MAX(C4:C8)=0,LARGE(C4:C8,COUNTIF(C4:C8,"=0")+1),MAX(C4:C8))
این فرمول ها برای هر محدوده ای کار می کنند، مگر اینکه محدوده به طور کامل از صفر تشکیل شده باشد. در آن مثال، یک #NUM! خطا برگردانده می شود.
اگر از Excel 2019 یا Excel در Office 365 استفاده می کنید، می توانید از عملکرد جدید MINIFS استفاده کنید. برای این مثال به این صورت استفاده می شود:
=MINIFS(C4:C8,C4:C8,"<>"&0)
اطلاعات بیشتر در مورد عملکرد MINIFS را می توانید در این صفحه پشتیبانی Microsoft Office بیابید:
https://support.office.com/en-gb/article/minifs-function-6ca1ddaa-079b-4e74-80cc-72eef32e6599
اگر ترجیح می دهید از فرمول های آرایه استفاده کنید، می توانید فرمول را بسیار کوتاه تر کنید. این نسخه کمترین مقدار غیر صفر را برمی گرداند:
=MIN(IF(C4:C8=0,9^9,C4:C8))
به یاد داشته باشید که آن را با استفاده از Ctrl+Shift+Enter وارد کنید . همچنین اگر همه مقادیر در محدوده 0 باشند، دچار مشکل می شود. در آن صورت 387420489 را برمی گرداند که 9^9 است. (همچنین اگر همه مقادیر موجود در محدوده بزرگتر از 387420489 باشند، آن مقدار را برمی گرداند.)