فهرست مطالب
وقتی در اکسل کار می کنیم، باید این کار را اغلب انجام دهیم. ما باید یک مقدار خاص را در یک مجموعه داده جستجو کنیم که یک یا چند معیار را برآورده کند. امروز نشان خواهم داد که چگونه میتوانید یک یا چند مقدار را که چندین معیار را در یک مجموعه داده در اکسل برآورده میکنند، جستجو کنید.
دانلود کتاب تمرین تمرین
این کتاب تمرین را برای تمرین در حین خواندن آن دانلود کنید. مقاله.
با چند معیار جستجو کنید.xlsx
2 روش مناسب برای جستجو با معیارهای چندگانه در اکسل
به داده ها نگاه کنید زیر را تنظیم کنید ما شناسه های کارمند، نام کارمندان، تاریخ عضویت، و حقوق شرکتی به نام Jupyter Group را داریم. ما مقادیر را با چندین معیار با استفاده از توابع INDEX، MATCH، XLOOKUP، و FILTER جستجو می کنیم. در اینجا یک نمای کلی از مجموعه داده برای کار امروز ما آمده است.
اکنون سعی خواهیم کرد مقادیری را که انواع مختلفی از معیارهای چندگانه را برآورده می کنند، از این مجموعه داده جستجو کنیم.
روش 1: جستجوی چند معیار از نوع AND
قبل از هر چیز، بیایید سعی کنیم چند معیار از نوع AND را جستجو کنیم. در اینجا، AND تایپ معیارهای چندگانه به این معنی است که یک مقدار باید تمام معیارهایی را که باید انتخاب شود را برآورده کند. بیایید سعی کنیم کارمندی با ID بیشتر از 400 و حقوق بیشتر از 40000 دلار پیدا کنیم. شما می توانید کار را به 3 روش های مختلف انجام دهید.
1.1 ترکیب توابع INDEX و MATCH در سطرها و ستون ها
قبل از رفتن به نکته اصلی، می توانید بروید و نگاهی به عملکردهای INDEX و MATCH اکسل بیندازید. با استفاده از فرمول INDEX-MATCH کارمندی را با ID بیشتر از 400 و حقوقی بیشتر از 40000$ پیدا خواهیم کرد. بیایید دستورالعمل های زیر را دنبال کنیم:
مراحل:
- ابتدا سلول G7 را انتخاب کرده و فرمول زیر را بنویسید.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)
- پس از آن، Enter را در صفحه کلید خود فشار دهید. در نتیجه، ما یک کارمند با ID بیشتر از 400 و حقوق بیشتر از 40000 دلار ، ریچارد ساموئلسون پیدا کردیم.
تجزیه فرمول
- B5:B16>400 از تمام IDهای در ستون B و آرایه ای از TRUE و FALSE ، TRUE را هنگامی که ID بزرگتر از 400 است، در غیر این صورت FALSE .
- E5:E16>40000 از تمام حقوق ها میگذرد در ستون E و آرایه ای از TRUE و FALSE ، TRUE را زمانی که حقوق بیشتر از 40000 دلار باشد برمی گرداند ، در غیر این صورت FALSE.
- (B5:B16>400)*(E5:E16>40000) دو آرایه TRUE را ضرب می کند و FALSE ، و زمانی که ID بزرگتر از 400 و حقوق بیشتر از 40,000$ باشد 1 را برمیگرداند. . در غیر این صورت 0 را برمی گرداند.
- MATCH(1,(B5:B16>400)*(E5:E16>40000),0) از آرایه (B5:B16>400)*(E5:E16>40000) می گذرد و شماره سریال اولین 1 را که با آن روبرو می شود برمی گرداند.
- در این مورد، 5 را برمی گرداند زیرا 1 اول در شماره سریال 5 است.
- در نهایت، INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5 :E16>40000),0),1) نام کارمند را از محدوده C5:C16 ، با شماره ردیف برابر با خروجی تابع و ستون MATCH برمیگرداند. عدد برابر با 1 .
- این کارمند مورد نیاز با ID بیشتر از 400 و حقوق بیشتر از $40,000 است. حالا، اگر این را فهمیده اید، می توانید فرمول را به من بگویید تا بفهمم کارمندی که قبل از 31 دسامبر 2009 پیوسته است، اما همچنان حقوق کمتر از 25000 دلار دریافت می کند.
- سپس فرمول زیر را در سلول G7 تایپ کنید.
=INDEX(C5:C16,MATCH(1,(D5:D16
- بنابراین، Enter را فشار دهید. علاوه بر این، Angela Hopkins را به عنوان بازگشت فرمول دریافت خواهید کرد.
بیشتر بخوانید: 7 نوع جستجو که می توانید در اکسل استفاده کنید
1.2 با استفاده از تابع XLOOKUP
ما می توانیم کار قبلی را با استفاده از تابع XLOOKUP اکسل نیز انجام دهیم. اما به یاد داشته باشید، XLOOKUP فقط در Office 365 موجود است. قبل از رفتن به موضوع اصلی، می توانید نگاهی بیندازیددر تابع XLOOKUP اکسل. اکنون، با استفاده از تابع XLOOKUP کارمندی را با ID بیشتر از 400 و حقوقی بیشتر از $40,000 پیدا می کنیم. بیایید دستورالعمل های زیر را دنبال کنیم تا یاد بگیریم!
مراحل:
- ابتدا فرمول زیر را در سلول G7 تایپ کنید.
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)
- در نتیجه، ما همان کارمند قبلی را داریم، ریچارد ساموئلسون . این نام کارمندی است که شناسه بیشتر از 400 و حقوقی بیش از 40000 دلار دارد.
تجزیه فرمول
- (B5:B16>400)*(E5:E16>40000) آرایه <6 را برمی گرداند>1 و 0 ، 1 زمانی که ID بیشتر از 400 و حقوق بیشتر از 40,000 دلار باشد. . 0 در غیر این صورت.
- XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) اولین جستجو برای 1 در آرایه (B5:B16>400)*(E5:E16>40000). وقتی یکی را پیدا کرد، مقدار را از سلول مجاور خود در محدوده C5:C16 برمی گرداند.
بیشتر بخوانید: نحوه استفاده از تابع LOOKUP در اکسل (4 مثال مناسب)
1.3 اعمال تابع FILTER
INDEX-MATCH و XLOOKUP فرمول یک محدودیت دارد اگر بیش از یک مقدار معیارهای داده شده را برآورده کند، فقط مقدار اول را برمی گردانند. به عنوان مثال، در مثال قبلی، اگر دقت کنید، متوجه خواهید شد که وجود دارد دو کارمند با شناسه بیشتر از 400 و حقوق بیشتر از 40000 دلار . آنها ریچارد ساموئلسون و عثمان مالک. اما فرمول های INDEX-MATCH و XLOOKUP فقط اولین کارمند ریچارد ساموئلسون را برمی گرداند. برای به دست آوردن تمام مقادیری که معیارهای داده شده را برآورده می کنند، می توانید از تابع FILTER اکسل استفاده کنید. اما به یاد داشته باشید، عملکرد FILTER نیز فقط در Office 365 موجود است.
مراحل:
- به کارمندان با ID بیشتر از 400 و حقوق بیشتر از 40000$ فرمول FILTER خواهد بود:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))
- بعد از آن، این بار ما همه کارمندانی را داریم که تمام معیارها را حفظ می کنند، ریچارد ساموئلسون و عثمان مالک .
تجزیه فرمول 13>14> (B5:B16>400)*(E5:E16>40000) آرایه ای از 1 و 0 ، 1 را زمانی که شناسه بزرگتر باشد، برمی گرداند. بیش از 400 و حقوق بیشتر از 40000 دلار است. 0 در غیر این صورت (به بخش INDEX-MATCH مراجعه کنید).
- حالا، اگر این را فهمیدید، می توانید فرمول را به من بگویید تا کارمندانی را که بین 1 ژانویه 2014 پیوسته اند، پیدا کنم، و 31 دسامبر 2016 ، اما حقوق حداقل 30000 دلار دریافت کردید؟ آره. حق با شماست. فرمول این خواهد بود:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))
بیشتر بخوانید: نحوه جستجوی چندین مقدار در اکسل (10 روش)
روش 2: جستجوی معیارهای چندگانه نوع OR
اکنون، سعی می کنیم مقادیری را جستجو کنیم که چندین معیار را برآورده می کنند از نوع OR . در اینجا، معیارهای نوع OR به این معنی است که یک مقدار باید حداقل یک معیار را از بین همه معیارهایی که باید انتخاب شود برآورده کند. بیایید سعی کنیم کارمندی را پیدا کنیم که قبل از 1 ژانویه 2010 به عضویت درآمده یا حقوقی بیش از 30000$ دریافت کرده است.
2.1 ادغام توابع INDEX و MATCH در محدوده تاریخ
برای بازدید از تابع INDEX اینجا را کلیک کنید و در صورت تمایل قبل از ادامه برای بازدید از تابع MATCH اینجا را کلیک کنید.
مراحل:
- فرمول INDEX-MATCH همانطور که در کادر فرمول زیر نشان داده شده است.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)
- ببینید، ما جک سیمپسون داریم، اولین کارمند با تاریخ عضویت قبل از 1 ژانویه 2010 ، یا حقوق بیشتر بیش از 30000 دلار . اما تعداد کارمندان بسیار بیشتر است. با استفاده از INDEX-MATCH، فقط اولین مورد را بدست می آوریم.
- ما بعداً با استفاده از FILTER بعداً عمل می کند. این کارمند مورد نیازی است که حداقل با یک معیار مطابقت دارد. D5:D16
="" strong=""> آرایه ای از TRUE و FALSE را برمی گرداند. درست وقتی تاریخ پیوستن در ستون D کمتر از 1 ژانویه 2010 باشد. FALSE در غیر این صورت. - E5:E16>30000 همچنین آرایه ای از TRUE و FALSE را برمی گرداند. درست وقتی حقوق بیشتر از 30000 دلار باشد. FALSE در غیر این صورت.
- (D5:D1630000) دو آرایه را اضافه می کند و آرایه دیگری از 0، 1، یا 2 را برمی گرداند. . 0 زمانی که هیچ معیاری برآورده نمی شود، 1 زمانی که تنها یک معیار برآورده می شود و 2 زمانی که هر دو معیار برآورده می شوند.
- ((D5:D1630000))>0 از تمام مقادیر آرایه (D5:D1630000) می گذرد و اگر مقدار بیشتر از باشد TRUE را برمی گرداند. 0 ( 1 و 2 )، و FALSE در غیر این صورت ( 0 ).
- MATCH(TRUE,((D5:D1630000))>0,0) از تمام مقادیر آرایه ((D5:D1630000))>0 عبور می کند و اولین شماره سریال را برمی گرداند جایی که یک TRUE دریافت می کند.
- در این مورد، 3 را برمی گرداند زیرا اولین TRUE در سریال 3 است. .
- در نهایت، INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) نام کارمند را از محدوده <6 برمیگرداند>C5:C16 با شماره سریال برگردانده شده توسط عملکرد MATCH .
اکنون، اگر شمااین را درک کنید، آیا می توانید فرمولی را به من بگویید تا کارمندی را با ID کمتر از 300، یا تاریخ عضویت کمتر از 1 ژانویه 2012، پیدا کنم. یا حقوقی بیشتر از 30000 دلار ؟
بله. حق با شماست. فرمول این خواهد بود:
=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)
بیشتر بخوانید: چگونه جستجوی متن در اکسل (7 روش مناسب)
2.2 اعمال تابع XLOOKUP
شما می توانید همان کار را با استفاده از تابع XLOOKUP در اکسل انجام دهید. XLOOKUP فقط در Office 365 موجود است.
مراحل:
- فرمول یافتن کارمند با تاریخ عضویت قبل از 1 ژانویه 2010، یا حقوق بیشتر از 30000$ خواهد بود:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)
- ببینید، ما همان کارمند قبلی را داریم، جک سیمپسون . اما مانند فرمول INDEX-MATCH ، تعداد بیشتری از کارکنان معیارهای داده شده را برآورده می کنند. ما فقط اولین مورد را داریم.
تجزیه فرمول
- ((D5: D1630000))>0 TRUE را زمانی که حداقل یکی از دو معیار برآورده شده باشد برمی گرداند، در غیر این صورت FALSE . به بخش بالا مراجعه کنید.
- XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) سپس نام کارمند را از ستون C5:C16<برمی گرداند. 7>، جایی که اولین TRUE را دریافت می کند.
بیشتر بخوانید: چگونه مقدار را از برگه دیگری در اکسل جستجو کنیم (3 روش آسان )
2.3 با استفاده از تابع FILTER
در نهایت، ماهمین کار را با استفاده از تابع FILTER در اکسل انجام دهید. تابع FILTER فقط در Office 365 موجود است. این بار ما همه کارمندانی را که قبل از 1 ژانویه 2010، به عضویت درآمدهاند یا حقوقی بیش از 30000 دلار دریافت کردهاند، دریافت میکنیم.
مراحل:
- فرمول همان خواهد بود که در کادر فرمول زیر نشان داده شده است.
=FILTER(C5:C16,((D5:D1630000))>0)
- بنابراین همه کارمندانی را که حداقل یکی از معیارهای داده شده را برآورده می کنند، برمی گرداند. 2010، یا حقوق بیشتر از 30000 دلار .
فرمول تفکیک
- ((D5:D1630000))>0 TRUE را زمانی که حداقل یکی از دو معیار برآورده شده باشد برمیگرداند، در غیر این صورت FALSE . به بخش INDEX-MATCH مراجعه کنید.
- FILTER(C5:C16,((D5:D1630000))>0) از تمام سلول های محدوده عبور می کند C5:C16 اما زمانی که با TRUE روبرو می شود، فقط مواردی را برمی گرداند.
بیشتر بخوانید: چگونه یک جستجو کنید جدول در اکسل (8 روش)
نتیجه گیری
با استفاده از این روش ها، می توانید مقداری را جستجو کنید که معیارهای متعددی را از هر مجموعه ای از داده ها برآورده می کند. آیا روش دیگری می شناسید؟ یا سوالی دارید؟ از ما بپرسید.