مقایسه دو لیست در اکسل

مقایسه دو لیست در اکسل
۴.۸/۵ - (۲۵ امتیاز)

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

مشخص کردن موارد مشترک حالت های مختلفی دارد:

۱- می توان موارد مشترک را از طریق فرمول نویسی بصورت جداگانه لیست کرد.
۲- می توان با فرمول نویسی سل روبروی هر مورد مشترک را متمایز کرد.
۳- می توان موارد مشترک در یک لیست را با تغییر رنگ خاصی متمایز کرد.

در این آموزش نحوه متمایز کردن موارد مشترک از طریق اعمال فرمت (رنگ سل) را شرح می دهم:

مطابق شکل ۱ لیستی از نام شهرها داریم (لیست۱). حالا میخواهیم شهرهایی از لیست ۱ که در لیست ۲ وجود دارند را رنگی کنیم.

داده های موجود برای مقایسه

شکل ۱- مقایسه دو ستون در اکسل – داده های موجود برای مقایسه

همانطور که می دانید عمل رنگ کردن یا بعبارتی اعمال فرمت های مختلف بر روی یک سل بر اساس یک شرط، از طریق Conditional Formatting انجام می شود.

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

=COUNTIF($D$2:$D$5,B2)

خروجی این تابع صفر است زیرا شهر اصفهان در لیست ۲ وجود ندارد.

حالا برای اینکه در صورت موجود بودن، فرمت مورد نظر بر روی سل اعمال شود، باید شرط را بصورت منطقی دربیاوریم. که اگر شرط برقرار بود فرمت اعمال شود. پس تابع Countif را با IF ترکیب می کنیم:

=if(COUNTIF($D$2:$D$5,B2)>0,1,0)

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

روی سل B2 قرار گرفته و از مسیر زیر و مطابق شکل ۲، فرمول بالا را وارد می کنیم و فرمت دلخواه را از قسمت Format تنظیم میکنیم و Ok را می زنیم:

Home> Conditional_Formatting> New Rule> Use a formula to determine which cells to format

استفاده از Conditional Formatting

شکل۲- مقایسه دو ستون در اکسل – فرمول نویسی در Conditional Formatting

حالا کافیست شرط مورد نظر را به محدوده لیست ۱ انتقال دهیم. برای این کار ۲ روش وجود دارد:

  • Format Painter : بر روی سل B2 قرار می گیریم و از تب Home گزینه format painter را کلیک کرده، سپس محدوده مورد نظر برای اعمال فرمت را انتخاب میکنیم. (که در اینجا کل لیست۱ یا محدوده B2:B13 است)
  • مطابق شکل ۳ و از مسیر زیر، محدوده اعمال فرمت شرطی مورد نظر را تنظیم می کنیم:

Home> Conditional_Formatting> Manage Rule> Applies to

گسترش Conditional Formatting در شیت

شکل۳- مقایسه دو ستون در اکسل – تنظیم محدوده مورد نظر برای اعمال فرمت شرطی

با زدن Apply فرمت شرطی بر روی محدوده مورد اعمال می شود. یعنی مانند شکل ۴ شهر هایی که تعداد آنها در لیست ۲ بیش از صفر است رنگی می شود.

مقایسه دو لیست در اکسل - مقایسه دو لیست
شکل۴- مشخص شدن مواردی از لیست ۱ که در لیست ۲ وجود دارند

نکته:
می توان پس از انجام این مراحل، ستون لیست ۱ فیلتر کرده و از طریق  Filter By color و انتخاب رنگ اختصاص داده شده در Conditional Formatting، همه سل های رنگی شده را بصورت یکجا مشاهده کنیم یا حتی آنها را کپی کرده و در جای دیگری Paste کنیم.
134

من سامان چراغی هستم. دانش آموخته مقطع فوق لیسانس دانشگاه تربیت مدرس در رشته مهندسی صنایع. از سال 1388 اکسل و برنامه نویسی VBA رو به صورت حرفه ای شروع کردم.

دیدگاه کاربران
  • صالح ۲۶ شهریور ۱۳۹۹ / ۹:۲۶ ب٫ظ

    سلام م نیاز دارم اعداد داخل یک سلول رو در همان سلول تقسیم بر۱۰۰۰ یا ضربدر ۱۰۰۰ کنم نه اینکه توی یک سلول دیگه با فرمول.ممنون

    • سامان چراغی ۲۹ شهریور ۱۳۹۹ / ۱۱:۳۴ ق٫ظ

      سلام
      از Paste Special استفاده کنید.

  • میلاد ۱۹ خرداد ۱۳۹۹ / ۱۰:۲۹ ب٫ظ

    درود
    یک سوال داشتم . فرض کنید ۲ ستون داریم یکی تاریخ و بعدی میزان فروش . حالا میخوام روز هایی که فروش یکسان دارند از هم کم شوند تا مشخص بشود هرچند روز یکبار میزان فروش یک عدد تکراری است . مثلا ۱۸خرداد میزان فروش ۴۰۰ تومن و ۱۸ تیر فروش دوباره ۴۰۰ تومن ، پس هر ۳۰ روز یکبار فروش ۴۰۰ تومن میشود . واقعا ممنون میشم اگه راهنمایی کنید

    • آواتار
      حسنا خاکزاد ۲۱ خرداد ۱۳۹۹ / ۹:۵۲ ق٫ظ

      درود
      با if میتونید مساوی بودن میقادیر فروش رو بدست بیارید
      بعد بین فواصل میانگین بگیرید یا هر سیاست دیگه ای که مد نظر هست

  • لعل یوسف ۴ خرداد ۱۳۹۹ / ۰:۰۹ ق٫ظ

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

  • علی ۲۸ مرداد ۱۳۹۸ / ۲:۰۷ ب٫ظ

    با سلام و خسته نباشید
    خانم مهندس میخوام سمت اکسل رو تغییر بدم( از راست به چپ ) به شرطی که ترتیب ستون ها وداده ها ثابت بمونه . از page layout عوض میکنم ولی ترتیب داده ه مثل حالت قبل نمیشه .میشه راهنمایی کنیین باتشکر

    • آواتار
      حسنا خاکزاد ۲۹ مرداد ۱۳۹۸ / ۱۰:۲۵ ق٫ظ

      درود بر شما
      تغییر که میکنه
      باید با فمرول های index یا offset جهت داده ها رو تغییر بدید

      • محمد کشاورز ۱ بهمن ۱۳۹۸ / ۱۲:۳۵ ب٫ظ

        سلام ببخشید اگر بخواهیم conditional formating در همه شیتها اعمال شود باید چیکر کرد؟

        • آواتار
          حسنا خاکزاد ۵ بهمن ۱۳۹۸ / ۹:۲۸ ب٫ظ

          درود بر شما
          روش های انتقال فرمت برای انتقال فرمت شرطی هم قابل استفاده هست مثل format painter
          فقط باید منطق فرمول نویسی درست باشه

  • مجید ۲۲ تیر ۱۳۹۸ / ۱۰:۴۶ ق٫ظ

    سلام و درود
    در شیت اول ۱۳۰ ردیف به شماره چک های متفاوت وجود دارد و در شیت دوم همین شماره چک ها به علاوه شماره چک های دیگر وجود دارد
    میخوام شرطی بذارم اطلاعات شیت دوم بر اساس شیت اول سورت و مرتب باشه
    ممنون میشم راهنماییم کنید

    • سامان چراغی ۲۲ تیر ۱۳۹۸ / ۲:۱۴ ب٫ظ

      سلام
      ساده ترین راه اینه که با استفاده از Vlookup اطلاعات شیت اول رو به شیت دوم منتقل کنید و شیت دوم رو مرتب کنید.
      راه دیگه استفاده از Data Model یا Power Pivot هست.

      • مجید ۲۲ تیر ۱۳۹۸ / ۴:۵۵ ب٫ظ

        ممنون میشم راهنمایی کوچیک در این رابطه با استفاده از vlookup رو توضیح مختصر بدین
        یا کلمات کلیدی جست و جو کردن آموزش این روش با استفاده از Vlookup در گوگل چی هست
        با تشکر

    • آواتار
      حسنا خاکزاد ۲۲ تیر ۱۳۹۸ / ۹:۲۱ ب٫ظ

      درود بر شما
      با advance filter ه میتونید انجام بدید. شرط فیلتر (شماره چک های شیت اول) رو از سلول دیگه ای بگیرید
      داخل سایت سرچ کنید مقاله مرتبط رو پیدا میکنید

  • سجاد ۲۱ اردیبهشت ۱۳۹۸ / ۱۱:۵۳ ق٫ظ

    سلام و عرض ادب.
    من ۲ ستون دارم که یکی از ستون ها اسم و ستون دیگر عدد می باشد . میخواهم شرطی اعمال کنم که ستون عدد را بخواند و اگر بزرگتر از مقدار مشخص شده از طرف من بود مقدار اسم هر ردیف را برای من در ستون سوم مشخص کند.
    لطفا راهنمایی فرمایید.
    باتشکر

    • آواتار
      حسنا خاکزاد ۲۱ اردیبهشت ۱۳۹۸ / ۸:۱۰ ب٫ظ

      درود بر شما
      ابن شرطی که قراره بدید از کجا میاد
      در نهایت اینکه باید با نرکیب if و vlookup احنمالا حلش کنید

  • سعید ۱۹ اردیبهشت ۱۳۹۸ / ۶:۱۵ ب٫ظ

    سلام
    من یک کاری میخوام انجام بدم با اکسل به این صورت که من در ستون اول چند تا اسم کالا دارم مثل برنج – لپه – گوشت که اینها چندین بار بصورت زیاد تکرار شده است
    در ستون سوم و چهارم هر یک از این کالا ها بصورت یونیک نوشته شده و یک کد برای هر کالا هست مثلا برنج کد ۱ لپه کد ۲ گوشت کد ۳
    حالا میخوام این کار رو بکنم
    مثلا در ستون اول ۵۰۰ تا برنج نوشته ۲۰۰ تا لپه و ۳۰۰ تا گوشت که بصورت غیر مرتب پشت سر هم هستند
    حالا میخوام کاری کنم که بصورت اتومات ردیف اول ستون یک اسم کالا رو بخونه و بعد بره در ستون سوم همون اسم کالا رو پیداش کنه و بعد از پیدا کردن مقایسه کنه که اگه هم نام بود اونوقت کد کالا رو از ستون چهارم برداره و در ستون دوم بزاره
    چطور میشه اینکار رو کرد؟

    • آواتار
      حسنا خاکزاد ۲۱ اردیبهشت ۱۳۹۸ / ۸:۲۱ ب٫ظ

      درود بر شما
      ساختار فایل مشخص نیست
      ولی برای پیدا کردن، میتونید از countif استفاده کنید که ببینه آیا اون کلمه د راون لیست هست یا نه
      بعد که پیدا کرد، کدشو با vlookup بخونه بیاره

  • Hamed ۱۹ فروردین ۱۳۹۸ / ۱۰:۵۸ ق٫ظ

    سلام خسته نباشید من یه مشکلی دارم حدوده ۲۰۰۰ سطر و چهار ستون عدد نزدیک به هم دارم میخواستم بدونم چجوری میشه یه نمودار داشته باشم که براساس تکرار هر عدد و چون داده ها زیادن میخوام فقط ۱۰ تای پر تکرار رو نشونم بده. میشه کمکم کنین لطفا

    • آواتار
      حسنا خاکزاد ۱۹ فروردین ۱۳۹۸ / ۱۱:۱۴ ق٫ظ

      درود بر شما
      ده تای پر تکرار رو پیدا کنید، جدا کنید و نمودار رو رسم کنید
      تکرار داده ها رو میتونید از طریق تابع countif حساب کنید. بعد ده تا که از همه بیشتره رو انتخاب کنید. با سورت، فیلتر، cnditional formatting، فرمول نویسی و …. کلا روش ها مختلف و متنوع هست . بسته به نیاز باید انتخاب کنید.
      تابع countif رو هم از این لینک مطالعه کنید:
      https://excelpedia.net/countif-function/

  • آرش ۲۷ بهمن ۱۳۹۷ / ۱:۲۶ ق٫ظ

    با سلام و خسته نباشید.
    من دو ستون دارم که لغت هستند و به طور نامنظم قرار گرفته اند و میخوام لغات شبیه هم رو در دو ستون مقابل هم قرار دهم میخوام اگه میشه راهنمایی کنید

    • آواتار
      حسنا خاکزاد ۲۷ بهمن ۱۳۹۷ / ۹:۵۷ ق٫ظ

      درود بر شما
      سوال واضح نیست
      منظور از مرتب کردن چی هست؟
      شاید vlookup کمکتون کنه

  • محمدرضا عزیزی ۲ آذر ۱۳۹۷ / ۵:۱۸ ب٫ظ

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

    • آواتار
      حسنا خاکزاد ۵ آذر ۱۳۹۷ / ۹:۱۵ ق٫ظ

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

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *