باب پرسید آیا راهی برای استفاده از VLOOKUP برای برگرداندن نقاط خالی یا ستاره وجود دارد، اگر تابع نمی تواند در جدول جستجو مطابقت داشته باشد.
بله، این کار قابل انجام است، اما نه بدون اینکه فرمول شما کمی پیچیده تر شود. ترفند این است که به یاد داشته باشید که VLOOKUP می تواند به یکی از دو روش عمل کند. به طور پیش فرض، اگر جدول داده ها به ترتیب صعودی باشد و مطابقت دقیقی وجود نداشته باشد، مقدار پایین تر بعدی را به مقدار مورد جستجو برمی گرداند. با این حال، در صورت تمایل، می توانید VLOOKUP را مجبور کنید که فقط مطابقت های دقیق را برگرداند. به مثال زیر توجه کنید:
=VLOOKUP(5,A1:B10,2,FALSE)
این مثال از طریق جدول جستجو (A1:B10) به دنبال مقدار 5 در ستون اول جدول می گردد. اگر پیدا شد، مقدار مربوطه از ستون دوم برگردانده می شود. اگر یافت نشد، VLOOKUP یک خطای #N/A برمی گرداند که نشان می دهد نمی تواند مقدار را پیدا کند. (مقدار FALSE به عنوان پارامتر چهارم نشان می دهد که شما مطابقت های تقریبی را نمی خواهید.)
بنابراین، نکته کلیدی این است که از این مقدار #N/A استفاده کنید و در صورت عدم تطابق، آنچه را که می خواهید برگردانید، بسازید. اگر مطابقت در جستجو وجود نداشته باشد، فرمول زیر مجموعه ای از پنج ستاره را برمی گرداند:
=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),"*****",VLOOKUP(5,A1:B10,2,FALSE))
از تابع ISNA برای آزمایش اینکه آیا نتیجه VLOOKUP خطای #N/A است یا خیر استفاده می شود. اگر چنین باشد، ستاره ها برگردانده می شوند. اگر نه، مقدار جستجو برگردانده می شود. اگر می خواهید فرمول "هیچ چیز" را برگرداند، می توانید از این تغییر استفاده کنید:
=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),"",VLOOKUP(5,A1:B10,2,FALSE))
اگر در جدول جستجو مطابقت نداشته باشد، این نسخه یک رشته خالی برمی گرداند. برای برخی از کاربردها، این ممکن است دقیقاً آن چیزی نباشد که شما می خواهید. ممکن است برای شما مناسب تر باشد که یک صفر را برگردانید، و سپس صفرها را در کاربرگ پنهان کنید (فایل | گزینه ها | پیشرفته | نمایش گزینه های این کاربرگ | نمایش صفر در سلول هایی که دارای مقدار صفر هستند را پاک کنید). اگر می خواهید یک صفر برگردانده شود، تنها یک تغییر لازم است:
=IF(ISNA(VLOOKUP(5,A1:B10,2,FALSE)),0,VLOOKUP(5,A1:B10,2,FALSE))
البته، می توانید از تابع IFERROR نیز برای پیدا کردن آنچه نیاز دارید استفاده کنید. تغییرات زیر در فرمول به خوبی کار خواهد کرد:
IFERROR(VLOOKUP(5,A1:B10,2,FALSE),"*****")