سبد خرید
0

محصولی در سبد خرید نیست.

بازگشت به فروشگاه

نحوه ایجاد لیست های وابسته در اکسل

ایجاد لیست کشویی وابسته در اکسل
۴.۸/۵ - (۲۸ امتیاز)

ایجاد لیست کشویی وابسته در اکسل

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

فرض کنید دو ستون داریم (H و I) از شهر و استان و میخوایم طوری فرمول نویسی کنیم که با انتخاب هر استان، سلول روبروش، شهرهای فقط مربوط به همون استان نمایش داده بشه.

لیست های بهم وابسته

شکل ۱- ایجاد لیست کشویی وابسته در اکسل -لیست های بهم وابسته

مرحله اول: ایجاد لیست اول (نام استان)

روی سلول 2H قرار گرفته و از قسمت Data Validation/ List محدوده A1:E1 رو به عنوان نام استان ها تخصیص میدیم.

مرحله دوم: نامگذاری محدوده ها

محدوده زیر هر استان رو انتخاب کرده و نامگذاری میکنیم. نام هر محدوده رو معادل نام استان میذاریم. به شکل ۲ توجه کنید. محدوده A2:A5 انتخاب شده و نام “تهران” تخصیص داده شده. برای آشنایی با نحوه نامگذاری محدوده ها پست مربوط به نامگذاری محدوده ها رو مطالعه کنید.

نامگذاری محدوده های مربوط به هر استان بصورت جداگانه

شکل ۲- نامگذاری محدوده های مربوط به هر استان بصورت جداگانه

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

محدوده های نامگذاری شده شهرهای هر استان

شکل ۳- محدوده های نامگذاری شده شهرهای هر استان

مرحله سوم: ارجاع به محدوده ها

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

=Indirect($H2)

فرمول نوشته شده در سلول I2

شکل ۴- ایجاد لیست کشویی وابسته در اکسل – فرمول نوشته شده در سلول I2

شرح راه حل مسئله ایجاد لیست کشویی وابسته

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

حالا ممکنه این سوال پی بیاد که چطور میشه لیست رو داینامیک کرد؟؟ یعنی به محض اضافه کردن یک شهر برای هر استان، محدوده اون خود به خود آپدیت بشه؟

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

در واقع در نهایت پنج Table داریم که نام آنها به نام استان ها تغییر کرده.

 

دانلود فایل این آموزش

برای دانلود این فایل از لینک زیر استفاده کنید:

آواتار
145

فارغ التحصیل لیسانس مهندسی صنایع، ارشد مدیریت صنعتی از دانشگاه تربیت مدرس و عاشق اکسل هستم. از سال 1388 که ترم 2 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • ثمین ۱۱ مرداد ۱۳۹۷ / ۱۲:۲۸ ب٫ظ

    با سلام
    سوالی داشتم خدمتتون… یه واحد درخواست دهنده دارم که شامل چهار بخش مختلف است: واحد انبار، واحد تولید، واحد عمران، واحد مکانیک. به طوریکه برای هر کدام از این واحد ها یه جدول با سر ستون های مشابه تعریف شده که داده ها وارد بشن…. حالا من می خوام این چهار واحد لیستی از واحد درخواست کننده باشن بطوریکه روی هر واحد که کلیک می شه به جدول مربوط به خودش وارد بشه….
    ممنون می شم راهنمایی بفرمایید.

    • آواتار
      حسنا خاکزاد ۱۸ مرداد ۱۳۹۷ / ۱۱:۴۵ ق٫ظ

      درود بر شما
      اگر جداو ل جداگانه هستن که براحتی میتونید با if این مسئله رو حل کنید
      اما اگر جداول در یک شیت هستن و ترکیبی، باید کد بنویسید که بسته به انتخاب هر واحد، فیلدهای مربوطه نمایش داده بشن.
      از custom view هم شاید بتونید استفاده کنید.

  • مهدی ۱۱ مرداد ۱۳۹۷ / ۱۰:۱۰ ق٫ظ

    سلام
    من چندین مجموعه و زیر مجموعه درست کردم با ترکیب توابع VLOOKUP و INDIRECT و در نهایت خروجی یک کد چند رقمی است منتها میخام نتیجه انتخابهای قبلیم از لیستها در انتخاب جدید از لیست کشویی نیاد مثلا از مجموعه یک و زیر مجموعه یک کالایی انتخاب شده و خروجی یک کد است حال اگر یک مجموعه جدید انتخاب کنم که زیر مجموعه ای نداشته یاشد ارقام کد زیر مجموعه قبلی در کد جدید می اید. که مایلم عدد صفر را بیندازد.
    لطفا راهنمایی فرمایید.

    • آواتار
      حسنا خاکزاد ۱۱ مرداد ۱۳۹۷ / ۱۱:۰۶ ق٫ظ

      درود بر شما
      سوالتون واضح نیست
      ولی بصورت کلی با if میتونید کنترل کنید شرایط مختلف رو

  • محسن ۶ مرداد ۱۳۹۷ / ۶:۰۲ ب٫ظ

    سلام
    ببخشید میشه در بین دو شیت مختلف که اطلاعات استان و شهر در یک شیت هست و آیکن ها یا آبشارها در شیت دیگر باشد را توضیح بدهید
    هرکاری میکنم نمیتوانم به این شکل جواب بگیرم
    ممنون بابت آموزش و سایت خوبتون

    • آواتار
      حسنا خاکزاد ۶ مرداد ۱۳۹۷ / ۹:۵۶ ب٫ظ

      درود بر شما
      بله میشه
      فقط باید در آدرس ایجاد شده، اسم شیت رو هم ترکیب کنید. یعنی مثلا اگه داده ها در sheet1 هستن، آدرس A1:A10 بشه : Sheet1!A1:A10
      بعد در شیت دیگه این آدرس رو فراخوانی کنید

  • رضا ۶ اردیبهشت ۱۳۹۷ / ۱۰:۱۸ ق٫ظ

    سلام. من میخوام یک جدول داشته باشم که کاربر در ردیف های مختلف از لیست کشویی استفاده کند. در واقع لیست کشویی باید در ردیف های مختلف تکرار بشه و ایتکه نوع جدول کشویی من وابسته هست (dependent drop down list)
    ولی مشکلی که الان هست اینه که توی ردیف های پایینی دوباره از همان سلول اول لود میشن که قبلا پر شده بودن. باید بیاد از ردیف خودش بخونه

    • آواتار
      حسنا خاکزاد ۶ اردیبهشت ۱۳۹۷ / ۶:۲۸ ب٫ظ

      درود
      احتمالا بحث $ یا آدرس دهی رعایت نمیشه. اگه درست آدرس داده باشید از ردیف خودش میخونه
      موفق باشید

    • علیرضا ۱۷ آبان ۱۳۹۷ / ۴:۱۲ ب٫ظ

      سلام
      اگر لیست کشوئی دوم را بوسیله data validation باز کنید و علامت $ را از کنار آدرس سل بردارید مثلا =INDIRECT($C$2) را به =INDIRECT(C2) تبدیل کنید میتونید با کپی کردن این سل و انتخاب تعداد سل های مورد نظر و Paste کردن مشکلتون را حل کنید

  • jmfnima ۱۶ فروردین ۱۳۹۷ / ۱۱:۲۴ ب٫ظ

    با سلام و احترام
    باز هم مطالبتون قدیمیه . سایت شما هم مثل سایت های دیگه مطالب رو از سایت های خارجی کپی برداری میکنید و برای مردم ارائه میدین .
    سعی کنید مطالبی ارائه بدین که لااقل توی سایت های دیگه نباشه . همش تکراریه

    • سامان چراغی ۱۷ فروردین ۱۳۹۷ / ۷:۵۱ ب٫ظ

      سلام
      قطعا سایت های خارجی منابع بسیار مفیدی هستند که ترجمه آنها به تنهایی کاری ارزشمند هست و برای بسیاری از علاقمندان که با زبان های خارجی مشکل دارند راهگشا خواهد بود.
      اما مطالب اکسل پدیا ترجمه نیستن و تالیف هستن (ممکنه موضوع مشترک باشه، اما متن و توضیحات تالیفی هستن) . ضمن اینکه تجربیات ارزشمند اساتید هم در این آموزشها مشهود هست. ضمن اینکه هدف این نیست که چیزی گفته بشه که هیچ جا نیست. هدف شفاف و واضح گفتن و مفید بودن هست. چون به هر حال همیشه در همه سطوح مراجعه کننده وجود خواهد داشت.
      پس صرف اینکه یک مطلب قدیمی هست، نباید از قلم بیفته.
      موفق باشید

  • hiosayan ۲۴ دی ۱۳۹۶ / ۱۱:۱۶ ق٫ظ

    سلام
    بسیار ممنون از آموزش و فایل شما

  • علی ۱۷ دی ۱۳۹۶ / ۱۰:۰۴ ب٫ظ

    همه چی عالی و حرفه ای…
    سپاس

  • Ahmad1265 ۲۳ آذر ۱۳۹۶ / ۲:۵۸ ب٫ظ

    خانم مهندس من اومدم روش بالا رو انجام دادم ولی برای استانهای دو بخشی مثل خراسان رضوی و خراسان شمالی اسم شهرها رو نشون نمی‌داد و فقط اسم استانهای یک قسمتی رو نشون میداد

    • آواتار
      حسنا خاکزاد ۲۳ آذر ۱۳۹۶ / ۸:۳۹ ب٫ظ

      محدوده های نامگذاریتون رو چک کنید
      احتمالا ناقص انتخاب شده
      اگر درست نشد بیاید توی گروه تلگرامی مطرح کنید و فایل بذارید تا بررسی بشه

    • farhang ۲ اردیبهشت ۱۳۹۷ / ۷:۰۱ ب٫ظ

      فاصله بین کلمات مجاز نیست توی لیستهای وابسته. بجای فاصله بین خراسان و رضوی نقطه یا خط فاصله بگذارید مشکلتون حل میشه .

  • احمد غروی ۲۳ آذر ۱۳۹۶ / ۱۱:۱۳ ق٫ظ

    عالی بود ممنون

  • مصطفی ۱۴ آذر ۱۳۹۶ / ۱:۵۲ ب٫ظ

    واقعا عالی و کاربردی. خیلی ممنون از این مطلب. واقعا جالب بود.مخصوصا Table

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان