Filter
باید بدانیم که بانکهای اطلاعاتی امروزه جزء لاینفک هر اداره و شرکتی شده است.مثلا داده های مربوط به کارمندان و حقوق و مواردی از این قبیل می تواند مثال خوبی برای یک بانک اطلاعاتی باشد.بانک اطلاعاتی یعنی اطلاعات را در آن قرار بده تا در موارد ضروری بتوانی اطلاعات درخواستی خود را به سرعت بدست بیاوری.
داده های زیر را در نظر بگیرید تا روی آنها کار کنیم:
|
نام |
شغل |
حقوق |
بیمه |
جنس |
|
نسیم |
معلم |
90,000 |
P |
زن |
|
نسرین |
کارمند |
190,000 |
P |
زن |
|
ندا |
کارمند |
300,000 |
P |
زن |
|
محمود |
معلم |
150,000 |
P |
مرد |
|
محمد |
کارمند |
320,000 |
× |
مرد |
|
علی |
راننده |
200,000 |
P |
مرد |
|
زهرا |
معلم |
70,000 |
P |
زن |
|
رضا |
راننده |
150,000 |
P |
مرد |
|
خلیل |
معلم |
280,000 |
× |
مرد |
|
حسین |
معلم |
100,000 |
P |
مرد |
|
حسام |
معلم |
320,000 |
P |
مرد |
|
حامد |
کارمند |
100,000 |
P |
مرد |
|
بهنام |
کارمند |
80,000 |
× |
مرد |
|
احمد |
معلم |
180,000 |
P |
مرد |
برای وارد کردن یک لیست مثل جدول روبرو یا باید ابتدا لیست را ایجاد کنیم بعد اطلاعات را وارد کنیم یا اینکه ابتدا اطلاعات را وارد کنیم و بعد آنرا به عنوان لیست معرفی کنیم .دو روش هیچ تفاوتی با هم ندارند.حال که ما جدول را در اکسل وارد کرده ایم آنرا به عنوان لیست معرفی می کنیم برای این کار از منوی زیر عمل می کنیم:
Dataà List à Create list
در کادر باز شده باید منطقه لیست خود را مشخص کنیم.البته اگر سلول فعال در یکی از خانه های همین داده ها باشد اکسل فورا متوجه منطقه لیست شده و اطراف داده ها را خط متحرک قرار می دهد.حتی گزینه My list has Headers را تیک می زند برای اینکه در سطر اول ما نام فیلدها را وارد کرده ایم.به این ترتیب ما لیست خود را ساخته ایم.اطراف لیست یک کادر آبی مشاهده می شود.که محدوده لیست را مشخص می کند.حال می رسیم به مسئله فیلتر کردن.برای فیلتر کردن اطلاعات بر اساس هر فیلدی که بخواهیم باید روی مثلث کوچک کنار همان فیلد کلیک کنیم.و از گزینه های باز شده یک را برای فیلتر کردن انتخاب کنیم.مثلا اگر بخواهیم افرادی را که حقوقی کمتر از 100000 دریافت می کنند را نشان دهیم باید روی فیلد حقوق فیلتر را انجام دهیم.برای این منظور روی مثلث مربوط به فیلد حقوق کلیک می کنیم.از آنجایی که یک شرط خاص را ما می خواهیم اعمال کنیم که در گزینه ها موجود نمی باشد پس گزینه Custom را انتخاب می کنیم.در کادر باز شده ابتدا نوع نامساوی را اعم از مساوی ،کمتر ،بیشتر ،مخالف و... را تعیین می کنیم.برای مورد ما گزینه is less than مناسب است.در کادر کناری آن عدد 100000 را وارد می کنیم.و اینتر.به این ترتیب لیست ما تنها افرادی را نشان می دهد که حقوق کمتر از 100000 را دریافت می کنند.حال روی همین لیست فیلتر شده دوباره یک فیلتر دیگر را اعمال می کنیم و آن هم اینکه فقط زن ها را نشان دهد.برای همین روی فیلد جنس کلیک کرده از گزینه های باز شده گزینه زن را انتخاب می کنیم.اگر توجه کرده باشد می بینید که هر گاه یک فیلتر را اعمال می کنیم رنگ مثلث آن فیلد آبی می شود که نشانگر این است که لیست بر اساس آن فیلد فیلتر شده است و این اطلاعات نمایش داده شده تمام اطلاعات نیست.در مثال ما فیلدهای حقوق و جنس آبی رنگ شده اند.برای دیدن همه داده ها یا باید روی تک تک فیلدهای فیلتر شده کلیک کرده از گزینه های باز شده show all را انتخاب کنیم یا از منوی Data àFilter àshow all همه اطلاعات را ظاهر سازیم.در حالت عادی یک لیست در حالت Auto filter قرار دارد.می توان این حالت را غیر فعال کرد که مسیر آن عبارت است از:DataàFilter àAuto Filter
با غیر فعال کردن این گزینه مثلث های کوچک کنار فیلدها از بین می روند و انجام فیلتر به این راحتی ها نخواهد بود.البته Auto Filter یک امکان جالبی را که به ما می دهد این است که ما می توانیم داده ها را بدون لیست کردن فیلتر کنیم.برای این که این خاصیت را ببینیم ابتدا داده ها را از حالت لیست خارج می کنیم.برای این کار روی یک سلول لیست کلیک می کنیم و از مسیر زیر لیست را به یک محدوده معمولی تبدیل می کنیم.DataàListàConvert to Range عمل را تائید کنید تا لیست از حالت لیست بودن خارج شود.حالا Auto Filter را روی آن اعمال کنید.یعنی یک سلول را از محدوده داده ها انتخاب کنید و DataàFilterà Auto Filter به این ترتیب بدون اینکه داده ها لیست شوند می توان از امکان فیلتر کردن داده ها استفاده کرد.
حالا که تا این جا پیش آمده ایم بهتر است که گزینه Advanced Filter را نیز بررسی کنیم.گزینه Auto Filter جستجوها پیچیده را نمی تواند انجام دهد .مثلا اگر بخواهیم لیست مردهایی را که حقوق بیش از 200000 و زن هایی را که حقوق بیش از 150000 را دریافت می کنند داشته باشیم گزینه Auto Filter کمکی به ما نمی کند اینجاست که مجبوریم از Advanced Filter استفاده کنیم.برای این کار باید ابتدا شرط ها را ایجاد کنیم.برای این کار چون ما یک محدوده 5 فیلدی داریم (نام ، شغل ،حقوق ،بیمه و جنس) برای همین یک ناحیه 5 ستونی را در نظر می گیریم .باید عناوین فیلدهای 5 گانه را در این ستونها وارد کنیم.بهتر است که آنها را از روی محدوده داده ها کپی کنید تا هیچ فرقی با هم نداشته باشند.حالا که عناوین را در یک محدوده جدید کپی کرده اید شروع می کنیم به وارد کردن شرط ها در این ناحیه جدید.این ناحیه به ناحیه شرط معروف است.در اولین سطر فیلد حقوق وارد کنید 200000< در اولین سطر فیلد جنس هم وارد کنید مرد.اولین شرط تمام شد یعنی مردهایی که بیش از 200000 حقوق می گیرند.در دومین سطر فیلد حقوق 150000< را وارد می کنیم و در روبروی آن در فیلد جنس زن را تایپ می کنیم.به این ترتیب دومین شرط هم اعمال شد یعنی زن هایی که بیش از 150000 حقوق می گیرند.حال که ساخت ناحیه شرط تمام شد گزینه Advanced Filter را از مسیر زیر فعال می کنیم:
Dataà Filter àAdvanced Filter
در کادر باز شده ناحیه داده ها را به همراه عناوین فیلدها به عنوان List Range وارد می کنیم.در کادر پایین آن ناحیه شرط را به همراه عناوین فیلدها وارد می کنیم.اینتر را بزنید تا داده ها بر حسب دو شرط فیلتر شوند.نتیجه را در همان محدوده داده ها مشاهده می کنید.
چند نکته:اگر بین ناحیه شرط سطر خالی باشد نتایج درست نخواهد بود.
اگر بخواهیم که داده های فیلتر شده در یک ناحیه جدید نشان داده شود باید در کادر Advanced Filter گزینه Copy to another location را انتخاب کرده و در کادر Copy to یک ناحیه شامل 5 ستون را انتخاب کنیم.به این ترتیب داده های فیلتر شده در این ناحیه نشان داده می شود.
نکته مهم دیگر اینکه چندی پیش آقای علی دما سوال کرده بودند که چگونه داده های تکراری را از بین لیست فیلتر کنیم تا فقط داده های منحصر بفرد باقی بمانند. در کادر Advanced Filter در پایین گزینه ای هست (Unique records only) که با تیک زدن آن داده های منحصر به فرد را در لیست داده ها نشان می دهد.