حدود سه سال پیش یکی از شاگردان در کلاس اکسل پیشرفته به نام حسین که در حال حاضر یکی از دوستان بسیار خوب من شدهاست سوالی پرسید ، چگونه میتوان در اکسل Dropdown list داشت که به محض انتخاب گزینهای از آن گزینههای یک Dropdown list دیگری تغییر کند یا بعبارت دیگر دو Dropdown به یکدیگر وابسته باشند.
مثلا در شکل زیر میخواهیم هنگامیکه نام یک واحد انتخاب میشود، در خانه مقابل فقط اسامی پرسنل آن واحد نمایش داده شود.
قدم اول:
یک Sheet بعنوان محل اصلی دادهها مانند شکل 2 در نظر میگیریم همانطور که مشاهده میکنید در ستون A اسامی واحدها و در ستونهای B تا D اسامی پرسنل هر واحد نوشته شده است.
قدم دوم:
باید هر یک از محدودهها را نامگذاری نماییم، برای اینکار محدوده مورد نظر را انتخاب میکنیم و سپس در قسمت NameBox نام محدوده را نوشته و کلید Enter را میزنیم. برای نام بخشهای شرکت یعنی محدوده A1:A3 نام "واحدها" را انتخاب کردهایم.
برای ستونهای B تا D باید نام واحد معادل کلمهای باشد که در ستون A نوشته شده است (به شکل 3 دقت کنید)
تذکر مهم: کلمهای که در NameBox بعنوان نام وارد میشود نباید شامل فاصله (Space) باشد.
بعد از اینکار در Sheet مقصد مانند خانه B2 را انتخاب کرده و از Data àValidation را میزنیم و مانند شکل زیر تنظیمات را انجام میدهیم.
برای آنکه نام کارشناس مطابق با واحد انتخاب شده باشد خانه C2 را مطابق شکل زیر تنظیم میکنیم و در List آن فرمول =INDIRECT(B2) را مینویسیم.(در صورتیکه پیغام هشداری صادر شد، آنرا تایید کنید)
و خواهید دید که مطابق با گزینهای که در نام واحد انتخاب شود، اسامی کارشناسان مربوط به آن واحد نمایش داده میشود.
در توضیح تابع INDIRECT باید گفت که این تابع با توجه به نامی که به آن میدهیم، محدوده آن نام را به ما برمیگرداند.