ایجاد لیست کشویی وابسته در اکسل
حتما تا حالا شده که برای طراحی یک فرم، دیتابیس و … لیست هایی داشته باشید که بخواید به هم وابسته باشن. مثلا توی یک سلول، از یک لیست اسم استان و انتخاب میکنید و میخواید داخل سلول بعدی، شهرهای مربوط به همون استان رو ببینید. به این مسئله، لیست های به هم وابسته یا related list گفته میشه. بعبارتی، محتوای لیست دوم، کاملا به انتخاب لیست اول وابسته است. تو این آموزش میخوام در مورد ایجاد لیست کشویی وابسته در اکسل صحبت کنیم.
فرض کنید دو ستون داریم (H و I) از شهر و استان و میخوایم طوری فرمول نویسی کنیم که با انتخاب هر استان، سلول روبروش، شهرهای فقط مربوط به همون استان نمایش داده بشه.

شکل ۱- ایجاد لیست کشویی وابسته در اکسل -لیست های بهم وابسته
مرحله اول: ایجاد لیست اول (نام استان)
روی سلول 2H قرار گرفته و از قسمت Data Validation/ List محدوده A1:E1 رو به عنوان نام استان ها تخصیص میدیم.
مرحله دوم: نامگذاری محدوده ها
محدوده زیر هر استان رو انتخاب کرده و نامگذاری میکنیم. نام هر محدوده رو معادل نام استان میذاریم. به شکل ۲ توجه کنید. محدوده A2:A5 انتخاب شده و نام “تهران” تخصیص داده شده. برای آشنایی با نحوه نامگذاری محدوده ها پست مربوط به نامگذاری محدوده ها رو مطالعه کنید.

شکل ۲- نامگذاری محدوده های مربوط به هر استان بصورت جداگانه
بعد از اینکه همه محدوده ها رو نامگذاری کردیم. باید مطابق شکل ۳، پنج محدوده نامگذاری شده (برای هر استان) داشته باشیم.

شکل ۳- محدوده های نامگذاری شده شهرهای هر استان
مرحله سوم: ارجاع به محدوده ها
حالا کافیه با استفاده از تابع Indirect بصورت غیر مستقیم به محدوده های نامگذاری شده ارجاع بدیم. روی سلول I1 قرار گرفته و از تب Data/ Data Validation/ List رو انتخاب میکنیم و مطابق شکل4 در قسمت Source فرمول زیر رو می نویسیم. Validation رو به سلول های دیگه هم انتقال میدیم.
=Indirect($H2)

شکل ۴- ایجاد لیست کشویی وابسته در اکسل – فرمول نوشته شده در سلول I2
شرح راه حل مسئله ایجاد لیست کشویی وابسته
تابع Indirect بصورت غیر مستقیم به محدوده یا نام محدوده اشاره میکنه. الان تابع Indirect نگاه میکنه ببینه در سلول H2 چی نوشته. H2 هم که شامل نام یک محدوده در اکسل هست. پس اون محدوده رو در لیست قرار میده. دقت کنید که داده ای که در لیست اول قرار میگیره باید عینا مطابق باشه با اسم محدوده های نامگذاری شده. برای همین اسم محدوده ها رو معادل استان ها گذاشتیم که براحتی بتونیم استفاده کنیم.

حالا ممکنه این سوال پی بیاد که چطور میشه لیست رو داینامیک کرد؟؟ یعنی به محض اضافه کردن یک شهر برای هر استان، محدوده اون خود به خود آپدیت بشه؟
برای این کار باید از طریق Table محدوده ها رو نامگذاری کنیم. یعنی محدوده شهرهای هر استان رو انتخاب کنیم و به Table تبدیل کنیم. بعد نام اون Table رو عوض کنیم. برای آشنایی با Table پست ایجاد جدول در اکسل رو مطالعه کنید.
در واقع در نهایت پنج Table داریم که نام آنها به نام استان ها تغییر کرده.
دانلود فایل این آموزش
برای دانلود این فایل از لینک زیر استفاده کنید:





سلام
من دقیقا همین مراحل را انجام می دم اما برای لیست کشو دوم خطا میده
تو مرحله سوم خطا میده
هم حالت ایجاد محدوده را امتحان کردم هم table را اما توی هر دودتا بعد از تایپ فرمول با پیام خطا روبه رو شدم
سلام
پیشنهاد میکنم داخل گروه بله مطرح کنید که بتونید عکس و فایل بفرستید که امکان بررسی وجود داشته باشه
سلام وقتتون به خیر
ممنون از آموزش های خوبتون
یه سوال داشتم اگر داده ها در یک جدول باشند مثلا ستون اول جدول نام استان و ستون دوم شهرستان مرتبط با هر استان مثلا سطر اول در ستون اول تهران و مقابل آن در ستون دوم همان سطر کرج و به همین ترتیب برای سایر استان ها در این صورت چه طور باید لیست وابسته درست کرد؟
درود بر شما
شما منطق کلی رو یاد بگیرید، با چیش های مختلف میتونید مسیله رو حل کنید
اصول رو ببینید چی باید باشه
طوری باشه که بتونید محدوده ها رو فرموله کنید
ممنون از توضیحاتتون
مشکل من دقیقا قسمت فرموله کردن داده ها در این حالت سطری هست میخواستم بدونم شما پیشنهادی دارید که من هم بتونم داده هام رو مانند مثال شما ستونی کنم؟
داده های من به این صورت هست که برای یک پروژه پرداختی های مختلف انجام شده و اطلاعات مربوط به اون پرداختی در یک سطر اومده برای مثال یک کد پروژه ۱۰ تا پرداختی داشته که هر کدوم در یک سطر به همراه اطلاعات اون هست و من میخوام با انتخاب کد پروژه از لیست کشویی اول بتونم نوع پرداختی را از لیست دوم انتخاب کنم تا اطلاعات مربوط به اون پرداختی فراخوانی بشه.
ممنون میشم که راهنمایی بفرمایید.
نامگذاری ها رو افقی انجام بدید و برای داینامیک بودن محدوده ها، از offset استفاده کنید و محدوده پویا رو بسازید
میتونید ایده رو از نمودارهای پویا بگیرید و نحوه داینامیک کردن محدوده رو بررسی کنید. لینک مقاله رو براتون قرار میدم
https://excelpedia.net/dynamic-chart/
و البته این نکته رو هم اضافه کنم که داده ها مدام به روز میشن و میخواستم خودش به طور پویا بتونه تمام عناوین پرداختی مربوط به هر پروژه رو در لیست دوم قرار بده.
با عرض سلام و وقت بخیر
ممنون از آموزش های خوبتون
من یک فایل اکسل دارم که شامل یک شیت اصلی و ۱۲ شیت دیگر به اسم ۱۲ ماه سال است. توی شیت اصلی یه منوی کشویی از لیست همون ۱۲ ماه ساختم که میخوام با انتخاب هر کدوم از اونها، شیت مربوط به اون ماه نمایش داده بشه. با هایپرلینک کردن نمیشه برای هر گزینه از منوی کشویی، لینک یا شیت جداگانه تخصیص داد.
راه حلی که به من پیشنهاد میکنید چیه؟
درود
با تابع indirect میتونید از اسم اون شیت استفاده کنید و همه سلول ها رو بیارید
ترکیب address, indirect
با سلام و احترام؛ با تشکر از زحمات شماو به خاطر سایت و آموزش های خوبتون
من برای یادگرفتن این مطلب به چندین سایت سر زدم ولی هیچ کدوم به خوبی وکاملی شما توضیح نداده بودند.ودر نهایت با آموزش شما این مطلب رو یاد گرفتم.
فقط یه سوال؛
من حسابدار یک موسسه هستم که برای تهیه لیست واریز گروهی مطالبات شرکت های طرف قرارداد جهت ارائه به بانک نیاز دارم که پس از اینکه در لیست کشویی وابسته اسم یکی از شرکت ها رو انتخاب کردم ، در دیگر فیلد های آن ردیف اطلاعات دیگر شرکت از جمله مبلغ طلب و شماره حساب و دیگر اطلاعات مورد نیاز که همیشه ثابت هستند رو خودکار کامل کنه .
لطفآ راهنمایی بفرمایید.
درود بر شما
باعث افتخار ماست
از تابع vlookup استفاده کنید