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

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

چند روش برای مقایسه ستون در اکسل وجود دارد. در این آموزش روش های مختلفی برای دستیابی به این هدف ارائه می دهم.

ردیف ردیف

روش اول مقایسه ستون ها با ردیف ستون است – اگر ردیف ها مطابقت دارند اطلاعات را در ستون سوم نمایش می دهند.

 

در این حالت ، ما می خواهیم از فرمول زیر استفاده کنیم:

=IF(A1=B1,"Match","")

اگر این شرط برآورده شود ، این فرمول “Match” را برمی گرداند.

 

بیایید آن را در مثال زیر ببینید.

آنچه باید به خاطر بسپارید این است که این فرمول نسبت به بزرگی و کوچکی حروف بی تفاوت است ، بنابراین Germany=Germany بلکه Austria=austria نیز هست .

 

برای ایجاد یک مقایسه حساس به حروف، ما قصد داریم از تابع EXACT استفاده کنیم. این تابع بررسی می کند که آیا رشته ها دقیقاً یکسان هستند و اگر شرط برآورده شود ، TRUE را برمی گرداند ، در غیر این صورت FALSE را برمی گرداند.

=IF(EXACT(A1,B1),"Match","")

مقایسه ردیف به ردیف با استفاده از VBA

حساس به حروف

تاکنون مجبور شدیم از ستون سوم استفاده کنیم تا ردیف های منطبق را بررسی کنیم.

 

این بار ، ما می خواهیم از VBA برای برجسته کردن سطرهای منطبق استفاده کنیم.

Sub CompareColumnsCaseSensitive()
    Set myRange = Selection
    Set firstColumn = myRange.Columns(1)
    Set secondColumn = myRange.Columns(2)
    
    counter = 1
    For Each fcCell In firstColumn.Rows
        Set scCell = secondColumn.Rows(counter)
        If fcCell.Value = scCell.Value And fcCell.Value <> "" Then
            fcCell.Interior.Color = vbGreen
            scCell.Interior.Color = vbGreen
        End If
        counter = counter + 1
    Next
End Sub

توضیح کد:

 

2. ما انتخاب فعلی را به myRange اختصاص می دهیم.

3-4. ستون ها را به متغیرها اختصاص دهید.

6. VBA یک متغیر پیشخوان ایجاد کرد. ما قصد داریم از آن استفاده کنیم تا به ردیف های موجود در ستون دوم مراجعه کنیم.

7 – 14. برای هر سلول (در مورد ما Row) در ستون اول می خواهیم سلول را در همان ردیف مقایسه کنیم اما ستون دوم. آنچه باید به خاطر بسپاریم این است که مقایسه حساس به مورد است.

همچنین یک شرط وجود دارد (fcCell.Value <> “”) که سلول ها نمی توانند خالی باشند ، در غیر این صورت ، آنها می توانند سلولهای موجود را خالی کنند.

10 – 11. در صورت رعایت همه شرایط ، هر دو سلول برجسته می شوند.

همانطور که قبلا ذکر شد، مقایسه کار می کند تنها اگر هر دو مقدار یکسان هستند دقیقا، بنابراین اتریش است اتریش در این مورد.

مورد غیر حساس

دو روش ساده وجود دارد ، شما می توانید مقایسه غیرقابل حساس کنید.

 

گزینه اول

در حین مقایسه ، مورد هر دو مقدار کوچک یا بزرگ را کد کنید.

 

تغییر دادن

If fcCell.Value = scCell.Value

به

If LCase(fcCell.Value) = LCase(scCell.Value)

گزینه دوم

به جای تغییر مقادیر برای حروف کوچک ، می توانید کد زیر را به عنوان اولین خط کد ما (قبل از زیرروال بودن) اضافه کنید.

Option Compare Text

این کار باعث می شود همه مقایسه های متن بی حساس شوند.

 

تمام سلولهای همسان را برجسته کنید

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

Sub CompareColumnsCaseSensitive()
    Set myRange = Selection
    myRange.Interior.Color = xlNone
    Set firstColumn = myRange.Columns(1)
    Set secondColumn = myRange.Columns(2)
    
    For Each fcCell In firstColumn.Rows
        For Each scCell In secondColumn.Rows
            If fcCell.Value = scCell.Value And fcCell.Value <> "" Then
                fcCell.Interior.Color = vbGreen
                scCell.Interior.Color = vbGreen
            End If
        Next
    Next
End Sub

این نتیجه را به ما می دهد.

این خط را در ابتدای فیلمنامه اضافه کنید.

Option Compare Text

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

دیدگاهتان را بنویسید

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