تابع choose در اکسل
تابع CHOOSE یکی از توابع ساده اما کاربردی اکسل است که بر اساس یک شماره شاخص (index) یکی از مقادیر یا محدودههای دادهشده را برمیگرداند. این تابع برای انتخاب میان چند گزینه ثابت یا پویا، ساخت داشبوردهای تعاملی، و جایگزینی برخی ساختارهای پیچیده IF یا SWITCH در سناریوهای کوچک بسیار مناسب است.
سینتکس و پارامترها
| ساختار | توضیح |
|---|---|
CHOOSE(index_num, value1, [value2], ... , [value254]) | index_num: عددی بین 1 تا تعداد مقادیر. value1..value254: مقادیر یا محدودههایی که میتوان انتخاب کرد. |
قواعد و نکات فنی
- index_num باید عددی برابر یا بزرگتر از 1 و کوچکتر یا برابر با تعداد valueها باشد؛ در غیر این صورت خطا ایجاد میشود.
- اگر index_num عدد اعشاری باشد، قسمت اعشاری حذف (truncate) میشود و عدد صحیح انتخاب میگردد.
- حداکثر تعداد آرگومان value تا 254 مورد است.
- میتوان بهجای مقادیر ثابت، محدودهها (Ranges) یا حتی فرمولهای دیگر قرار داد؛ CHOOSE با برخی از این حالتها میتواند آرایه برگرداند که در نسخههای جدید اکسل با Dynamic Array بهتر کار میکند.
- در اکسلهای جدید ممکن است توابعی مانند SWITCH یا IFS گزینههای خواناتری برای برخی سناریوها باشند، اما CHOOSE برای انتخابهای مبتنی بر index بسیار مناسب و سریع است.
مثالهای کاربردی
مثال 1 — انتخاب تصادفی از بین چند مقدار
=CHOOSE(RANDBETWEEN(1,3),"سیب","موز","پرتقال")این فرمول ابتدا با RANDBETWEEN عددی بین 1 تا 3 تولید میکند و سپس CHOOSE بر اساس آن یکی از سه متن را برمیگرداند. مناسب برای نمونهسازی یا تولید داده تستی است.
مثال 2 — تبدیل شماره ماه به نام ماه (فارسی)
=CHOOSE(MONTH(A1),"فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند")اگر در سلول A1 یک تاریخ وجود داشته باشد، ابتدا MONTH شماره ماه را میگیرد (۱ تا ۱۲) و CHOOSE متن فارسی متناظر را برمیگرداند. این روش سادهتر از جدول مرجع برای مجموعههای کوچک است.
مثال 3 — نگاشت کدها به دستهبندیها با MATCH + CHOOSE
=CHOOSE(MATCH(C2,{"A","B","C"},0),"گروه الف","گروه ب","گروه ج")در این مثال، MATCH موقعیت کد موجود در C2 را در آرایه {“A”,”B”,”C”} پیدا میکند (مثلاً 1،2 یا 3) و سپس CHOOSE بر اساس آن نام گروه را انتخاب میکند. این ترکیب زمانی مفید است که بخواهید از یک آرایه ثابت کدها نگاشت انجام دهید بدون ساختن جدول جداگانه.
مثال 4 — سویچ کردن میان محدودهها (برای گزارشگیری یا نمودار)
=SUM(CHOOSE($B$1,SalesRange_Q1,SalesRange_Q2,SalesRange_Q3,SalesRange_Q4))اگر در سلول B1 شماره دوره (۱ تا ۴) قرار گیرد، این فرمول جمع فروش را برای محدوده متناسب باز میگرداند. این تکنیک بسیار مفید است برای داشبوردهایی که با یک کنترل (مثلاً اسلایسر یا لیست کشویی) میخواهند بین چند مجموعه داده جابجا شوند.
استفاده از CHOOSE برای انتخاب محدوده در نمودار
میتوانید از CHOOSE در نامهای تعریفشده (Named Ranges) یا بهعنوان منبع داده نمودار استفاده کنید تا با تغییر یک سلول، سری نمودار تعویض شود. توجه داشته باشید که در برخی نسخهها ممکن است نیاز به فرمولهای آرایهای (Ctrl+Shift+Enter) باشد یا در نسخههای جدید بدون CSE کار کند.
مقایسه با توابع دیگر
- VS SWITCH/IFS: برای مقادیر معدود و بر اساس index، CHOOSE سادهتر است؛ برای تطابقهای شرطی پیچیدهتر، SWITCH یا IFS خواناترند.
- VS INDEX: INDEX معمولاً برای انتخاب یک مقدار از داخل محدودهای با شماره ردیف/ستون کاربرد دارد؛ CHOOSE برای انتخاب از میان چند محدوده/مقدار صریح مناسب است. اما میتوانید آنها را ترکیب کنید (مثلاً CHOOSE بهعنوان منبع به INDEX بدهید).
- VS VLOOKUP/XLOOKUP: اگر دادهها بهصورت جدول مرتب باشند و نیاز به جستجو بر اساس کلید داشته باشید، بهتر است از XLOOKUP یا VLOOKUP استفاده کنید. CHOOSE مناسب نگاشتهای کوتاه و ثابت است.
خطاها و عیبیابی
| خطا/مشکل | دلیل و راهحل |
|---|---|
| خطای #VALUE! | معمولاً index_num خارج از بازه (۰ یا بیشتر از تعداد valueها) یا غیر عددی است. مطمئن شوید index مقدار صحیح دارد یا از تابعی مانند MATCH برای تولید عدد استفاده کنید. |
| عملکرد کند | اگر تعداد زیادی آرگومان یا فرمولهای سنگین داخل valueها دارید، ممکن است محاسبات طولانی شود. در این حالت بررسی کنید آیا INDEX/VLOOKUP/XLOOKUP یا ساختار جدول مناسبتر نیست. |
نکات حرفهای
- برای خوانایی فرمولها، اگر تعداد گزینهها زیاد است از جدول مرجع و XLOOKUP/INDEX استفاده کنید تا مدیریت آسانتر شود.
- در داشبوردها از CHOOSE برای سویچ سریع میان مجموعههای پیشتعریفشده استفاده کنید — ترکیب با کنترلهای فرم یا Data Validation بسیار کاربردی است.
- در نسخههای جدید اکسل از قابلیت آرایههای پویا بهره ببرید؛ CHOOSE میتواند آرایهای از مقادیر یا محدودهها تولید کند و در محاسبات بعدی استفاده شود.
خلاصه
تابع CHOOSE یک ابزار ساده اما قدرتمند برای انتخاب بر اساس شماره شاخص است؛ برای نگاشتهای کوچک، انتخابهای داشبوردی و نمونهسازی سریع بسیار مناسب است. با آگاهی از محدودیتها و ترکیب آن با توابعی مانند MATCH، INDEX و RANDBETWEEN میتوانید راهحلهای خوانا و منعطفی در اکسل طراحی کنید.
آیا این مطلب برای شما مفید بود ؟




