چند روش برای مقایسه ستون در اکسل وجود دارد. در این آموزش روش های مختلفی برای دستیابی به این هدف ارائه می دهم.
ردیف ردیف
روش اول مقایسه ستون ها با ردیف ستون است – اگر ردیف ها مطابقت دارند اطلاعات را در ستون سوم نمایش می دهند.
در این حالت ، ما می خواهیم از فرمول زیر استفاده کنیم:
=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
اگر می خواهید مثال بیشتری در مورد نحوه مقابله با نسخه های تکراری مشاهده کنید ، می توانید این آموزش را بخوانید . در آنجا یاد می گیرید که چگونه ستون ها را با اندازه های مختلف و با رنگ های مختلف برجسته کنید.
ورود به سایت