اگر این روزها شرایط باعثشده مسیر کاریت تغییر کنه و برای موقعیتهای شغلی جدید مصاحبه داری؛ به این چند نکته و ترفند اکسلی حتما مسلط باش...
تقریبا همه مصاحبههای استخدامی یهسوال پُرتکرار دارن: “فرمولنویسی با ویلوکاپ” که برای خیلیها پُر از چالشه.
۱) مثلا از ما میخوان “نام طرفحساب، شرح کالا و مبلغ کل با مالیات” یهشماره صورتحساب رو از گزارش پیدا کنیم. ولی فرمولنویسی خطای N/A# میده و بهتره بگم دادهای رو پیدا نمیکنه؛ در حالیکه مطمئنیم اون شماره صورتحساب توی گزارش موجوده!

دلیل این خطا اینه که محدوده آرگومان دوم ویلوکاپ، اشتباه انتخاب شده. تابع ویلوکاپ ابتدا دادهای که دنبالش هستیم(شماره صورتحساب) رو از ستون اول محدوده انتخابی(Table Array) پیدا میکنه و بعد مقادیر دلخواه رو از ستونهای بعدی برمیگردونه. برای مثال ما محدوده انتخابی از ستون A(تاریخها) شروع شده درحالیکه شماره صورتحسابها توی ستون B هستن؛ در نتیجه تابع دادهای رو پیدا نمیکنه و خطا میده. برای حل این چالش کافیه محدوده آرگومان دوم اصلاح و از ستون B شروع بشه تا به خروجی صحیح برسیم.

یکی دیگه از چالشهای پُرتکرار ویلوکاپ، تکمیلکردن آرگومان سومشه؛ ۲) مثلا اگر بخواهیم نام مشتری که توی ستون C گزارش موجوده رو برگردونه؛ نباید همیشه شمارش رو از ستون A اکسل شروع کنیم. انتخاب شماره ستون بستگی به ساختار گزارش داره و اگر اشتباه باشه، خروجی فرمول خطای N/A# میده! معیار شروع شمارش، ستونی هست که دادهای که دنبالش هستیم اونجا موجوده. برای این مثال، شماره صورتحسابها توی ستون B هستن؛ پس شمارش از ستون B شروع و نام مشتری رو باید از ستون دوم و شرح کالا رو از ستون سوم گزارش برگردونه...

یه نکته مهم ویلوکاپ که باید بهش دقت کنیم اینه که ممکنه دنبال داده بگردیم که واقعا توی گزارش موجود نیست؛ اما خروجی خطای N/A# نمیده و دادهای اشتباه برمیگردونه. ۳) مثلا از ما میخوان نام مشتری مربوط به شماره صورتحسابی رو پیدا کنیم که اصلا توی گزارش موجود نیست. اما فرمول بدون خطا، نام مشتری مربوط به شماره صورتحساب دیگهای رو برمیگردونه! دلیلش اینه آرگومان چهارم ویلوکاپ تکمیل نشده یا مقدار True/1 تایپ شده. جستجوی ویلوکاپ بهصورت پیشفرض، تقریبی هست؛ یعنی اگر داده دلخواه ما پیدا نشه، خروجی نزدیکترین مقدار به دادهای که دنبالش هستیم رو برمیگردونه و خطای N/A# نمیده. در حالیکه توی این مثال میخواهیم جستجوی دقیق داشته باشیم و اگر شماره صورتحساب موجود نبود یا اشتباه بود، فرمول باید خطا بده. برای حل این چالش کافیه آرگومان چهارم رو با مقدار False/0 تکمیل کنیم تا نام مشتری اشتباه برنگردونه و خروجی خطای N/A# رو نمایش بده.








