فهرست مطالب
این آموزش نحو و کاربردهای اساسی تابع CHOOSE را توضیح میدهد و چند مثال غیر پیش پاافتاده ارائه میدهد که نحوه استفاده از فرمول CHOOSE در اکسل را نشان میدهد.
CHOOSE یکی از آنها است. توابع اکسل که ممکن است به تنهایی مفید به نظر نرسند، اما همراه با توابع دیگر، تعدادی از مزایای فوق العاده را به همراه دارند. در ابتدایی ترین سطح، از تابع CHOOSE استفاده می کنید تا با تعیین موقعیت آن مقدار، مقداری را از لیست دریافت کنید. در ادامه این آموزش، چندین کاربرد پیشرفته را خواهید یافت که مطمئناً ارزش کاوش را دارند.
عملکرد Excel CHOOSE - نحو و کاربردهای اساسی
عملکرد CHOOSE در اکسل طراحی شده برای برگرداندن یک مقدار از لیست بر اساس یک موقعیت مشخص.
این تابع در اکسل 365، اکسل 2019، اکسل 2016، اکسل 2013، اکسل 2010 و اکسل 2007 موجود است.
نحو تابع CHOOSE به شرح زیر است:
CHOOSE (index_num، value1، [value2]، …)Where:
Index_num (الزامی) - موقعیت مقداری که باید برگردانده شود. این می تواند هر عددی بین 1 و 254، یک مرجع سلول، یا فرمول دیگری باشد.
Value1، value2، … - لیستی از حداکثر 254 مقدار که می توان از بین آنها انتخاب کرد. مقدار 1 مورد نیاز است، مقادیر دیگر اختیاری هستند. اینها می توانند اعداد، مقادیر متن، ارجاعات سلولی، فرمول ها یا نام های تعریف شده باشند.
در اینجا نمونه ای از فرمول CHOOSE در ساده ترین شکل آمده است:
=CHOOSE(3, "Mike", "Sally", "Amy", "Neal")
فرمول "امی" را برمی گرداند زیرا index_num 3 است و "Amy" سومین مقدار در لیست است:
Excel CHOOSE function - 3 چیز که باید به خاطر بسپارید!
CHOOSE یک تابع بسیار ساده است و برای پیاده سازی آن در کاربرگ های خود به سختی با مشکل مواجه خواهید شد. اگر نتیجه ای که با فرمول CHOOSE شما برگردانده می شود غیرمنتظره است یا نتیجه مورد نظر شما نیست، ممکن است به دلایل زیر باشد:
- تعداد مقادیری که باید انتخاب کنید به 254 محدود است.
- اگر index_num کمتر از 1 یا بیشتر از تعداد مقادیر موجود در لیست باشد، #VALUE! خطا برگردانده می شود.
- اگر آرگومان index_num کسری باشد، به کمترین عدد صحیح کوتاه می شود.
نحوه استفاده از تابع CHOOSE در اکسل - فرمول مثالها
مثالهای زیر نشان میدهند که چگونه CHOOSE میتواند قابلیتهای دیگر توابع اکسل را گسترش دهد و راهحلهای جایگزین برای برخی از کارهای رایج، حتی برای آنهایی که توسط بسیاری غیرقابل اجرا تلقی میشوند، ارائه دهد.
Excel CHOOSE به جای IF های تودرتو
یکی از متداول ترین وظایف در اکسل، برگرداندن مقادیر مختلف بر اساس یک شرط مشخص است. در بیشتر موارد، این کار را می توان با استفاده از دستور IF تو در تو کلاسیک انجام داد. اما تابع CHOOSE می تواند یک جایگزین سریع و آسان برای درک باشد.
مثال 1. مقادیر مختلف را بر اساس شرط برگردانید
فرض کنید ستونی از نمرات دانش آموز دارید و می خواهید برچسب گذاری کنید نمرات بر اساسشرایط زیر:
نتیجه | امتیاز |
ضعیف | 0 - 50 |
رضایت بخش | 51 - 100 |
خوب | 101 - 150 |
عالی | بیش از 151 |
یک راه برای انجام این کار این است که چند فرمول IF را درون یکدیگر قرار دهید:
=IF(B2>=151, "Excellent", IF(B2>=101, "Good", IF(B2>=51, "Satisfactory", "Poor")))
روش دیگر این است که یک برچسب مطابق با شرایط انتخاب کنید:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
این فرمول چگونه کار می کند:
در آرگومان index_num ، هر شرط را ارزیابی میکنید و اگر شرط برآورده شد، TRUE، در غیر این صورت FALSE را برمیگردانید. به عنوان مثال، مقدار در سلول B2 با سه شرط اول مطابقت دارد، بنابراین این نتیجه میانی را دریافت می کنیم:
=CHOOSE(TRUE + TRUE + TRUE + FALSE, "Poor", "Satisfactory", "Good", "Excellent")
با توجه به اینکه در اکثر فرمول های اکسل TRUE برابر با 1 و FALSE با 0 است، ما فرمول تحت این تبدیل قرار می گیرد:
=CHOOSE(1 + 1 + 1 + 0, "Poor", "Satisfactory", "Good", "Excellent")
بعد از انجام عملیات جمع، داریم:
=CHOOSE(3, "Poor", "Satisfactory", "Good", "Excellent")
در نتیجه، مقدار سوم در لیست برگردانده می شود که "خوب" است.
نکات:
- برای انعطاف پذیرتر کردن فرمول، می توانید به جای برچسب های کدگذاری شده از مراجع سلولی استفاده کنید، به عنوان مثال:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), $E$1, $E$2, $E$3, $E$4)
- اگر هیچ یک از شرایط شما درست نباشد، آرگومان index_num روی 0 تنظیم می شود و فرمول شما را مجبور می کند که #VALUE را برگرداند! خطا برای جلوگیری از این امر، به سادگی CHOOSE را در تابع IFERROR مانند این بپیچید:
=IFERROR(CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent"), "")
مثال 2. محاسبات مختلف را بر اساس شرایط انجام دهید
به روشی مشابه، شمامیتوانید از تابع Excel CHOOSE برای انجام یک محاسبه در یک سری از محاسبات/فرمولهای ممکن استفاده کنید، بدون اینکه چندین عبارت IF درون یکدیگر قرار بگیرند.
به عنوان مثال، اجازه دهید کمیسیون هر فروشنده را بسته به میزان فروش آن محاسبه کنیم:
کمیسیون | فروش |
5% | 0$ تا 50$ |
7% | 51$ تا 100$ |
10% | بیش از 101$ |
با مقدار فروش در B2، فرمول شکل زیر را به خود می گیرد:
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*5%, B2*7%, B2*10%)
به جای هاردکد کردن درصدها در فرمول، در صورت وجود، می توانید به سلول مربوطه در جدول مرجع خود مراجعه کنید. فقط به یاد داشته باشید که ارجاعات را با استفاده از علامت $ اصلاح کنید.
=CHOOSE((B2>0) + (B2>=51) + (B2>=101), B2*$E$2, B2*$E$3, B2*$E$4)
Excel CHOOSE فرمول برای تولید داده های تصادفی
همانطور که احتمالا می دانید، مایکروسافت اکسل یک تابع ویژه برای تولید دارد. اعداد صحیح تصادفی بین اعداد پایین و بالایی که مشخص می کنید - تابع RANDBETWEEN. آن را در آرگومان index_num CHOOSE قرار دهید، و فرمول شما تقریباً هر داده تصادفی را که میخواهید تولید میکند.
به عنوان مثال، این فرمول میتواند فهرستی از نتایج امتحان تصادفی تولید کند:
=CHOOSE(RANDBETWEEN(1,4), "Poor", "Satisfactory", "Good", "Excellent")
منطق فرمول واضح است: RANDBETWEEN اعداد تصادفی از 1 تا 4 را تولید می کند و CHOOSE یک مقدار متناظر را از لیست از پیش تعریف شده چهار مقدار برمی گرداند.
توجه داشته باشید. RANDBETWEEN یک تابع فرار است و با هر یک دوباره محاسبه می شودتغییری که در کاربرگ ایجاد می کنید. در نتیجه، لیست مقادیر تصادفی شما نیز تغییر خواهد کرد. برای جلوگیری از این اتفاق، میتوانید با استفاده از ویژگی Paste Special ، فرمولها را با مقادیرشان جایگزین کنید.
فرمول را برای انجام یک Vlookup سمت چپ انتخاب کنید
اگر تا به حال انجام دادهاید با جستجوی عمودی در اکسل، می دانید که تابع VLOOKUP فقط می تواند در ستون سمت چپ جستجو کند. در مواقعی که باید مقداری را به سمت چپ ستون جستجو برگردانید، میتوانید از ترکیب INDEX / MATCH استفاده کنید یا با قرار دادن تابع CHOOSE در آن، VLOOKUP را فریب دهید. به این صورت است:
فرض کنید شما یک لیست از نمرات در ستون A، نام دانش آموزان در ستون B، و می خواهید نمره یک دانش آموز خاص را بازیابی کنید. از آنجایی که ستون بازگشت در سمت چپ ستون جستجو قرار دارد، یک فرمول Vlookup معمولی خطای #N/A را برمیگرداند:
برای رفع این مشکل، تابع CHOOSE را برای تعویض دریافت کنید. موقعیت ستون ها، به اکسل می گوید که ستون 1 B و ستون 2 A است:
=CHOOSE({1,2}, B2:B5, A2:A5)
زیرا آرایه ای از {1,2} را در index_num<2 ارائه می کنیم> آرگومان، تابع CHOOSE محدوده هایی را در آرگومان های value می پذیرد (معمولاً نمی پذیرد).
اکنون، فرمول بالا را در آرگومان table_array جاسازی کنید. VLOOKUP:
=VLOOKUP(E1,CHOOSE({1,2}, B2:B5, A2:A5),2,FALSE)
و voilà - جستجو به سمت چپ بدون مشکل انجام می شود!
فرمول را برای بازگشت به کار بعدی انتخاب کنید روز
اگر مطمئن نیستید که آیاشما باید فردا به سر کار بروید یا می توانید در خانه بمانید و از تعطیلات آخر هفته خود لذت ببرید، تابع CHOOSE Excel می تواند بفهمد روز کاری بعدی چه زمانی است.
با فرض اینکه روزهای کاری شما دوشنبه تا جمعه است، فرمول به شرح زیر است:
=TODAY()+CHOOSE(WEEKDAY(TODAY()),1,1,1,1,1,3,2)
در نگاه اول مشکل است، با نگاهی دقیق تر، منطق فرمول به راحتی قابل پیگیری است:
WEEKDAY (TODAY()) یک شماره سریال مربوط به تاریخ امروز را برمیگرداند که از 1 (یکشنبه) تا 7 (شنبه) متغیر است. این عدد به آرگومان index_num فرمول CHOOSE ما می رود.
Value1 - value7 (1,1,1,1,1, 3،2) تعیین کنید که چند روز به تاریخ فعلی اضافه کنید. اگر امروز یکشنبه - پنجشنبه است (index_num 1 - 5)، برای بازگشت روز بعد 1 اضافه می کنید. اگر امروز جمعه است (index_num 6)، برای بازگشت دوشنبه آینده 3 اضافه می کنید. اگر امروز شنبه است (index_num 7)، 2 را اضافه می کنید تا دوشنبه آینده دوباره برگردید. بله، به همین سادگی است :)
فرمولی را برای برگرداندن نام روز/ماه سفارشی از تاریخ انتخاب کنید
در شرایطی که می خواهید نام روز را در قالب استاندارد مانند نام کامل دریافت کنید ( دوشنبه، سهشنبه و غیره) یا نام کوتاه (دوشنبه، سهشنبه و غیره)، میتوانید از تابع TEXT همانطور که در این مثال توضیح داده شده است استفاده کنید: روز هفته را از تاریخ در اکسل دریافت کنید.
اگر میخواهید نام یک روز هفته یا یک ماه را در قالب سفارشی برگردانید، از تابع CHOOSE به روش زیر استفاده کنید.
برای دریافت یک روز از هفته:
=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")
برای به دست آوردن یکmonth:
=CHOOSE(MONTH(A2), "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
جایی که A2 سلول حاوی تاریخ اصلی است.
امیدوارم این آموزش به شما ایده هایی در مورد آن داده باشد. چگونه می توانید از تابع CHOOSE در اکسل برای بهبود مدل های داده خود استفاده کنید. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!
دانلود کتاب تمرینی
Excel CHOOSE نمونه های تابع