توابع INDEX+MATCH
در اینکه تابع VLOOKUP یکی از قوی ترین و مفیدترین فرمول هاست شکی نیست. اما این تابع دارای یک اشکال اساسی است، شما نمی توانید توسط این تابع عملیات جستجو به سمت راست را انجام دهید. (اگر جهت صفحه فارسی باشد جستجو به سمت راست و اگر انگلیسی باشد جستجو به سمت چپ امکان پذیر نیست)
فرض کنید در جدول زیر برای آنکه بدانیم مقدار فروش چه کسی 2133 تومان می باشد تابع VLOOKUP نمی تواند این کار را انجام دهد. چون تابع VLOOKUP فقط پاسخ را در ستون سمت راست مقدار مورد جستجو برمیگرداند.
یکی از راههای ساده حل مشکل انتقال ستون فروش به سمت راست اسامی فروشندگان است! اما این راه حل منطقی نیست. همانطور که می دانید ممکن است در همین جدول بخواهیم جستجو را بر اساس مقدار سود انجام دهیم و یا موارد دیگر. پس برای هر جستجو مجبوریم ستون مورد جستجو را به سمت راست انتقال دهیم.
راه حل این موضوع استفاده از ترکیب توابع INDEX+MATCH است (OFFSET+MATCH) را نیز می توانید استفاده کنید.
شکل کلی ترکیب این توابع به صورت زیر است.
=INDEX(ستون اطلاعات مورد جستجو,MATCH(صفر,ستونی که شامل داده مورد نظر است, مقداری که به دنبال آن می گردید ))
برای مثال ((INDEX($B$2:$B$14,MATCH(1088,$D$2:$D$14,0 = موقعیت عدد 1088 در ناحیه D2:D14 را پیداکرده و پاسخ مناسب را از ناحیه B2:B14 برمیگرداند (مقدار سمت چپ مورد جستجو)
مثال های بیشتر را در جدول زیر ببینید.
برای مطالعه مقاله Vlookup به لینک زیر مراجعه نمایید
با سلام و شب بخير
خدا قوت خلي ممنون از زحمات حضرتعالي هديه آموزش تصويري بسيار ارزنده بود متشكر از لطف جنابعالي
دارم در سه سلول كه مي خواهم آنها را بصورت تركيبي در يك سلول Iمن سه تا فرمول IF من تعريف كنم فرمول ها به شكل زير ميباشد
1=IF(E3=D3;4577000/D3*(D3+F3);0)
2=IF(E4<D4;4577000/D4*(D4+F4);0)
3=IF(E5>D5;4577000/D5*(E5-F5))
لازم به ذكر است فرمول هاي حقوق براساس كاركرد 30روز حقوق ميباشد كه اين فرمول ها بايد در يك سلول نوشته شوند
لطفاً مرا راهنمائي كنيد با تشكر م-علوي
با عرض سلام
در همین مثال بالا اگرکسانی که مقدار فروششان 1088تومان بود از یک نفر بیشتر باشند استفاده از تابع match به چه صورت خواهد شد؟ایا طریقه نوشتن فرمول فرق خواهد کرد؟
متشکرم
سلام و خسته نباشید خدمت دوست عزیزم
یک سری اموال دارم که شامل ردیف، نام وسیله، شماره پلاک، رنگ پلاک و محل استفاده هستش.
چطور می تونم شرط یا شرطهایی بزارم که یک وسیله با شماره پلاک و رنگ پلاک یکی نباشه و اگه رنگ و شماره یکی شد پیغام بده که تکراریه یا اینکه گیر بده وقت وارد کردن داده تکراری.( یعنی شرط بررسی کردن 2 تا ستون از یک سطر )
ممنون میشم راهنمائی کنید.
ساده ترین راه الحاق محتویات ستون های شماره پلاک و رنگ پلاک در یک ستون کمکی با استفاده از علامت & و سپس اعمال رنگ برای داده های تکراری توسط ابزار conditional formatting بر روی این ستون است.
پاسخ کامل به ایمیل شما ارسال شد
سلام ممنون از شما
من دو تا جدول دارم که جدول اول دارای سه ستون و سه سطر است که در واقعا پاسخ نهایی یه معادله سه مجهولی درجه اول است ستون اول شامل اسامی( کالا ) و ستون اخر پاسخ
در جدول بعدی که تعداد سطر و ستون زیادی دارد در بخشی از ستون اول حدود 10 کالا ( اسامی ) ثبت شده و در یکی از ستون ها باید میزان این کالا قید شود که در جدول قبلی بدست آمده است
سوال : میخواهم سه کالایی که در جدول اول قبلا انتخاب شده ( که ممکن است هر دفعه این کالا در جدول اول تغییر کند حسب نوع کالا و شرایط کار) نتیجه حاصله در جدول اول دقیقا در ستونی مشخص روبروی کالا قید شود. یعنی از بین ده کالایی که داریم سه کالا انتخاب شده و مقدار آن به دست آمده است . باید در ابتدا کالای انتخابی در جدول اول از بین ده کالای موجود که در جدول دوم آمده جستجو و در صورت وجود کالا نتیجه حاصله از جدول اول را در ستون متناظر جدول دوم ثبت کند و در صورت عدم انتخاب آن کالا در ستون متناظر جدول دوم عدد 0 قید گردد. لطفا راهنمایی بفرمایید ممنون از لطف شما
سلام. پاسخ به ایمیل شما ارسال گردید
با سلام.من میخواستم به محض وارد کردن عددی در سلول ستون c (مقدار)عبارت متنی مجاور آن سلول در ستون b (نام محصول)را در سلول ستون d (جواب) نمایش دهد.لطفاً راهنمایی کنید.ممنونم
d c b a
کدمحصول نام محصول مقدار جواب
1234 سیب ؟
5678 موز ؟
سلام. پاسخ به ایمیل شما ارسال گردید
سلام ممنون از شما
من دو تا جدول دارم که جدول اول دارای سه ستون و سه سطر است که در واقعا پاسخ نهایی یه معادله سه مجهولی درجه اول است ستون اول شامل اسامی( کالا ) و ستون اخر پاسخ
در جدول بعدی که تعداد سطر و ستون زیادی دارد در بخشی از ستون اول حدود ۱۰ کالا ( اسامی ) ثبت شده و در یکی از ستون ها باید میزان این کالا قید شود که در جدول قبلی بدست آمده است
سوال : میخواهم سه کالایی که در جدول اول قبلا انتخاب شده ( که ممکن است هر دفعه این کالا در جدول اول تغییر کند حسب نوع کالا و شرایط کار) نتیجه حاصله در جدول اول دقیقا در ستونی مشخص روبروی کالا قید شود. یعنی از بین ده کالایی که داریم سه کالا انتخاب شده و مقدار آن به دست آمده است . باید در ابتدا کالای انتخابی در جدول اول از بین ده کالای موجود که در جدول دوم آمده جستجو و در صورت وجود کالا نتیجه حاصله از جدول اول را در ستون متناظر جدول دوم ثبت کند و در صورت عدم انتخاب آن کالا در ستون متناظر جدول دوم عدد ۰ قید گردد. لطفا راهنمایی بفرمایید ممنون از لطف شما
با سلام خدمت شما
برای این کار می توانید از تابع vlookup استفاده کنی
آموزش تابع vlookup در سایت هست.
اگر نتوانستی نمونه فایل را بفرست تا پاسخ را به ایمیلتان ارسال کنم.
من دو تا جدول دارم که جدول اول دارای سه ستون و سه سطر است که در واقعا پاسخ نهایی یه معادله سه مجهولی درجه اول است ستون اول شامل اسامی( کالا ) و ستون اخر پاسخ
در جدول بعدی که تعداد سطر و ستون زیادی دارد در بخشی از ستون اول حدود ۱۰ کالا ( اسامی ) ثبت شده و در یکی از ستون ها باید میزان این کالا قید شود که در جدول قبلی بدست آمده است
سوال : میخواهم سه کالایی که در جدول اول قبلا انتخاب شده ( که ممکن است هر دفعه این کالا در جدول اول تغییر کند حسب نوع کالا و شرایط کار) نتیجه حاصله در جدول اول دقیقا در ستونی مشخص روبروی کالا قید شود. یعنی از بین ده کالایی که داریم سه کالا انتخاب شده و مقدار آن به دست آمده است . باید در ابتدا کالای انتخابی در جدول اول از بین ده کالای موجود که در جدول دوم آمده جستجو و در صورت وجود کالا نتیجه حاصله از جدول اول را در ستون متناظر جدول دوم ثبت کند و در صورت عدم انتخاب آن کالا در ستون متناظر جدول دوم عدد ۰ قید گردد. لطفا راهنمایی بفرمایید ممنون از لطف شما
متشکر از محتوای مفید سایتتون
با سلام یه فایل دارم که تشکیل شده از سطرهای مختلف که سطر 1 تا 16 وزیر این اعداد مربوط به صورت وضعیت ا تا 16 نوشته شده و سطهای بعدی از 17 تا 32 و به همین ترتیب و در یک سلولهم براساس یک عدد مبلغ زیر اعداد 1 تا 97 را باید پیدا کنه و در اون سلول بذاره تا محاسبات رو انجام بده من از تابع VLOOKUP نمیتونم استفاده کنم چون به چپ نمیره و میخوام از تابع INDEX و MATCH استفاده کنم ولی فقط تو 16 تای اول جواب میده و محدوده MATCH رو نمیشه چند سطر رو بهش بدم آیا تابعی دیگه هست که بتونم به جای MATCH بذارم یا راه حل محدوده زیاد توی تابع MATCH چجوری حل میشه من فرمول ردیف اول رو که جواب داده براتون می نویسم ولی دومی دیگه جواب نمیده ممنونم که راهنمایی می کنید.
اولی درست جواب میده: (INDEX((O4:AD4);MATCH(I3;O3:AD3= حتی محدوده زیاد توی تابع INDEX به تنهایی جواب میده ولی با MATCH خیر
;INDEX((O4:AD4;O7:AD7;O11:AD11;O15:AD15;O18:AD18;O21:AD21;O25:AD25);MATCH(I3=
(O3:AD3;O6:AD6;O10:AD10;O14:AD14;O17:AD17;O20:AD20;O24:AD24);0