XLOOKUP در مقابل INDEX-MATCH در اکسل (همه مقایسه‌های ممکن)

  • این را به اشتراک بگذارید
Hugh West

امروز من یک تحلیل مقایسه ای از توابع XLOOKUP در مقابل INDEX-MATCH در Excel انجام خواهم داد. در نسخه های قبلی Excel ، ما از توابع HLOOKUP ، VLOOKUP و INDEX-MATCH برای جستجو استفاده می کردیم. یک مقدار خاص در محدوده ای از سلول ها. با این حال، با ظهور Office 365 ، اکسل یک تابع جدید و پویا به نام تابع XLOOKUP در اختیار ما قرار داده است تا عملیات مشابهی را پیچیده تر انجام دهیم. در این مقاله سعی خواهم کرد توابع پرکاربرد XLOOKUP و INDEX-MATCH را با هم مقایسه کنم.

دانلود کتاب تمرین

این فایل نمونه را برای درک بهتر دریافت کنید.

XLOOKUP vs INDEX-MATCH Functions.xlsx

مقدمه ای بر تابع XLOOKUP

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

Syntax:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found] ,[match_mode],[search_mode])

Arguments:

  • Lookup_value : این مقداری است که ما هستیم جستجو در ستون خاصی از محدوده.
  • Lookup_array : آرایه ای است که در آن lookup_value را جستجو می کنیم. می تواند هم ردیف و هم باشداولین یا آخرین مسابقه برای به دست آوردن اولین مقداری که مطابقت دارد، آرگومان search_type را روی 1 تنظیم کنید. و برای بدست آوردن آخرین مقداری که مطابقت دارد، آرگومان search_type را روی -1 تنظیم کنید. اما در INDEX-MATCH چاره ای ندارید. شما فقط اولین مقداری را دریافت خواهید کرد که مطابقت دارد.
    • برای به دست آوردن اولین دانش آموزی که 100 را دریافت کرد، می توانید از این فرمول XLOOKUP در استفاده کنید. سلول G5 .
    =XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

    • همراه با آن، آخرین دانش آموز را دریافت خواهید کرد. با 100 با استفاده از این فرمول XLOOKUP .
    =XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

    • برعکس، شما فقط اولین مقداری را دریافت خواهید کرد که با این فرمول INDEX-MATCH مطابقت دارد.
    =INDEX(B5:E16,MATCH(100,D5:D16,0),2)

    7. XLOOKUP و INDEX-MATCH در مورد مقادیر جستجوی چندگانه

    در این مثال، ما XLOOKUP در مقابل INDEX-MATCH را نشان خواهیم داد. در صورت وجود مقادیر جستجوی متعدد. شباهتی بین این دو عملکرد در این زمینه وجود دارد. هر دو به چندین lookup_values (فرمول آرایه) اجازه می دهند.

    • برای تابع XLOOKUP ، فرمول زیر کار خواهد کرد.
    =XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

    • سپس، برای INDEX-MATCH ، تابع زیر نیز کار خواهد کرد.
    =INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

    مزایا & معایب عملکرد XLOOKUP

    استفاده از تابع XLOOKUP مزایا و معایب خاصی دارد. بیایید آنها را به طور خلاصه ببینیم.

    مزایا

    • تنظیم یک مقدار پیش‌فرض برای موارد منطبق.
    • می‌توانید مطابقتهای تقریبی را بدون مرتب‌سازی lookup_array جستجو کنید.
    • دسترسی داشته باشید برای جستجو از سلول اول و آخرین سلول lookup_array .

    معایب

    • آهسته تر از INDEX-MATCH کار می کند تابع .
    • فقط در Office 365 موجود است.

    مزایا & معایب عملکردهای INDEX-MATCH

    عملکردهای INDEX-MATCH نیز برخی از مزایا و معایب زیر را دارند.

    مزایا

    • کار می کند سریعتر از تابع XLOOKUP .
    • موجود در نسخه های قدیمی Excel .

    معایب

    • وقتی هیچ منطبقی پیدا نمی‌شود، نمی‌توان خطاها را مدیریت کرد.
    • نیاز به مرتب‌سازی آرایه_ lookup_2>برای مطابقت‌های تقریبی دارد.
    • فقط اولین مقدار را هنگامی که چندین مقدار مطابقت دارند برمی‌گرداند. 1> lookup_value .

    نتیجه گیری

    در نهایت، ما در پایان مقاله طولانی خود هستیم. در اینجا ما سعی کردیم یک تحلیل مقایسه ای از توابع XLOOKUP در مقابل INDEX-MATCH در اکسل ایجاد کنیم. پیشنهادات روشنگرانه خود را در این مورد با ما در میان بگذارید. برای آموزش های بیشتر ExcelWIKI را دنبال کنید.

    ستون.
  • Return_Array: ستونی است که مقدار متناظر lookup_value از آن بازگردانده می شود.

آرگومان های اختیاری:

  • If_not_found : مقداری است که در صورتی که lookup_array مقدار lookup_را نداشته باشد، برگردانده می شود.
  • Match_mode : عددی است که نشان دهنده نوع تطابق lookup_value مورد نظر شما است. این یک استدلال اختیاری است. می‌تواند شامل چهار مقدار باشد.
  1. وقتی 0 باشد، XLOOKUP یک مطابقت دقیق (پیش‌فرض) را جستجو می‌کند.
  2. وقتی 1 باشد، XLOOKUP ابتدا یک مطابقت دقیق را جستجو می کند. اگر مطابقت دقیقی پیدا نشد، با مقدار کوچکتر بعدی مطابقت دارد.
  3. وقتی -1 باشد، XLOOKUP ابتدا یک تطابق دقیق را جستجو می کند. اگر تطابق دقیقی پیدا نشد، با مقدار بزرگتر بعدی مطابقت خواهد داشت.
  4. وقتی 2 باشد، XLOOKUP ابتدا یک مطابقت تقریبی را با استفاده از Wildcards جستجو می کند ( فقط برای مقادیر جستجوی رشته کاربرد دارد).
  • Search_mode : عددی است که نشان دهنده نوع عملیات جستجوی انجام شده در آرایه_ lookup است. این نیز اختیاری است. همچنین می تواند چهار مقدار داشته باشد:
  1. اگر 1 باشد، XLOOKUP از بالا به پایین در lookup_array<جستجو می کند. 2> (پیش فرض).
  2. وقتی -1 باشد، XLOOKUP از پایین به بالا در
  3. اگر <1 باشد جستجو می کند>2 ، XLOOKUP یک را انجام خواهد دادجستجوی باینری به ترتیب صعودی.
  4. وقتی -2 باشد، XLOOKUP جستجوی باینری را به ترتیب نزولی انجام می دهد.

مقدمه به توابع INDEX-MATCH

ترکیب توابع INDEX-MATCH برای واکشی یک مقدار از یک مکان معین و تطبیق آن با محدوده منبع استفاده می شود.

نحو:

=INDEX(آرایه، MATCH(مقدار_lookup، آرایه_جستجو، نوع_تطابق)، بدون_ستون)

آگومان‌ها:

برای تابع INDEX:

  • آرایه : محدوده ای از سلول ها است که می خواهیم مقداری را از آن استخراج کنیم.
  • MATCH(lookup_value,lookup_array, match_type): شماره ردیف محدوده ای است که lookup_value با مقدار خاصی در lookup_array مطابقت دارد.
  • No_of_column: تعداد ستون آرایه ای است که از آن می خواهیم مقدار مربوط به lookup_value را برگردانیم.

برای تابع MATCH:

  • Lookup_value: این مقداری است که ما در جستجوی آن هستیم.
  • Looku p_array: آرایه ای است که ما در آن lookup_value را جستجو می کنیم. می تواند هم ردیف و هم ستون باشد.
  • Match_type: این یک عدد صحیح است که نشان دهنده نوع تطابق مورد نظر ما است. این اختیاری است.
  1. وقتی -1 باشد، MATCH ابتدا به دنبال یک تطابق دقیق خواهد بود. در صورتی که مطابقت دقیقی پیدا نشود، به دنبال مقدار بزرگتر بعدی می گردد (پیش فرض)(برعکس XLOOKUP ).

اما شرط این است که lookup_array باید به ترتیب صعودی مرتب شود. در غیر این صورت، یک خطا نشان می دهد.

  1. وقتی 1 باشد، MATCH نیز ابتدا به دنبال تطابق دقیق خواهد بود. در صورتی که مطابقت دقیقی پیدا نشود، به دنبال مقدار کوچکتر بعدی (در مقابل XLOOKUP ) می گردد.

اما شرط این است که lookup_array این بار باید به ترتیب نزولی مرتب شود. در غیر این صورت، یک خطا نشان می دهد.

  1. وقتی 0 باشد، MATCH یک تطابق دقیق را جستجو می کند.

بیشتر بخوانید: نحوه انتخاب داده های خاص در اکسل (6 روش)

7 مقایسه بین استفاده از توابع XLOOKUP و INDEX-MATCH

اکنون فرمول را شکسته ایم، بیایید برخی از شباهت ها و تفاوت های بین این دو تابع را مورد بحث قرار دهیم. قبل از رفتن به بحث اصلی، برای راحتی شما، نکات اصلی را در جدولی نشان می دهم. تشابه/عدم تشابه توضیح آرایه_جستجوی ستون شباهت هر دو از یک ستون به عنوان آرایه_ lookup_ پشتیبانی می کنند. ردیف جستجوی_آرایه شباهت هر دو از یک ردیف پشتیبانی می کنند. به عنوان آرایه lookup_. بدون تطابق در lookup_value عدم تشابه XLOOKUP دارای گزینه تنظیم پیش فرض برای عدم تطابقlookup_value. اما INDEX-MATCH ندارد. تطابق تقریبی شباهت جزئی XLOOKUP می تواند کوچکتر بعدی را پیدا کند یا مقدار بزرگتر بعدی زمانی که مطابقت دقیقی وجود ندارد. INDEX-MATCH همچنین می‌تواند این کار را انجام دهد، اما آرایه lookup_رایگان باید به ترتیب صعودی یا نزولی مرتب شوند> هر دو از وایلدکارت های منطبق پشتیبانی می کنند. تطبیق مقادیر چندگانه شبهات جزئی XLOOKUP می تواند یکی از این موارد را پیدا کند. اولین یا آخرین مقدار زمانی که چندین مقدار مطابقت دارند. اما INDEX-MATCH فقط می تواند اولین مقداری را که منطبق است برگرداند. فرمول آرایه شباهت هر دو از آرایه پشتیبانی می کنند. فرمول.

1. XLOOKUP و INDEX-MATCH به جستجوی مقدار در ستون

شباهتی بین این دو تابع در این جنبه وجود دارد. برای XLOOKUP و INDEX-MATCH ، آرایه_ lookup می تواند ستونی برای هر دو تابع باشد. در اینجا ما به دنبال نمرات دقیق در فیزیک نام دانش آموز در C ell F5 ، جنیفر مارلو هستیم. ما می‌خواستیم در ستون نام دانش‌آموز از بالا به پایین جستجو کنیم و در صورتی که مطابقت پیدا نشد، " یافت نشد " را برگردانیم.

  • برای XLOOKUP ، فرمول را در Cell G5 اعمال کنید.
=XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

  • برای INDEX-MATCH ، از این فرمول در Cell استفاده کنیدG5 .
=INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

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

2. XLOOKUP و INDEX-MATCH با مقدار جستجو در ردیف

همچنین شباهتی بین این دو تابع در این جنبه وجود دارد . برای XLOOKUP و INDEX-MATCH ، lookup_array نیز می‌تواند یک ردیف برای هر دو تابع باشد. برای مثال، ما یک مجموعه داده جدید با IDs ، Names ، و Marks in Physics و Grades داریم.

بیایید یک لحظه در نظر بگیریم که این یک مجموعه داده بسیار گسترده است و ما نمی دانیم که تعداد ستون Grade چقدر است. سپس، برای پی بردن به نمره یک دانش آموز خاص، باید از ردیف سرفصل (B4:E4) به عنوان آرایه_ lookup و از کلمه " Grade " به عنوان lookup_value<استفاده کنیم. 2>. ما می توانیم آن را با استفاده از XLOOKUP و INDEX-MATCH انجام دهیم.

  • برای اطلاع از نمره دانش آموز سوم ، فرمول XLOOKUP در Cell G5 به این صورت خواهد بود.
=XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)

  • برای این مورد، فرمول INDEX-MATCH خواهد بود:
=INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

3. XLOOKUP و INDEX-MATCH وقتی هیچ تطابقی پیدا نمی شود

این دو عملکرد از این جنبه متفاوت هستند. اگر lookup_value با هیچ مقداری در lookup_array مطابقت ندارد، می توانید مقدار ثابتی را تنظیم کنید تا در XLOOKUP برگردانده شود. برای انجام این کار، باید آن را تنظیم کنیدمقدار در آرگومان if_not_found . از طرف دیگر، چنین گزینه ای در INDEX-MATCH وجود ندارد. یک خطا برمی گرداند. برای رسیدگی به خطا باید از عملکرد IFERROR در خارج استفاده کنید. در مجموعه داده های داده شده، نام دانش آموز با شناسه 100 را می یابیم.

  • برای این کار، از فرمول XLOOKUP زیر در<1 استفاده کنید> Cell G5 .
=XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

  • از طرف دیگر، این <1 را اعمال کنید فرمول>INDEX-MATCH .
=INDEX(B5:E16,MATCH(100,B5:B16,0),2)

  • از آنجایی که یک خطا برمی گرداند، شما برای رسیدگی به این خطا باید از یک تابع IFERROR در خارج استفاده کنید.
=IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")

قرائت های مشابه

  • Excel INDEX MATCH برای برگرداندن چندین مقدار در یک سلول
  • Excel INDEX-MATCH فرمول برای برگرداندن مقادیر متعدد به صورت افقی
  • نحوه استفاده از فرمول INDEX-MATCH در اکسل برای ایجاد چندین نتیجه
  • [اصلاح شد!] INDEX MATCH مقدار صحیح را در اکسل بر نمی گرداند (5 دلیل)
  • نحوه استفاده از INDEX MATCH به جای VLOOKUP در اکسل (3 روش)

4. XLOOKUP و INDEX-MATCH در مورد تطابق تقریبی

در این جنبه شباهت نسبی بین این دو تابع وجود دارد. در تابع XLOOKUP ، اگر lookup_value با هیچ مقداری در lookup_array مطابقت نداشته باشد، می‌توانید فرمول را تغییر دهید تا مقدار بعدی کوچکتر یا بزرگتر بعدی برگردد. . استدلال را تنظیم کنید مطابقت_تایپ به -1 اگر مقدار کوچکتر بعدی را می‌خواهید و اگر مقدار بزرگتر بعدی را می‌خواهید، آن را روی 1 تنظیم کنید.

به عنوان مثال ، دانش آموز را با علامت 50 یا علامت بزرگتر بعدی می یابیم.

  • برای یافتن مقدار، این فرمول XLOOKUP را اعمال کنید.
=XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

  • همانطور که می بینید دانش آموزی با نمره 50 وجود ندارد. . به همین دلیل است که بلافاصله بعد از 50 ، 51 توسط Desmond Hayes نشان داده می شود.

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

  • اول از همه، این فرمول را در Cell G5 وارد کنید.
=INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

  • در نتیجه، خواهید دید که نتیجه یک خطای #N/A را نشان می دهد. .
  • بنابراین محدوده سلولی D5:D16 را به ترتیب صعودی مرتب کنید و مقدار صحیح را دریافت خواهید کرد.

توجه ویژه:در تابع XLOOKUP، -1برای مقدار کوچکتر بعدی کار می کند، اما در INDEX-MATCH، -1برای مقدار بزرگتر بعدی کار می کند. به طور مشابه در تابع XLOOKUP، 1 برای مقدار بزرگتر بعدی کار می کند، اما در INDEX-MATCH، 1برای مقدار کوچکتر بعدی کار می کند.

بیشتر بخوانید: نحوه استفادهINDEX و Match برای تطابق جزئی (2 روش)

5. XLOOKUP و INDEX-MATCH در مورد تطبیق حروف عام

شباهت بین این دو تابع در این جنبه وجود دارد. XLOOKUP و INDEX-MATCH ، هر دو از Waldcards پشتیبانی می‌کنند. در اینجا، ما هر دانش آموزی را با " Marlo " به عنوان نام دوم خواهیم یافت. بیایید مراحل زیر را دنبال کنیم تا مقایسه XLOOKUP در مقابل INDEX-MATCH را ببینیم.

  • ابتدا، این فرمول XLOOKUP را در <1 اعمال کنید> سلول G5 برای دریافت خروجی.
=XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

توجه داشته باشید:برای استفاده از حروف عام در XLOOKUP، باید آرگومان match_typeرا روی 2تنظیم کنید. در غیر این صورت، کار نخواهد کرد.

  • از سوی دیگر، فرمول INDEX-MATCH برای انجام همان کار به این صورت خواهد بود.
=INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

بیشتر بخوانید: تطبیق معیارهای چندگانه INDEX با Wildcard در Excel (راهنمای کامل )

6. XLOOKUP و INDEX-MATCH هنگامی که مقادیر متعدد با مقدار جستجو مطابقت دارند

این مثال XLOOKUP در مقابل INDEX-MATCH را نشان می دهد زمانی که چندین مقدار با مقدار جستجو مطابقت دارد. همچنین شباهت نسبی بین این دو عملکرد در این زمینه وجود دارد. XLOOKUP و INDEX-MATCH هر دو فقط یک مقدار را برمی‌گردانند در صورتی که چندین مقدار در lookup_array با lookup_value مطابقت داشته باشد. اما در تابع XLOOKUP ، می‌توانید جستجو را تغییر دهید تا یکی از این موارد را دریافت کنید

هیو وست یک مربی و تحلیلگر اکسل بسیار با تجربه با بیش از 10 سال تجربه در این صنعت است. وی دارای مدرک لیسانس در رشته حسابداری و امور مالی و مدرک کارشناسی ارشد در رشته مدیریت بازرگانی است. هیو علاقه زیادی به تدریس دارد و یک رویکرد آموزشی منحصر به فرد ایجاد کرده است که به راحتی قابل پیگیری و درک است. دانش تخصصی او از اکسل به هزاران دانش آموز و متخصص در سراسر جهان کمک کرده تا مهارت های خود را بهبود بخشند و در حرفه خود برتری پیدا کنند. هیو از طریق وبلاگ خود دانش خود را با جهان به اشتراک می گذارد و آموزش های رایگان اکسل و آموزش آنلاین ارائه می دهد تا به افراد و مشاغل کمک کند تا به پتانسیل کامل خود دست یابند.