exceliran-logoexceliran-logoexceliran-logoexceliran-logo
  • صفحه اصلی
    • مرجع اكسل
    • اخبار
      • تازه‌ها
      • سمینار
      • کلاس
    • پایگاه آموزشی
      • توابع
      • نمودارها
      • ابزارها و تنظیمات
      • برنامه‌نویسی VBA
      • داشبورد و هوش تجاری
      • اکسل و حسابداری
      • معرفی کتاب
      • افزونه‌ها
  • انجمن
    • پرسش و پاسخ
      • سوالات اکسل
      • سوالات اکسس
      • سوالات VBA
    • مطالب آموزشی
      • آموزش اکسل
      • آموزش VBA
    • اکسل در رشته‌های مختلف
      • حسابداری
      • مهندسی صنایع
      • سایر رشته‌ها
    • برنامه‌های کاربردی
      • Add-ins
  • خدمات ما
    • کلاس‌های آموزشی
    • سمینار، همایش و کنفرانس
    • مسابقات مهارت
    • تعیین سطح اکسل
    • انجام پروژه
  • درباره ما
  • تماس با ما

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

  • Home
  • وبلاگ
  • پایگاه آموزشی ابزارها و تنظیمات
  • ایجاد لیست کشویی وابسته
excel-android-ios
اکسل در اندروید و iOS
2018/04/15
کد ملی
تشخیص صحت کد ملی
2018/04/30

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

2018/04/20 48358 Visit
Categories
  • ابزارها و تنظیمات
  • پایگاه آموزشی
  • توابع
Tags
  • combo box list
  • Conditional Formatting
  • Data Validation
  • dependent combo box
  • dependent drop-down list
  • drop down list
  • INDIRECT
  • Name Manager
  • ایجاد لیست آبشاری
  • ایجاد لیست کرکره‌ای
  • ایجاد لیست کشویی
  • ایجاد لیست کشویی وابسته
  • كانديشنال فرمتينگ
  • لیست آبشاری وابسته
  • لیست کرکره‌ای
  • لیست کرکره‌ای وابسته
  • لیست کشویی
  • لیست کشویی وابسته
  • لیست وابسته
dependent-dropdown-list

dependent-dropdown-list

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

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

همانطور که در پست ۸ روش ایجاد لیست کشویی در اکسل خواندیم، یکی از ویژگی‌های مهم در نرم‌افزار اکسل، مدیریت و ویرایش ساده اطلاعات می باشد.

ازجمله روش‌ها جهت انتخاب و ویرایش ساده داده‌ها، می‌توان به موضوع لیست کردن اطلاعات اشاره کرد که نقش بسزایی در مدیریت و استفاده از اطلاعات ذخیره‌شده دارد.

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

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

مطالبی که در طول این پست آموزش می‌بینیم:

  • ایجاد لیست کرکره‌ای یا آبشاری
  • کار با ابزار Name Manager
  • کار با ابزار Conditional Formatting
  • کار با تابع AND
  • کار با تابع IF
  • کار با تابع INDIRECT
  • ترفند استفاده از فونت‌های بصری یا آیکونی

نکات کلیدی این آموزش:

  • تابع INDIRECT
  • نام‌گذاری محدوده و تکنیک آدرس‌دهی سلول

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

مانند شکل ۱:

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

شکل ۱- نمونه نهایی لیست کشویی وابسته

گام اول: لیست کردن نام کلاس‌ها

سلول C2 را انتخاب کرده سپس به مسیر زیر بروید:

Data Tab > Data Tools Group > Data Validation

که پنجره زیر ظاهر می‌شود

پنجره Data Validation برای انتخاب لیست کشویی کلاس‌ها

شکل ۲- پنجره Data Validation برای انتخاب لیست کشویی کلاس‌ها

بر اساس شکل فوق، تنظیمات را انجام دهید به این صورت که محدوده $B$6:$E$6 (محدوده عنوان کلاس‌ها) را جهت لیست شدن در سلول C2 آدرس‌دهی کنید.

گام دوم: لیست‌کردن دانش‌آموزان براساس کلاس مربوطه

در این مرحله قصد داریم به گونه‌ای آدرس‌دهی کنیم تا زمانی که نام کلاس C را انتخاب می‌کنیم فقط دانش‌آموزان آن کلاس در سلول C4 لیست شود. برای اینکار لازم است ابتدا محدوده کلاس‌ها را نام‌گذاری کرده و با استفاده از تابع INDIRECT مقادیر همان محدوده را فراخوانی کنیم.

نام گذاري محدوده ها در این روش به دو صورت امکان پذیر است:

روش اول: برای نام گذاری محدوده کلاس‌ها مسیر زیر را بروید:

Formulas Tab > Defined Names Group > Name Manager

یا کلید ترکیبی Ctrl+F3 را فشار دهید تا پنجره Name Manager ظاهر شود.

پنجره Name Manager

شکل ۳- پنجره Name Manager


دکمه New را بزنید تا پنجره New Name ظاهر شود.

پنجره New Name برای ایجاد یک نام به اسم کلاس A

شکل ۴- پنجره New Name برای ایجاد یک نام به اسم کلاس A


A: مطابق شکل دقیقا نام کلاسی را که در لیستتان نوشته‌اید را در این کادر بنویسید.توجه کنید که بین نام از خط فاصله استفاده نکنید.

B: در این کادر محدوده‌ی لیستی که مربوط به کلاس A می‌باشد را انتخاب کنید که اینجا محدوده ما B7:B17 می‌باشد.

C: بعد از زدن OK دوباره به پنجره Name Manager هدایت می‌شوید. حال می‌بینید که نامگذاری محدوده شما به لیست اضافه شده است.

حال دوباره با زدن دکمه New دقیقا همین کار را برای سه کلاس B,C,D هم انجام دهید با این تفاوت که اینبار در قسمت B وA نام و محدوده مربوط به همان کلاس را انتخاب کنید.

بعد از اتمام این کار شما باید چهار کلاس با نام‌های کلاسA ، کلاسB ، کلاسC و کلاسD در لیستتان داشته باشید.

مطابق شکل ۵:

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

شکل ۵- نمونه نهایی نام‌های ایجاد شده برای تمامی کلاس‌ها

روش دوم: برای نام‌گذاری کلاس‌ها می‌توانید از روش Create From Selection که سریعتر و راحت‌تر است نیز استفاده کنید به این صورت که محدوده داده‌ها (B6:E17) را انتخاب کرده و از مسیر زیر Create From Selection را انتخاب می‌کنیم:
Formulas Tab > Defined Names Group > Create From Selection

در فرم ظاهر شده تنها تیک گزینه Top Row را زده و OK می‌کنیم.

خواسته شما انجام شد، می‌توانید لیست محدوده‌های نام‌گذاری شده را از قسمت Name Manager مشاهده کنید. (شکل ۵)

گام سوم: ایجاد لیست وابسته به کلاس برای دانش‌آموزان

جهت اتصال لیست دانش‌آموزان هر کلاس به کلاس خود، ابتدا مسیر زیر را بروید:

Data Tab > Data Tools Group > Data Validation

این مرحله همانند مرحله قبل می‌باشد با این تفاوت که در کادر Source از فرمول زیر استفاده می‌کنیم:

=INDIRECT($C$2)
ایجاد لیست کشویی وابسته به نام کلاس

شکل ۶- ایجاد لیست کشویی وابسته به نام کلاس


سپس OK را می‌زنیم.

حال اگر شما نام کلاس را تغییر دهید خواهید دید که لیست دانش‌آموزان نیز متناسب با آن تغییر خواهد کرد.

گام چهارم: رنگی کردن ستون کلاس‌ها بصورت داینامیک

حال قصد داریم زمانی که مثلا نام کلاسC از لیست انتخاب شد فقط دانش‌آموزان همان کلاس بصورت هایلایت نشان داده شوند.

برای اینکار ابتدا محدوده B7:E7 را انتخاب و مسیر زیر را بروید:

Home tab > Styles Group > Conditional Formatting > Manage Rules…

در پنجره باز شده گزینه New Rule را بزنید.

استفاده از Conditional Formatting برای رنگی کردن ستون کلاس با انتخاب کلاس از لیست

شکل ۷- استفاده از Conditional Formatting برای رنگی کردن ستون کلاس با انتخاب کلاس از لیست


مطابق شکل مرحله 1 و 2 را انجام داده و گزینه Format را فشار دهید تا پنجره Format Cells باز شود. به تب Fill رفته و یک رنگی به دلخواه انتخاب کنید که ما اینجا رنگ سبز را انتخاب کردیم. در آخر OK را بزنید. دوباره OK را بزنید.

مطابق شکل ۸:

انتخاب رنگ برای Conditional Formatting

شکل ۸- انتخاب رنگ برای Conditional Formatting


حال شما می‌بینید که رنگ‌بندی شرطی شما به لیست اضافه شده است. (شکل ۹)

اضافه شدن یک شرط Conditional Formatting به

شکل ۹- اضافه شدن یک شرط Conditional Formatting به


OK را بزنید تا کلا پنجره بسته شود.

اکنون بروید و نام کلاس را تغییر دهید.خواهید دید که محدوده مربوط به آن کلاس به رنگ سبز درخواهد آمد. (شکل ۱۰)

نتیجه خروجی بعد از اعمال اولین Conditional Formatting

شکل ۱۰- نتیجه خروجی بعد از اعمال اولین Conditional Formatting

گام پنجم: رنگی کردن نام دانش‌آموزان بصورت داینامیک

در این مرحله ما قصد داریم که بعد از انتخاب نام کلاس و نام دانش‌آموز، علاوه بر هایلایت شدن ستون مربوط به کلاس انتخابی، دانش‌آموز انتخاب شده نیز که در همان کلاس است هایلات شود.

این مرحله کاملا شبیه گام سوم می‌باشد با این تفاوت که فرمول و رنگ انتخابی متفاوت خواهد بود.

برای اینکار ابتدا محدوده B7:E7 را انتخاب و مسیر زیر را بروید:

Home tab > Styles Group > Conditional Formatting > Manage Rules…

حال مطابق شکل ۱۱ مراحل را به ترتیب انجام داده و فرمول ذیل را نوشته و در آخر OK را بزنید.

=AND(B$6=$C$2,B7=$C$4)
ایجاد شرط دوم در Conditional Formatting برای رنگی کردن اسم دانش آموز

شکل ۱۱- ایجاد شرط دوم در Conditional Formatting برای رنگی کردن اسم دانش آموز


اکنون مشاهده می‌کنید که رنگ‌بندی شرطی شما به لیست اضافه شده است.

نمونه نهایی Conditional Formatting

شکل ۱۲- نمونه نهایی Conditional Formatting


دوباره OK را بزنید.

دقت داشته باشید که ترتیب قرار‌گیری رنگ‌بندی شرطی رعایت شود. یعنی ابتدا شرط مربوط به دانش آموزان و سپس شرط مربوط به کلاس در لیست باشد.

محل قرار گرفتن هر شرط در Conditional Formatting

شکل ۱۳- محل قرار گرفتن هر شرط در Conditional Formatting


اکنون با هربار انتخاب نام کلاس و دانش‌آموز گروه کلاس و نام دانش‌آموزان هایلایت خواهد شد.

جهت ایجاد لیست‌های کشویی وابسته روش‌های متنوعی وجود دارد. ما در اين پست يكي از روش‌هاي ايجاد ليست‌كشويي وابسته بصورت غير پويا (استاتيك) را بررسي كرديم.
سعي داريم در پست هاي آينده روش‌هاي ديگري نيز به شما آموزش دهيم. شما نیز می‌توانید با معرفی روش‌هایی که در این مورد می‌دانید در با ارسال کامنت ما را در این مسیر همراهی کنید.

منابع

[1] exceljet

[2] ablebits

جاوید مختاری
جاوید مختاری
فارغ‌التحصیل مهندسی عمران هستم. از سال ۱۳۸۸ بنا به نیازهای شغلی اکسل را به‌صورت مبتدی شروع کردم تا اینکه با سایت اکسل ایران آشنا شدم و فعالیت خودم را به‌صورت حرفه‌ای ادامه دادم. علاقه زیادی به برنامه‌نویسی VBA و معرفی قدرت و قابلیت اکسل به تمامی مشاغل دارم.

Related posts

ترکیب سلول‌ها در اکسل
32083 Visit
2021/01/09

ترکیب سلول‌ها در اکسل


نوشتن ارقام به میلیون
258396 Visit
2020/12/21

نوشتن ارقام به میلیون ریال


timeline in pivottable
10731 Visit
2020/11/23

نوار زمانی در پیوت تیبل


time without colon
8441 Visit

درج زمان بدون نوشتن علامت دو نقطه

2020/11/17

درج زمان بدون دو نقطه


دیدگاهتان را بنویسید لغو پاسخ

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

13 Comments

  1. وحید گفت:
    2018/04/28 در 20:43

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

    پاسخ
  2. sabertb گفت:
    2018/08/01 در 08:39

    بسیار ممنون

    پاسخ
  3. hosseinin گفت:
    2018/08/17 در 19:19

    سلام و سپاس فراوان

    پاسخ
  4. مائده گفت:
    2018/10/18 در 08:43

    سلام وقت بخیر ممنون از سایت خوبتون ،فقط یه مشکلی که دارم این هست که قسمت سوم رو جواب نمیده اصلا هیچ لیستی نشون نمیده.وفرمول INDIRECT که مینویسم داخل یه سلول جدا هم خطای ref میده. ممنون میشم راهنمایی کنین.

    پاسخ
    • جاوید مختاری گفت:
      2018/10/18 در 10:38

      با سلام.

      شما ابتدا باید سلول مربوط به لیست دانش آموزان رو انتخاب کنید سپس ادامه مراحل رو انجام بدین.

      درمورد لیست نشدن نام دانش آموزان هم بررسی کنید که نام محدوده هایی که در Name Manager تعریف کردین با نامشون در سلول دقیقا یکی باشد.برای شروع کار ، ترجیحا بصورت لاتین محدوده رو نام گذاری کنید تا از اشتباهات تایپ حروف عربی-فارسی جلوگیری بشه.

      پاسخ
  5. یاس گفت:
    2019/01/09 در 11:36

    سلام
    ممنون میشم راهنمایی کنین ک چطور میتونم ب کمک VLOOKUP لیست کشویی تو در تو بسازم.

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

    پاسخ
    • بهنام دارابی گفت:
      2019/01/09 در 12:13

      سلام
      لطفا سوالاتتون رو در انجمن اکسل ایران به آدرس زیر مطرح بفرمایین
      https://forum.exceliran.com/

      پاسخ
  6. یاس گفت:
    2019/01/16 در 15:24

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

    پاسخ
  7. ابراهیمی گفت:
    2019/02/09 در 19:27

    سلام
    وقتتون بخیر
    من دوتا مشکل دارم
    یکی اینکه لیست کشویی سوم با پیروی کردن از این فرمول برای من کار نمیکنه =INDIRECT(SUBSTITUTE(B2&C2,” “,””)) و باید لیست کشویی سوم رو به دوم ارتباط بدم تا بتونم سه ستونی استفاده کنم

    مورد دوم اینه که من میخوام از لیست کشویی در سطرهای دیگه هم استفاده کنم-باید چیکار کنم
    اگه اینزرت کنم فقط لیست کشویی اول تغییر میکنه ولی لیست کشویی دوم تابع سطر اول هست
    باید با چیکار کنم

    ممنون …

    پاسخ
  8. دانيال گفت:
    2020/01/21 در 15:15

    سلام.خیلی گنگ توضیح دادید.دنبال کردن مسیرها خیلی سخته

    پاسخ
    • امیر قاسمیان گفت:
      2020/03/04 در 13:47

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

      پاسخ
  9. رضا گفت:
    2020/11/25 در 15:45

    با سلام
    لطفا در باره ایجاد لیست وابسته در فرم های اکسل و از طریق combo را توضیح بدین
    با تشکر

    پاسخ
  10. حسین گفت:
    2020/12/01 در 12:32

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

    پاسخ

جستجو

اکسل را از اینجا شروع کنید كلاس هاي آموزشي سمينارهاي اكسل ايران
تمامی حقوق مادی و معنوی سایت برای جامعه اکسل ایرانیان محفوظ می باشد.