سبد خرید
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 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • حسین ۱۴ آبان ۱۴۰۱ / ۰:۵۰ ق٫ظ

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

    • آواتار
      حسنا خاکزاد ۱۶ آبان ۱۴۰۱ / ۸:۱۸ ب٫ظ

      درود
      $ در فرمول ها رو چک کنید

  • فاطمه ۱۶ مهر ۱۴۰۱ / ۱:۱۲ ب٫ظ

    سلام. ممنونم بابت آموزش. من این لیست وابسته رو برای حداقل ۱۰۰۰ ردیف باید تعریف کنم. لیست اول مشکلی نداره کپی میشه , ولی اگر فرمول رو برای لیست دوم کپی کنم ، به اولین ردیف نگاه میکنه و لیست پویا نیست.روشی وجود داره که یکی یکی آرگومان indicator رو تغییر ندیم؟(از این مسیر کپی می کنم: Copy/Paste Special/Validation)

    • آواتار
      حسنا خاکزاد ۱۵ تیر ۱۴۰۲ / ۸:۴۵ ب٫ظ

      درود
      متوجه نشدم درست مشکل کجاست
      اگر مسئله درگ کردنه باید $ رو در فرمول اصلاح کنید

  • مسعود ۱ شهریور ۱۴۰۱ / ۹:۱۴ ق٫ظ

    درود مهندس–لیست کشویی که مثلا واحد آن متر باشد کل اعداد وارد شده به متر تبدیل بشوند و در صورت انتخاب فوت اعداد تبدیل به واحد فوت شوند فرمول آن چیست –ممنون می شوم کمک کنید.

    • سامان چراغی ۱ شهریور ۱۴۰۱ / ۱۰:۳۴ ق٫ظ

      درود
      میتونید یک ستون نهایی درست کنید و با استفاده از IF مقدار انتخاب شده در سلول حاوی لیست رو بررسی کنید و متناسب با مورد انتخاب شده، مقدار درون سلول اولیه رو تبدیل کنه و نمایش بده.
      راه دیگه استفاده از VBA هست.

  • ارمشی ۲۶ اردیبهشت ۱۴۰۱ / ۱۱:۰۳ ق٫ظ

    سلام
    وقتی نام آذربایجان شرقی یا استان های دو سه کلمه ای رو میخام شهرهاشو نمایش بدم اونا رو نشون نمیده ولی استانهای تک کلمه رو نشون میده!
    حتی وقتی به صورت آندرلاین دارمثل آذربایجان_غربی می نویسم؟؟؟؟؟

  • عرفان ۸ اردیبهشت ۱۴۰۱ / ۰:۴۵ ق٫ظ

    سلام
    من سه تا ستون دارم
    که به توالی به هم وابسته هستند
    حالا میخوام از هر ستون مقادیر یکتا رو بگیرم و با هر کدومشون یدونه لیست بسازم که در نهایت به هم وابسته هستند.
    مقادیر تکرری توشون زیاده
    بهم میشه بگی مقادیر یکتا رو چطور باید به هم متصل کنم؟
    ببینین من بلدم چطوری مقادیر غیر تکراری رو توی یک لیست بیارم
    مقادیر یکتا رو هم بلدم پیدا کنم
    ولی نمیدونم چطوری وابسته کنمشون!!
    میشه بهم ایمیل بزنین؟؟

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

      درود بر شما
      منظورتون از وابسته کردن رو متوجه نشدم
      همین مقاله که کامنت گذاشتید مربوط به لیست های وابسته است
      فکر کنم مثال بزنید بهتر متوجه بشید

      • مصطفی ارقند ۱۵ مرداد ۱۴۰۲ / ۵:۵۵ ق٫ظ

        سلام.
        من میخوام چند نمودار رو دسترسی سریع براشون ایجاد کنم و به صکرت لیست کشویی یا روشی بهتر اگه مدنظرتون هست در بیارم.
        چیکار باید کنم؟ممنون

        • آواتار
          حسنا خاکزاد ۱۵ مرداد ۱۴۰۲ / ۱۲:۴۶ ب٫ظ

          درود بر شما
          اگر منظور اینه با تغییر لیست کشویی نمودار تغییر کنه یا باید برید سراغ pivot chart یا نمودارهای پویا

  • سعید ۱۳ فروردین ۱۴۰۱ / ۱۰:۴۹ ب٫ظ

    من دو تا فایل دارم می خوام حدول اطلاعات را از فایل دو با انتخاب از فایل کشویی بخونه مثلا صدیقی را انتخاب کنم در جدول ۱ و فایل یک تمام مشخصات صدیقی را جایگزین فرم کنه با indirect وقتی ارجاع میدم خطای #ref را میده من با ترکیب فرمول ها ادرس را ایجاد می کنم ولی وقتی میدم indirect ارجاع نمیشه لطفا راهنمایی کنید indirect(a2)
    لیست کشویی>صدیقی
    A1=(لیست کشویی) >صدیقی
    A2=( “‘”& a1&”‘!c5”)

  • نرگس ۱۸ آبان ۱۴۰۰ / ۳:۵۲ ب٫ظ

    سلام خیلی ممنون بابت این اموزش
    من میخوام وقتی یکی از موارد داخل لیست رو انتخاب میکنم ستون های اکسل مربوط به اون مورد نمایش داده بشه و باقی ستون ها هاید بشه میشه لطفا راهنمایی کنید

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

      درود بر شما
      کدنویسی VBA باید انجام بدید

  • علی رشیدی ۹ آبان ۱۴۰۰ / ۱۰:۰۱ ق٫ظ

    سلام
    میخام برای محصولاتی که به طول و عرض مشخص میشن، لیست کشویی تعریف کنم.
    بدین صورت که مثلا عرض ۸۰، سه تا طول میتونه داشته باشه،عرض ۱۰۰، چهار تا طول مختلف و … همینطور.
    برای تعریف کشویی وابسته، در سلول اول عرض محصول رو انتخاب میکنم و میخوام در سلول دوم، کشویی طول های قابل ساخت برای اون عرض رو بیاره.
    وقتی میخوام نام گذاری کنم که INDIRECT بدم به اون سلول، چون در سلول اول فقط عدد نوشته شده، نمیتونم نامگذاری کنم که ریفر بدم بهش.
    ممنون میشم راهنمایی کنید.

    • آواتار
      حسنا خاکزاد ۹ آبان ۱۴۰۰ / ۱۰:۲۰ ب٫ظ

      درود وقتی عدد نوشته شده و نامکذاری میکنید یک _ در اول نام ها ظاهر میشه که از حالت عددی خارج کنه.
      پس داخل فرمول ولیدیشن، این _ رو ایجاد کنید
      مثلا با این تابع:
      =INDIRECT(REPLACE($E$1,1,0,”_”))

  • عادل گل ۲۳ مرداد ۱۴۰۰ / ۱۲:۵۱ ب٫ظ

    سلام
    فرض کنید دو ستون “استان” و “شهر” داریم و می خواهیم وقتی در ستون استان، استانی انتخاب میشه شهرهای همون استان در ستون شهرها نمایش داده بشه و قابل انتخاب باشه.
    برای این مورد از Table استفاده کردیم و Table ها را نامگذاری کردیم. (مطابق این آموزش: https://excelpedia.net/excel-table/)
    برای ایجاد لیست و فراخوانی table های نامگذاری شده چه باید کرد؟
    از چه فرمولی باید استفاده کرد؟

    • آواتار
      حسنا خاکزاد ۲۴ مرداد ۱۴۰۰ / ۱۰:۵۰ ق٫ظ

      درود
      این مقاله ای که انتهاش کامنت گذاشتید دقیقا پاسخ سوال شماست!
      فایلش هم قابل دانلود هست
      ببینید سوالتون همینه؟

      • عادل ۲۴ مرداد ۱۴۰۰ / ۱۱:۴۱ ق٫ظ

        همه چیز اوکی شد ولی می خوام لیست استان رو که میزنم، شهرهای همون استان باز بشه.
        نمیدونم چه دستوری رو کجا باید درج کنم؟؟؟
        مشکلم این هست.

        • آواتار
          حسنا خاکزاد ۲۵ مرداد ۱۴۰۰ / ۱۱:۴۵ ب٫ظ

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

  • بيره وه ر ۲۳ اردیبهشت ۱۴۰۰ / ۱۱:۰۱ ب٫ظ

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

ارسال دیدگاه

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

توسط
تومان