文字列を比較する場合「=IF(A1=B1,"一致","不一致")」とした場合下図のように「一致」と判定される。大文字と小文字は同一と見なされるからです。
![](https://blogimg.goo.ne.jp/user_image/0c/d0/3202af41bd915c4f48103d5b96a1f8b8.jpg)
ではどうすれば差異を判定してもらえるかと言うと「EXACT関数」が役に立ちます。
![](https://blogimg.goo.ne.jp/user_image/74/f8/c8557696e82c15203a7a3c12afc9365c.jpg)
追加のTIPSとして指定文字列が範囲内に含まれているかを判定する方法として「配列式」が使えます、
{=IF(OR(EXACT(A1:A15,B1)),"ある","ない")}
だがここでひとつ注意、"{}" の入力方法は Ctrl+Shift を押しながら[Enter]キーで確定しないと入力できません。
![](https://blogimg.goo.ne.jp/user_image/6d/7b/7870440c106fa483742ad6583b97bd69.jpg)
マクロではこんな感じ
Sub 文字列比較()
Dim nh As Integer
With Selection.CurrentRegion
For nh = 1 To .Rows.Count
If StrComp(Cells(nh, .Columns.Count - 1), _
Cells(nh, .Columns.Count), vbBinaryCompare) = 0 Then
Cells(nh, .Columns.Count + 1).Value = "一致" Else
Cells(nh, .Columns.Count + 1).Value = "不一致" End If
Next
End With
End Sub
![](https://blogimg.goo.ne.jp/user_image/0c/d0/3202af41bd915c4f48103d5b96a1f8b8.jpg)
ではどうすれば差異を判定してもらえるかと言うと「EXACT関数」が役に立ちます。
![](https://blogimg.goo.ne.jp/user_image/74/f8/c8557696e82c15203a7a3c12afc9365c.jpg)
追加のTIPSとして指定文字列が範囲内に含まれているかを判定する方法として「配列式」が使えます、
{=IF(OR(EXACT(A1:A15,B1)),"ある","ない")}
だがここでひとつ注意、"{}" の入力方法は Ctrl+Shift を押しながら[Enter]キーで確定しないと入力できません。
![](https://blogimg.goo.ne.jp/user_image/6d/7b/7870440c106fa483742ad6583b97bd69.jpg)
マクロではこんな感じ
Sub 文字列比較()
Dim nh As Integer
With Selection.CurrentRegion
For nh = 1 To .Rows.Count
If StrComp(Cells(nh, .Columns.Count - 1), _
Cells(nh, .Columns.Count), vbBinaryCompare) = 0 Then
Cells(nh, .Columns.Count + 1).Value = "一致" Else
Cells(nh, .Columns.Count + 1).Value = "不一致" End If
Next
End With
End Sub