INDEX MATCH MATCH در اکسل برای جستجوی دو بعدی

  • این را به اشتراک بگذارید
Michael Brown

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

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

    فرمول اکسل INDEX MATCH MATCH

    محبوب ترین راه برای انجام جستجوی دو طرفه در اکسل استفاده از INDEX MATCH MATCH است. این یک تغییر از فرمول کلاسیک INDEX MATCH است که یک تابع MATCH دیگر به آن اضافه می کنید تا هم اعداد سطر و هم ستون را بدست آورید:

    INDEX ( data_array, MATCH ( vlookup_value, lookup_column_range, 0), MATCH ( hlookup value, lookup_row_range, 0))

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

    • Data_array - B2:E4 (سلول های داده، بدون احتساب سرصفحه های ردیف و ستون)
    • Vlookup_value - H1 (حیوان هدف)
    • محدوده_ستون_جستجو - A2:A4 (سرصفحه ردیف: نام حیوانات) -A3:A4
    • Hlookup_value - H2 (سال هدف)
    • Lookup_row_range - B1:E1 (سرصفحه ستون: سال)

    همه آرگومان ها را کنار هم قرار دهید و این فرمول را برای جستجوی دوطرفه دریافت خواهید کرد:

    =INDEX(B2:E4, MATCH(H1, A2:A4, 0), MATCH(H2, B1:E1, 0))

    این فرمول چگونه کار می کند

    در حالی که ممکن است کمی به نظر برسد در نگاه اول پیچیده است، منطق فرمول واقعاً ساده و قابل درک است. تابع INDEX یک مقدار را از آرایه داده بر اساس اعداد سطر و ستون بازیابی می کند و دو تابع MATCH آن اعداد را تامین می کنند:

    INDEX(B2:E4, row_num, column_num)

    در اینجا، ما از توانایی MATCH(lookup_value, lookup_array, [match_type]) برای برگرداندن یک موقعیت نسبی از lookup_value در lookup_array .

    بنابراین، برای بدست آوردن شماره ردیف، ما جستجو می کنیم برای حیوان مورد نظر (H1) در سربرگ ردیف ها (A2:A4):

    MATCH(H1, A2:A4, 0)

    برای بدست آوردن شماره ستون، سال مورد نظر (H2) را در سربرگ ستون ها جستجو می کنیم. (B1:E1):

    MATCH(H2, B1:E1, 0)

    در هر دو مورد، با تنظیم آرگومان سوم روی 0، به دنبال مطابقت دقیق هستیم.

    در این مثال، اولین MATCH برمی‌گردد. 2 زیرا مقدار vlookup ما (خرس قطبی) در A3 یافت می شود که سلول دوم در A2:A4 است. دومین MATCH 3 را برمی گرداند زیرا مقدار hlookup (2000) در D1 یافت می شود، که سلول سوم در B1:E1 است.

    با توجه به موارد فوق، فرمول به:

    INDEX(B2:E4, 2, 3) <کاهش می یابد. 3>

    و مقداری را در تقاطع سطر 2 و ستون 3 در آرایه داده B2:E4 برگردانید که یکمقدار در سلول D3.

    فرمول VLOOKUP و MATCH برای جستجوی دوطرفه

    یک راه دیگر برای انجام جستجوی دو بعدی در اکسل استفاده از ترکیبی از توابع VLOOKUP و MATCH است:

    VLOOKUP( vlookup_value , table_array , MATCH( hlookup_value , lookup_row_range , 0), FALSE)

    برای جدول نمونه ما ، فرمول به شکل زیر است:

    =VLOOKUP(H1, A2:E4, MATCH(H2, A1:E1, 0), FALSE)

    Where:

    • Table_array - A2:E4 (سلول های داده شامل سرصفحه ردیف)
    • Vlookup_value - H1 (حیوان هدف)
    • Hlookup_value - H2 (سال هدف)
    • Lookup_row_range - A1:E1 (سربرگ ستون: سال)

    این فرمول چگونه کار می کند

    هسته فرمول تابع VLOOKUP است که برای مطابقت دقیق پیکربندی شده است (آخرین آرگومان روی FALSE تنظیم کنید، که مقدار جستجو (H1) را در ستون اول آرایه جدول (A2:E4) جستجو می کند و مقداری را از ستون دیگری در همان ردیف برمی گرداند. برای تعیین اینکه از کدام ستون مقداری را برگردانید، از تابع MATCH استفاده می‌کنید که برای مطابقت دقیق نیز پیکربندی شده است (آخرین آرگومان روی 0 تنظیم شده است):

    MATCH(H2, A1:E1, 0)

    MATCH مقدار را در H2 در سربرگ ستون ها (A1:E1) و موقعیت نسبی سلول پیدا شده را برمی گرداند. در مورد ما، سال هدف (2010) در E1 یافت می شود که پنجمین آرایه جستجو است. بنابراین، عدد 5 به آرگومان col_index_num VLOOKUP می رود:

    VLOOKUP(H1, A2:E4, 5, FALSE)

    VLOOKUP آن را از آنجا می گیرد، یک عدد را پیدا می کند.مطابقت دقیق با مقدار جستجوی آن در A2 و مقداری را از ستون 5 در همان ردیف، که سلول E2 است، برمی گرداند.

    نکته مهم! برای اینکه فرمول به درستی کار کند، table_array (A2:E4) از VLOOKUP و lookup_array از MATCH (A1:E1) باید تعداد ستون‌های یکسانی داشته باشند، در غیر این صورت عدد ارسال شده توسط MATCH به col_index_num نادرست خواهد بود (با موقعیت ستون در table_array مطابقت ندارد).

    عملکرد XLOOKUP برای جستجو در ردیف‌ها و ستون‌ها

    اخیرا مایکروسافت یک تابع دیگر را در اکسل معرفی کرده است که قرار است جایگزین تمام توابع جستجوی موجود مانند VLOOKUP، HLOOKUP و INDEX MATCH شود. از جمله موارد دیگر، XLOOKUP می‌تواند به تقاطع یک سطر و ستون خاص نگاه کند:

    XLOOKUP( vlookup_value , vlookup_column_range , XLOOKUP( hlookup_value , hlookup_row_range , data_array ))

    برای مجموعه داده نمونه ما، فرمول به شرح زیر است:

    =XLOOKUP(H1, A2:A4, XLOOKUP(H2, B1:E1, B2:E4))

    توجه داشته باشید. در حال حاضر XLOOKUP یک تابع بتا است که فقط برای مشترکین Office 365 که بخشی از برنامه Office Insiders هستند در دسترس است.

    این فرمول چگونه کار می کند

    فرمول از توانایی XLOOKUP برای برگرداندن یک عدد استفاده می کند. کل سطر یا ستون تابع داخلی سال مورد نظر را در ردیف سرصفحه جستجو می کند و تمام مقادیر آن سال (در این مثال، برای سال 1980) را برمی گرداند. این مقادیر به آرگومان return_array خارجی می روندXLOOKUP:

    XLOOKUP(H1, A2:A4, {22000;25000;700}))

    عملکرد خارجی XLOOKUP حیوان مورد نظر را در سربرگ ستون ها جستجو می کند و مقدار را در همان موقعیت از آرایه بازگشتی برمی گرداند.

    فرمول SUMPRODUCT برای دو -way lookup

    عملکرد SUMPRODUCT مانند یک چاقوی سوئیسی در اکسل است - می تواند کارهای زیادی را فراتر از هدف تعیین شده خود انجام دهد، به خصوص زمانی که نوبت به ارزیابی چندین معیار می رسد.

    برای جستجوی دو معیار معیارها، در ردیف‌ها و ستون‌ها، از این فرمول عمومی استفاده کنید:

    SUMPRODUCT( vlookup_column_range = vlookup_value ) * ( hlookup_row_range = hlookup_value ), data_array )

    برای انجام جستجوی دو طرفه در مجموعه داده ما، فرمول به شرح زیر است:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2), B2:E4)

    نحو زیر نیز کار خواهد کرد:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2) * B2:E4)

    این فرمول چگونه کار می کند

    در قلب فرمول، ما دو مقدار جستجو را در برابر سرصفحه های سطر و ستون (حیوان مورد نظر در H1 در برابر همه حیوانات مقایسه می کنیم. نامها در A2:A4 و سال هدف در H2 در برابر همه سالها در B1:E1):

    (A2:A4=H1) * (B1:E1=H2)

    این پاسخ ults در 2 آرایه از مقادیر TRUE و FALSE، که در آن TRUE منطبق است:

    {FALSE;FALSE;TRUE} * {FALSE,TRUE,FALSE,FALSE}

    عملیات ضرب مقادیر TRUE و FALSE را به 1 و 0 تبدیل می کند و یک آرایه دو بعدی 4 تولید می کند. ستون ها و 3 سطر (ردیف ها با نیم ویرگول و هر ستون داده ها با کاما از هم جدا می شوند):

    {0,0,0,0;0,0,0,0;0,1,0,0}

    توابع SUMPRODUCT عناصر آرایه فوق را در اقلام ضرب می کند.B2:E4 در موقعیت های یکسان:

    {0,0,0,0;0,0,0,0;0,1,0,0} * {22000,13800,8500,3500;25000,23000,22000,20000;700,2000,2300,2500}

    و چون ضرب در صفر صفر می شود، فقط مورد مربوط به 1 در آرایه اول باقی می ماند:

    SUMPRODUCT({0,0,0,0;0,0,0,0;0,2000,0,0})

    در نهایت، SUMPRODUCT عناصر آرایه حاصل را جمع می کند و مقدار 2000 را برمی گرداند.

    توجه داشته باشید. اگر جدول شما بیش از یک سطر یا/و سر ستون با نام یکسان داشته باشد، آرایه نهایی شامل بیش از یک عدد غیر از صفر خواهد بود و همه آن اعداد جمع می شوند. در نتیجه، مجموع مقادیری را دریافت خواهید کرد که هر دو معیار را برآورده می کنند. این همان چیزی است که فرمول SUMPRODUCT را از INDEX MATCH MATCH و VLOOKUP متفاوت می کند، که اولین تطابق یافت شده را برمی گرداند.

    جستجوی ماتریس با محدوده های نامگذاری شده (تقاطع صریح)

    یک راه شگفت انگیز ساده برای انجام جستجوی ماتریس در اکسل با استفاده از محدوده های نامگذاری شده است. به این صورت است:

    بخش 1: نام گذاری ستون ها و ردیف ها

    سریع ترین راه برای نام گذاری هر سطر و هر ستون در جدول به این صورت است:

    1. کل جدول را انتخاب کنید (در مورد ما A1:E4).
    2. در برگه فرمولها ، در گروه نامهای تعریف شده ، روی ایجاد کلیک کنید. از Selection یا میانبر Ctrl + Shift + F3 را فشار دهید.
    3. در کادر گفتگوی Create Names from Selection ، ردیف بالا و چپ را انتخاب کنید. ستون، و روی OK کلیک کنید.

    این به طور خودکار نام ها را بر اساس سرصفحه های سطر و ستون ایجاد می کند. با این حال، چند نکته وجود دارد:

    • اگر ستون و/یا شماسرصفحه‌های ردیف اعداد هستند یا شامل کاراکترهای خاصی هستند که در نام‌های اکسل مجاز نیستند، نام این ستون‌ها و ردیف‌ها ایجاد نمی‌شود. برای دیدن لیستی از نام های ایجاد شده، مدیر نام (Ctrl + F3) را باز کنید. اگر برخی از نام‌ها گم شده‌اند، آن‌ها را به صورت دستی تعریف کنید همانطور که در نحوه نام‌گذاری محدوده در اکسل توضیح داده شده است.
    • اگر برخی از سرصفحه‌های سطر یا ستون شما دارای فاصله هستند، فاصله‌ها با زیرخط جایگزین می‌شوند، به عنوان مثال، Polar_bear .

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

    در نتیجه، محدوده‌های نام‌گذاری شده زیر را داریم:

    بخش 2 : یک فرمول جستجوی ماتریس بسازید

    برای کشیدن یک مقدار در تقاطع یک سطر و ستون معین، کافی است یکی از فرمول های عمومی زیر را در یک سلول خالی تایپ کنید:

    = row_name column_name

    یا برعکس:

    = column_name row_name

    به عنوان مثال، برای بدست آوردن جمعیت نهنگ های آبی در سال 1990 ، فرمول به همین سادگی است:

    =Blue_whale _1990

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

    1. در یک سلول در جایی که می‌خواهید نتیجه ظاهر شود، علامت برابری (=) را تایپ کنید.
    2. نام ردیف هدف را تایپ کنید، مثلاً Blue_whale . بعد ازشما چند کاراکتر را تایپ کرده اید، اکسل همه نام های موجود را که مطابق با ورودی شما هستند نمایش می دهد. روی نام مورد نظر دوبار کلیک کنید تا آن را در فرمول خود وارد کنید:
    3. بعد از نام ردیف، یک فاصله را تایپ کنید، که به عنوان عملگر تقاطع در این مورد.
    4. نام ستون هدف را وارد کنید ( _1990 در مورد ما).
    5. به محض وارد کردن نام سطر و ستون، اکسل سطر و ستون مربوطه را در جدول شما برجسته می کند و برای تکمیل فرمول Enter را فشار می دهید:

    جستجوی ماتریس شما انجام شده است، و تصویر صفحه زیر نتیجه را نشان می‌دهد:

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

    دانلودهای موجود

    نمونه کتاب کار جستجوی دو بعدی

    <3

    مایکل براون یک علاقه‌مند به فناوری است که علاقه زیادی به ساده‌سازی فرآیندهای پیچیده با استفاده از ابزارهای نرم‌افزاری دارد. او با بیش از یک دهه تجربه در صنعت فناوری، مهارت های خود را در Microsoft Excel و Outlook و همچنین Google Sheets و Docs تقویت کرده است. وبلاگ مایکل اختصاص داده شده است تا دانش و تخصص خود را با دیگران به اشتراک بگذارد و نکات و آموزش هایی را برای بهبود بهره وری و کارایی ارائه دهد. چه یک حرفه ای با تجربه باشید و چه مبتدی، وبلاگ مایکل، بینش های ارزشمند و توصیه های عملی را برای استفاده حداکثری از این ابزارهای نرم افزاری ضروری ارائه می دهد.