会社を卒業したのんちおじさん。

人生は知恵と工夫と思いやり!
優しさほど強いものはなく、本当の強さほど優しいものはない -ラルフ・W・ソックマン-

文字列の比較

2007-03-21 15:03:48 | Excelのお話
文字列を比較する場合「=IF(A1=B1,"一致","不一致")」とした場合下図のように「一致」と判定される。大文字と小文字は同一と見なされるからです。




ではどうすれば差異を判定してもらえるかと言うと「EXACT関数」が役に立ちます。




追加のTIPSとして指定文字列が範囲内に含まれているかを判定する方法として「配列式」が使えます、

{=IF(OR(EXACT(A1:A15,B1)),"ある","ない")}

だがここでひとつ注意、"{}" の入力方法は Ctrl+Shift を押しながら[Enter]キーで確定しないと入力できません。



マクロではこんな感じ

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

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。