فهرست مطالب
این آموزش نحوه ایجاد یک لیست کشویی اکسل را بسته به سلول دیگر با استفاده از توابع آرایه پویا نشان می دهد.
ایجاد یک لیست کشویی ساده در اکسل آسان است. ایجاد یک کشویی چند سطحی آبشاری همیشه یک چالش بوده است. آموزش پیوند داده شده در بالا چهار رویکرد مختلف را شرح میدهد، که هر کدام شامل تعداد بسیار زیاد مراحل، مجموعهای از فرمولهای مختلف، و تعداد محدودی از محدودیتهای مربوط به ورودیهای چند کلمهای، سلولهای خالی و غیره است.
این بد بود. اخبار. خبر خوب این است که این روش ها برای نسخه های پیش پویا اکسل طراحی شده اند. معرفی آرایه های پویا در اکسل 365 همه چیز را تغییر داده است! با توابع جدید آرایه پویا، ایجاد یک لیست کشویی وابسته چند دقیقه ای است، اگر نه چند ثانیه. بدون ترفند، بدون اخطار، بدون مزخرف. فقط راه حل های سریع، ساده و آسان برای دنبال کردن.
یادداشت:
- این روش جدید آرایه پویا برای ایجاد لیست های کشویی فقط در Excel 365 و Excel 2021. در اکسل پیش پویا، باید این کار را به روش قدیمی و قدیمی انجام دهید، همانطور که در ایجاد یک کشویی وابسته در Excel 2019 - 2007 توضیح داده شده است.
- این راه حل برای یک ردیف است. اگر میخواهید فهرستهای انتخابی خود را در چند ردیف کپی کنید، سپس دستورالعملهای موجود در لیست کشویی وابسته را برای چندین ردیف دنبال کنید.
- سلولی را انتخاب کنید که می خواهید فهرست کشویی در آن ظاهر شود. (در مورد ما D3).
- در برگه Data ، در گروه Data Tools ، روی Data Validation کلیک کنید.
- در کادر گفتگوی Data Validation ، موارد زیر را انجام دهید:
- در قسمت Allow ، را انتخاب کنید لیست .
- در کادر منبع ، مرجع خروجی محدوده نشت را با فرمول UNIQUE وارد کنید. برای این کار، تگ هش را درست بعد از مرجع سلول تایپ کنید، مانند این: =$G$3#
به این مرجع محدوده ریزش گفته می شود، و این نحو به کل محدوده اشاره دارد، صرف نظر از اینکه چقدر گسترش می یابد یا منقبض می شود.
- روی OK کلیک کنید تا کادر گفتگو بسته شود.
- برای اینکه ورودی های جدید در لیست کشویی به طور خودکار گنجانده شوند، داده های منبع خود را به صورت جدول Excel قالب بندی کنید. یا میتوانید همانطور که در این مثال نشان داده شده است، چند سلول خالی را در فرمولهای خود بگنجانید.
- اگر دادههای اصلی شما دارای شکاف هستند، میتوانید با استفاده از این راهحل جاهای خالی را فیلتر کنید .
- برای مرتبسازی الفبایی آیتمهای کشویی، فرمولهای خود را در تابع SORT همانطور که در این مثال توضیح داده شده است بپیچید.
- برای درج داده های جدید به صورت خودکار همانطور که به لیست منبع اضافه می شود، چند سلول اضافی به آرایه های ارجاع شده در فرمول های خود اضافه کنید.
- برای حذف سلول های خالی ، فرمول ها را طوری پیکربندی کنید که سلول های خالی را نادیده بگیرند تا زمانی که پر شوند.
نحوه ایجاد لیست کشویی پویا در اکسل
این مثال کلی را نشان می دهدرویکرد ایجاد یک لیست کشویی آبشاری در اکسل با استفاده از توابع آرایه پویا جدید.
فرض کنید شما لیستی از میوه ها در ستون A و صادرکنندگان در ستون B دارید. یک مشکل دیگر این است که نام میوه ها وجود ندارد. گروه بندی شده اما در سراسر ستون پراکنده شده است. هدف این است که نام میوه های منحصر به فرد را در اولین کشویی قرار دهید و بسته به انتخاب کاربر، صادرکنندگان مربوطه را در کشویی دوم نشان دهید.
برای ایجاد یک لیست کشویی وابسته پویا در اکسل، این مراحل را انجام دهید:
1. موارد را برای لیست کشویی اصلی دریافت کنید
برای شروع، ما همه نامهای میوههای مختلف را از ستون A استخراج میکنیم. این کار را میتوان با استفاده از تابع UNIQUE در سادهترین شکل آن انجام داد - فهرست میوهها را برای اولین آرگومان تهیه کنید. ( آرایه ) و آرگومان های اختیاری باقی مانده را حذف کنید زیرا پیش فرض های آنها برای ما خوب کار می کنند:
=UNIQUE(A3:A15)
فرمول به G3 می رود و پس از فشار دادن کلید Enter، نتایج به طور خودکار به سلول های بعدی ریخته می شود.
2. کشویی اصلی را ایجاد کنید
برای ایجاد لیست کشویی اصلی خود، یک قانون اعتبارسنجی داده اکسل را به این صورت پیکربندی کنید:
افتاده اصلی شما لیست پایین انجام شد!
3. موارد را برای لیست کشویی وابسته دریافت کنید
برای دریافت ورودی برای منوی کشویی ثانویه، مقادیر ستون B را بر اساس مقدار انتخاب شده در اولین کرکره فیلتر می کنیم. این کار را می توان با کمک یک تابع آرایه پویا دیگر به نام FILTER انجام داد:
=FILTER(B3:B15, A3:A15=D3)
در جایی که B3:B15 داده های منبع برای کشویی وابسته شما هستند، A3:A15 داده های منبع برای شما هستند. فهرست کشویی اصلی شما، و D3 سلول کشویی اصلی است.
برای اطمینان از اینکه فرمول به درستی کار می کند، می توانید مقداری را در اولین لیست کشویی انتخاب کنید و نتایج بازگردانده شده توسط FILTER را مشاهده کنید. کامل! :)
4. کشویی وابسته را ایجاد کنید
برای ایجاد دومین لیست کشویی، معیارهای اعتبارسنجی داده را دقیقاً همانطور که برای اولین کشویی در مرحله 2 انجام دادید پیکربندی کنید. اما این بار، به محدوده ریزش برگشتی توسط تابع FILTER اشاره کنید: =$H$3#
همین! لیست کشویی وابسته به اکسل شما آماده استفاده است.
نکات ویادداشت ها:
چگونگی ایجاد لیست کشویی وابسته چندگانه در Excel
در مثال قبلی، بسته به سلول دیگری یک لیست کشویی ایجاد کردیم. اما اگر به یک سلسله مراتب چند سطحی نیاز دارید، یعنی یک کرکره سوم بسته به لیست دوم، یا حتی یک کرکره چهارم بسته به لیست سوم چه باید کرد. آیا این امکان پذیر است؟ بله، شما می توانید هر تعداد لیست وابسته را تنظیم کنید (البته یک عدد معقول :).
برای این مثال، ما ایالت ها / استان ها را در ستون C قرار داده ایم و اکنون به دنبال اضافه کردن یک کشویی مربوطه هستیم. منو در G3:
برای ایجاد یک لیست کشویی وابسته چندگانه در اکسل، این کاری است که باید انجام دهید:
1. اولین کشویی را تنظیم کنید
لیست کشویی اصلی دقیقاً با همان مراحل مثال قبلی ایجاد شده است (لطفاً مراحل 1 و 2 را در بالا ببینید). تنها تفاوت در مرجع محدوده ریزش است که در کادر منبع وارد می کنید.
این بار، فرمول UNIQUE در E8 است و کشویی اصلیلیست قرار است در E3 باشد. بنابراین، E3 را انتخاب کنید، روی Data Validation کلیک کنید و این مرجع را ارائه دهید: =$E$8#
2. دومین کشویی را پیکربندی کنید
همانطور که ممکن است متوجه شده باشید، اکنون ستون B شامل موارد متعددی از صادرکنندگان یکسان است. اما شما فقط نام های منحصر به فرد را در لیست کشویی خود می خواهید، درست است؟ برای حذف همه موارد تکراری، تابع UNIQUE را دور فرمول FILTER خود بپیچید و این فرمول به روز شده را در F8 وارد کنید:
=UNIQUE(FILTER(B3:B15, A3:A15=E3))
جایی که B3:B15 داده منبع برای دومین کشویی است. ، A3:A15 داده های منبع برای اولین کشویی است و E3 اولین سلول کشویی است.
پس از آن، از مرجع دامنه نشت زیر برای معیارهای اعتبارسنجی داده استفاده کنید: =$F$8#
3. سومین کشویی را تنظیم کنید
برای جمع آوری موارد برای لیست کشویی سوم، از فرمول FILTER با چندین معیار استفاده کنید. معیار اول کل لیست میوه را با مقدار انتخاب شده در اولین کرکره بررسی می کند (A3:A15=E3) در حالی که معیار دوم لیست صادرکنندگان را در مقابل انتخاب در کرکره دوم آزمایش می کند (B3:B15=F3). فرمول کامل به G8 می رود:
=FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3))
اگر می خواهید کرکره های وابسته بیشتری را اضافه کنید (چهارم، پنجم، و غیره)، به احتمال زیاد ستون C حاوی چندین اتفاق مشابه خواهد بود. مورد برای جلوگیری از ورود موارد تکراری به جدول آماده سازی، و در نتیجه در کشویی 3، فرمول FILTER را در داخل قرار دهید.تابع UNIQUE مانند آنچه در مرحله قبل انجام دادیم:
=UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3)))
آخرین کاری که باید انجام دهید این است که یک قانون اعتبارسنجی داده دیگر با این مرجع منبع ایجاد کنید: =$G$8#
لیست کشویی وابسته چندگانه شما آماده است!
نکته. به روشی مشابه، میتوانید آیتمهایی را برای کششهای بعدی دریافت کنید. با فرض اینکه ستون D حاوی داده های منبع برای چهارمین لیست کشویی شما باشد، می توانید فرمول زیر را در H8 برای بازیابی موارد مربوطه وارد کنید:
=UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3)))
چگونه یک لیست کشویی قابل گسترش در اکسل ایجاد کنیم
بعد از ایجاد یک کشویی، اولین نگرانی شما ممکن است این باشد که چه اتفاقی می افتد وقتی موارد جدیدی را به داده های منبع اضافه می کنید. آیا لیست کشویی به طور خودکار به روز می شود؟ اگر داده های اصلی شما به صورت جدول اکسل قالب بندی شده باشد، بله، یک لیست کشویی پویا که در مثال های قبلی مورد بحث قرار گرفت به طور خودکار و بدون هیچ تلاشی از جانب شما گسترش می یابد زیرا جداول اکسل طبیعتاً قابل گسترش هستند.
اگر برای برخی دلیل استفاده از جدول اکسل گزینه ای نیست، می توانید لیست کشویی خود را به این ترتیب قابل گسترش کنید:
با در نظر گرفتن این دو نکته، بیایید فرمول ها را به خوبی تنظیم کنیمجدول آماده سازی داده های ما قوانین اعتبارسنجی داده به هیچ وجه نیازی به تنظیمات ندارند.
فرمول برای کشویی اصلی
با نام میوه ها در A3:A15، ما 5 سلول اضافی به آرایه اضافه می کنیم تا موارد احتمالی را برآورده کنیم. ورودی های جدید علاوه بر این، ما تابع FILTER را در UNIQUE تعبیه کردیم تا مقادیر منحصر به فرد را بدون جاهای خالی استخراج کنیم.
با توجه به موارد فوق، فرمول در G3 به این شکل است:
=UNIQUE(FILTER(A3:A20, A3:A20""))
فرمول برای منوی بازشوی وابسته
فرمول G3 نیازی به تغییرات زیادی ندارد - فقط آرایه ها را با چند سلول دیگر گسترش دهید:
=FILTER(B3:B20, A3:A20=D3)
نتیجه یک افت وابسته کاملاً پویا قابل گسترش است. فهرست پایین:
چگونه فهرست کشویی را بر اساس حروف الفبا مرتب کنیم
می خواهید بدون استفاده از داده های منبع، لیست کشویی خود را بر اساس حروف الفبا مرتب کنید؟ اکسل جدید پویا یک عملکرد ویژه برای این کار نیز دارد! در جدول آمادهسازی دادهها، به سادگی تابع SORT را در اطراف فرمولهای موجود خود بپیچید.
قوانین اعتبارسنجی داده دقیقاً همانطور که در مثالهای قبلی توضیح داده شد پیکربندی شدهاند.
برای مرتبسازی از A به Z
از آنجایی که ترتیب مرتبسازی صعودی گزینه پیشفرض است، میتوانید فرمولهای موجود خود را در آرگومان آرایه SORT قرار دهید، و همه آرگومانهای دیگر را که اختیاری هستند حذف کنید.
برای صفحه بازشوی اصلی (فرمول در G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20"")))
برای کششوی وابسته (فرمول در H3):
=SORT(FILTER(B3:B20, A3:A20=D3))
انجام شد! هر دو لیست کشویی دریافت می شوندمرتب شده بر اساس حروف الفبا از A به Z.
برای مرتب سازی از Z به A
برای مرتب سازی به ترتیب نزولی، باید آرگومان سوم را تنظیم کنید ( sort_order ) تابع SORT به -1.
برای صفحه بازشوی اصلی (فرمول موجود در G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)
برای بازشوی وابسته (فرمول در H3):
=SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)
این هم داده های جدول آماده سازی و هم موارد موجود در لیست های کشویی را از Z به A مرتب می کند. :
به این صورت است که با کمک توابع جدید آرایه پویا، لیست کشویی پویا در اکسل ایجاد می شود. برخلاف روشهای سنتی، این رویکرد برای ورودیهای تک و چند کلمهای کاملاً کار میکند و از هر سلول خالی مراقبت میکند. از اینکه خواندید متشکریم و امیدواریم هفته آینده شما را در وبلاگ خود ببینیم!
کتاب کار را برای دانلود تمرین کنید
لیست کشویی وابسته به اکسل (فایل xlsx.)