فهرست مطالب
امروز به شما نشان خواهم داد که چگونه اکسل چندین معیار برخی از داده های منطبق را با استفاده از عملکرد FILTER اکسل فیلتر می کند. قبل از رفتن به بحث اصلی، یک نکته را یادآوری می کنم. تابع FILTER فقط در Office 365 موجود است.
دانلود کتاب تمرین تمرین
Filter Multiple Values.xlsx
مقدمه ای بر تابع FILTER
اجازه دهید ابتدا با تابع FILTER اکسل آشنا شویم تا چندین معیار را فیلتر کنیم.
به مجموعه داده های زیر نگاه کنید. ما سالها، کشورهای میزبان ، کشورهای قهرمان ، و کشورهای نایب قهرمان همه جام جهانی فوتبال را داریم ستون های B، C، D، و E به ترتیب.
حالا اگر از شما بپرسم چه سالی است که برزیل قهرمان شد؟
چه کار خواهید کرد؟
شما احتمالاً از ستون D (قهرمان) عبور خواهید کرد و ببینید آیا وجود دارد یا خیر سلول حاوی برزیل در آن است یا نه.
سپس وقتی یکی را پیدا کردید، دو قدم از آن سلول به سمت چپ آن را به ستون B (سال) منتقل خواهید کرد، و سال مربوطه را یادداشت کنید.
و سپس دوباره از ستون D پایین می روید و همین کار را برای تمام سلول های حاوی برزیل در آن انجام می دهید.
بنابراین، تمام سالهایی را که برزیل قهرمان بود، یادداشت میکنید.
برای مجموعهای کوچک از دادهها، این OK است. اما آیا می توانید همان روش را برای یک مجموعه بزرگ تکرار کنید 4 بار . 3 بار توسط آلمان غربی و 1 بار توسط آلمان فعلی .
اکنون، اگر این فرمول را درک کرده اید، می توانید سال هایی را که جام جهانی میزبان دو کشور بوده است، بیابید؟
من می دهم شما یک سرنخ در نام کشور میزبان باید " و " وجود داشته باشد. ( "و" بین دو فاصله)
بله. حق با شماست. فرمول به این صورت خواهد بود:
=FILTER(B5:B25,ISNUMBER(SEARCH("* and *",C5:C25)))
اکنون، می بینیم که این فقط یک بار در 2002 رخ داده است. 2>، میزبانی شده توسط کره جنوبی و ژاپن .
گزینه های جایگزین برای فیلتر چند معیار در اکسل
روش هایی که در بالا در مورد فیلتر کردن چندین معیار ذکر شد بسیار مفید هستند. اما با یک نقطه ضعف ، عملکرد FILTER فقط در Office 365 موجود است.
کسانی که Office 365 ندارند اشتراک، میتواند از این روشهای جایگزین برای فیلتر کردن برخی دادهها با معیارهای متعدد استفاده کند.
برای یافتن سالهایی که ایتالیا کشور میزبان یا قهرمان بود، از فرمول زیر استفاده کنید:
=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")
و برای کشف سالهایی که برزیل قهرمان شد تا 1970 ، از این فرمول استفاده کنید:
=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")
توجه: شما نمی توانید سلول های خالی را مانند تابع FILTER از این طریق حذف کنید. و Ctrl + Shift + Enter را فشار دهید تا فرمول ها را وارد کنید.
نحوه استفادهفیلتر پیشرفته در اکسل
ما چند معیار روی یک ستون با استفاده از داده های محاسبه شده اعمال خواهیم کرد. در اینجا، ما به محصولات تحویل شده با تعداد بیش از 50 اما کمتر از 100 می پردازیم. برای این کار باید فرمول زیر را اعمال کنیم. فرمول is-
=IF(AND(E550),E5,FALSE)
خروجی در سلول C16 55 به عنوان مقدار تحویل شده در محدوده قرار می گیرد.
بنابراین، دستور پیشرفته را در زیر Sort & گزینههای را از برگه داده فیلتر کنید.
پس از آن، کل مجموعه داده را به عنوان محدوده فهرست و قرار میدهیم. سلول های C15:C16 به عنوان محدوده معیار .
در نهایت، OK را فشار دهید تا نتیجه را ببینید ، به عنوان مثال، فهرستی از محصولات تحویل شده دارای مقدار در محدوده از 50 تا 100.
نتیجه
با استفاده از این روش ها، می توانید هر داده ای را با حفظ معیارهای متعدد در اکسل فیلتر کنید. آیا روش دیگری می شناسید؟ در بخش نظرات به ما اطلاع دهید.
از داده ها، به 10000 ردیف فکر کنید؟بیشتر بخوانید: چگونه چندین ردیف را در اکسل فیلتر کنیم (11 رویکرد مناسب)
پاسخ منفی است، یک نه بزرگ.
پس چه باید کرد؟
Microsoft Excel یک تابع داخلی به نام FILTER را برای انجام دقیقاً ارائه میکند. کار مشابهی برای شماست.
تابع FILTER سه آرگومان می گیرد، محدوده ای از سلول ها به نام آرایه ، معیاری به نام include، و مقداری به نام if_empty که در صورتی که معیار برای هیچ سلولی برآورده نشود، برگردانده می شود.
بنابراین نحو تابع FILTER این است:
=FILTER(array,include,[if_empty])
برای درک بهتر، بیایید به مشکل برزیل بیاییم. ما باید سال هایی را که برزیل قهرمان شد، فیلتر کنیم.
فرمول انجام این کار این خواهد بود:
=FILTER(B5:B25,D5:D25="Brazil","")
ببینید، ما تمام سالهایی را پشت سر گذاشتیم که برزیل قهرمان شد، 1958، 1962،1970، 1994، و 2002 (رنگی در تصویر).
اکنون برای درک بهتر، بیایید فرمول را بشکنیم. سلول ها از D5 تا D25 و اگر یک Brazil پیدا کند یک TRUE برمی گرداند، در غیر این صورت FALSE .
> =FILTER({B5,B6,B7,...,B25},{FALSE,FALSE,...,TRUE,...,FALSE},"")
برای هر TRUE ، سلول مجاور را از آرایه {B5,B6,B7,…,B25
<0 برمی گرداند>و برای FALSE ، شماره را برمیگرداندنتیجه، "" . (این اختیاری است. پیش فرض نتیجه ای ندارد، “” )فقط برای سلول های B9 ، TRUE وجود دارد B10 ، B12 ، B18، و B20 .
بنابراین فقط محتویات این سلول ها را برمی گرداند، 1958، 1962، 1970، 1994، و 2002.
این سالهایی است که برزیل قهرمان شد.
امیدواریم درک کرده باشید که عملکرد FILTER چگونه کار میکند.
حالا اگه اینو فهمیدی میشه فرمولش رو بگی تا بفهمم کشور میزبان چه سالی قهرمان شده؟
بله. حق با شماست. فرمول این است:
=FILTER(B5:B25,C5:C25=D5:D25,””)
ببینید، کشور میزبان در 1930، 1934، 1966، 1974، 1978، و 1998 قهرمان شد.
4 راه برای فیلتر کردن با چندگانه معیارها در اکسل
اکنون متوجه شدیم که تابع FILTER چگونه کار می کند. بیایید سعی کنیم این بار چندین معیار را در تابع اعمال کنیم. در اینجا یک نمای کلی از مجموعه داده برای کار امروز ارائه شده است.
1. فیلتر کردن مقادیر چندگانه نوع OR
ابتداً، اجازه دهید روی معیارهای متعدد تمرکز کنیم OR تایپ کنید. اینها معیارهایی هستند که زمانی برآورده می شوند که یک یا بیش از یک معیار برآورده شود.
به عنوان مثال، از مجموعه داده های بالا، اگر از شما بپرسم، به من بگویید یک سال چه زمانی آرژانتین قهرمان یا آلمان غربی نائب قهرمان شد.
می توانید به 1978 یا بگویید 1982 یا 1986 .
اکنون، بیایید سعی کنیم همه سالهایی را که ایتالیا میزبان یا میزبان بود، فیلتر کنیم قهرمان یا هر دو . این مشکل از نوع معیارهای متعدد OR است. کار آسانی است. فقط دو معیار را با علامت مثبت (+) اضافه کنید. بیایید دستورالعمل های زیر را دنبال کنیم تا چندین معیار را در اکسل فیلتر کنیم!
مراحل:
- ابتدا سلول G5 را انتخاب کنید، و عملکرد FILTER را در آن سلول یادداشت کنید. عملکرد به صورت زیر خواهد بود:
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))
- بنابراین، به سادگی Enter را در صفحه کلید خود فشار دهید. در نتیجه، سال هایی را دریافت خواهید کرد که ایتالیا میزبان یا قهرمان یا هر دو بود که بازگشت عملکرد FILTER است. .
ببینید، ایتالیا میزبان یا قهرمان یا هر دو در سالهای 1934، 1938، 1982، 1990، و 2006.
تجزیه فرمول
اکنون، برای درک بهتر، اجازه دهید فرمول.
- C5:C25="Italy" آرایه ای از TRUE یا FALSE را برمی گرداند. TRUE زمانی که ایتالیا میزبان بود، FALSE در غیر این صورت.
- D5:D25="Italy" همچنین آرایه ای از TRUE یا <1 را برمی گرداند>FALSE . درست وقتی ایتالیا قهرمان شد، کاذب در غیر این صورت.
- (C5:C25=”ایتالیا”)+(D5:D25=”ایتالیا”) دو آرایه از مقادیر بولی، TRUE و FALSE را اضافه می کند. اما هر TRUE را به عنوان 1 در نظر می گیرد،و هر FALSE به عنوان یک 0 .
- بنابراین وقتی هر دو معیار برآورده شد، یک 2 برمیگرداند، یک 1 زمانی که فقط یک معیار برآورده می شود، و 0 زمانی که هیچ معیاری برآورده نمی شود>
=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})
اعداد بزرگتر از صفر (0 و 1 در اینجا) را TRUE و صفرها را FALSE در نظر می گیرد.
بنابراین وقتی با عددی بزرگتر از 0 روبرو می شود، سال ها را از ستون B برمی گرداند و در غیر این صورت نتیجه ای بر نمی گرداند.
حالا، اگر شما درک کنید که عملکرد FILTER با چند معیار از نوع OR چگونه کار می کند، آیا می توانید به یک سوال پاسخ دهید؟
فرمول فیلتر کردن سال هایی که برزیل قهرمان یا قهرمان شد چیست؟ ایتالیا نائب قهرمان شد یا هر دو؟
بله. حق با شماست. فرمول این خواهد بود:
=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))
2. اعمال تابع FILTER برای AND Criterion
اکنون ما بر روی چند معیار از انواع AND تمرکز خواهیم کرد. این بدان معناست که ما باید تمام معیارها را برآورده کنیم تا به نتیجه TRUE برسیم، در غیر این صورت FALSE .
ما می دانیم، تا سال 1970 ، جام جهانی فیفا جام "ژول ریمه" نامیده شد. پس از 1970 ، شروع به نامگذاری جام جهانی فیفا کرد. بنابراین اولین سوال من این است که چه سالی است که برزیل جایزه "ژول ریمه" را برد؟
در اینجا دو معیار وجود دارد.
- اول، سالباید کمتر یا مساوی 1970 باشد.
- دوم، کشور قهرمان باید برزیل باشد.
و هر دو معیار باید رعایت شوند. چگونه این کار را انجام دهیم؟
بسیار ساده است. این بار دو معیار داخل تابع FILTER را با علامت (*) ضرب کنید. بیایید دستورالعمل های زیر را دنبال کنیم تا چندین معیار را در اکسل فیلتر کنیم!
مراحل:
- ابتدا سلول G5 را انتخاب کنید، و عملکرد FILTER را در آن سلول یادداشت کنید. تابع به این صورت خواهد بود:
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))
فرمول شکستن
-
(B5:B25<=1970
اگر سال کمتر یا مساوی با 1970 باشد یک TRUE برمیگرداند، در غیر این صورت FALSE . -
(D5:D25="Brazil")
اگر کشور قهرمان برزیل باشد یک TRUE برمیگرداند، در غیر این صورت FALSE. -
(B5:B25<=1970)*(D5:D25="Brazil")
دو آرایه از را ضرب میکند. TRUE و FALSE ، اما هر TRUE را به عنوان 1 و هر FALSE را 0 در نظر می گیرد. - بنابراین اگر هر دو معیار برآورده شوند یک 1 برمیگرداند، در غیر این صورت یک 0 برمیگرداند.
- حالا فرمول تبدیل میشود:
=FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
- سال را در ستون B هنگامی که با 1 روبرو می شود، برمی گرداند و هنگامی که با 0 روبرو می شود، نتیجه ای بر نمی گرداند.
- بنابراین، به سادگی Enter را در صفحه کلید خود فشار دهید. در نتیجه، سال هایی را دریافت خواهید کرد که برزیل قهرمان جایزه "ژول ریمه" بود که بازگشت عملکرد FILTER است. . دیدن،تا 1970 ، برزیل سه بار ، در 1958، 1962، و 1970 برد.
بنابراین ما میتوانیم هر دادهای را که چندین معیار از نوع AND را برآورده میکند فیلتر کنیم.
اکنون میتوانید فرمول را برای کشف سالهای قبل از به من بگویید. 2000 زمانی که برزیل قهرمان شد و ایتالیا نایب قهرمان شد؟
فرمول این خواهد بود:
=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))
خواندنهای مشابه:
- اعمال چندین فیلتر در اکسل [روشها + VBA]
- نحوه فیلتر کردن داده ها در اکسل با استفاده از فرمول
- داده های فیلتر اکسل بر اساس مقدار سلول (6 روش کارآمد)
3. فیلتر چندین معیار با ترکیب انواع AND و OR در اکسل
مورد 1: OR در OR
حالا اگر از شما سوالی بپرسم، چه سالی است که یک کشور آمریکای جنوبی ( برزیل، آرژانتین، یا اروگوئه ) یا قهرمان یا نایب قهرمان بود؟
می توانید پاسخ سوال من را بدهید؟
با دقت توجه کنید. در اینجا کشور قهرمان باید برزیل، آرژانتین، یا اروگوئه باشد. یا کشور نایب قهرمان باید برزیل، آرژانتین یا اروگوئه باشد . یا هر دو. این مشکل از نوع OR در نوع OR است. نگران نباشید به سادگی دستورالعمل های زیر را دنبال کنید تا چندین معیار را در اکسل فیلتر کنید!
مراحل:
- اول از همه، سلول G5<2 را انتخاب کنید>، و توابع را در آن سلول یادداشت کنید. توابع خواهد شدbe:
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brazil","Argentina","Uruguay"},0)))+ (ISNUMBER(MATCH(E5:E25,{"Brazil","Argentina","Uruguay"},0))))
تجزیه فرمول
-
MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)
1 اگر تیم قهرمان برزیل باشد، 2 اگر تیم قهرمان آرژانتین باشد، 3 اگر تیم قهرمان باشد، 1 برمیگرداند. اروگوئه است، و خطای (N/A) اگر تیم قهرمان هیچکدام از آنها نباشد. -
ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0))
اعداد را به TRUE تبدیل می کند. و خطاهای FALSE . - به طور مشابه،
ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0))
اگر کشور نایب قهرمان برزیل، آرژانتین یا اروگوئه باشد، TRUE را برمی گرداند. و FALSE - بنابراین،
(ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)))+(ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0)))
اگر یکی از کشورهای آمریکای جنوبی قهرمان باشد، 1 یا 2 را برمیگرداند. نفر دوم، یا هر دو. - و در غیر این صورت صفر را برمی گرداند.
- فرمول تبدیل می شود:
=FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
- یک سال برمی گردد. از ستون B اگر عددی بزرگتر از صفر پیدا کرد و در غیر این صورت هیچ نتیجه ای برگرداند.
- بنابراین، به سادگی Enter را در صفحه کلید خود فشار دهید. . در نتیجه، شما سالهایی را دریافت خواهید کرد که یک کشور آمریکای جنوبی ( برزیل، آرژانتین، یا اروگوئه ) یا قهرمان یا نایب قهرمان شدند. . ببینید، ما تمام سالهایی را یافتهایم که یک کشور آمریکای جنوبی یا قهرمان یا نایب قهرمان شده است>
اگر فرمول بالا را درک می کنید، می توانید فرمول را برای تعیین سال هایی که قهرمان و نایب قهرمان از آمریکای جنوبی (برزیل، آرژانتین، یا اروگوئه) ؟
بسیار آسان. فقط علامت (+) فرمول قبلی را با علامت (*) جایگزین کنید. توابع عبارتند از:
=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Brazil","Argentina","Uruguay"},0)))*(ISNUMBER(MATCH(E4:E24,{"Brazil","Argentina","Uruguay"},0))))
ببینید، اینها فقط دو بار اتفاق افتاد، در سالهای 1930 و 1950.
4. از تابع FILTER در چندین ستون استفاده کنید
حالا اگر با دقت بیشتری توجه کنید، خواهید دید که تا سال 1990 ، کشوری به نام آلمان غربی وجود داشته است. . و بعد از 1990 ، آلمان غربی وجود ندارد. آنچه وجود دارد آلمان . این دو در واقع اهل یک کشور هستند. در 1990 ، دو آلمان (شرق و غرب) متحد شدند تا آلمان کنونی را تشکیل دهند.
اکنون می توانید سال هایی را شناسایی کنید که آلمان قهرمان بود؟ مهم نیست East یا West .
شما باید از تابع FILTER در چندین ستون استفاده کنید.
فرمول این خواهد بود:
=FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))
تجزیه فرمول
-
SEARCH("*Germany",D5:D25)
جستجو برای هر چیزی که آلمان را در پایان در آرایه D5 تا D25 داشته باشد. اگر به آلمان در وسط نیاز دارید، از «*آلمان*» استفاده کنید. - اگر مطابقت (آلمان غربی و آلمان) را پیدا کرد، یک 1 برمیگرداند و برمیگردد. یک خطا
-
ISNUMBER(SEARCH("*Germany",D5:D25))
1ها را به TRUE و خطاها را به FALSE تبدیل می کند. - در نهایت،
FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25)))
سال ها را از ستون B هنگامی که با TRUE روبرو می شود، برمی گرداند، در غیر این صورت هیچ نتیجه ای را بر نمی گرداند.
- ببینید آلمان قهرمان شد