Com2 Blog

翻訳とWeb制作を基礎から分かりやすく学ぶ

個人的によく使うExcelの関数 文字列・値の比較

excel-formula-compare

翻訳のソースファイルや用語集のExcelが再支給された場合、新旧ファイルの違いを正確に把握したいと思いませんか。そんな時に私がしている差分の確認方法をご紹介します。前もって言っておきます。ごく基本的なものばかりです。

クライアントから「ここが変更されました」と連絡頂ける場合もあれば、そうでない場合もあります。そんなときは「どこが変わったのですか」と聞けばよいのかもしれませんが。私はまず自分で状況を把握したい衝動に駆られます。

1. 大文字小文字を区別する—EXACT関数

A列とB列に比較したい文字列をコピーし、C列に「EXACT」関数を入力して比較します。

=EXACT(A2,B2)

exact-1

A列の値とB列の値が同一であれば「TRUE」、そうでなければ「FALSE」が返されます。完全に一致していないと「FALSE」になります。つまり、「Alpha」や「Echo」のように大文字と小文字が違っていても「FALSE」となります。

exact-2

2. 大文字小文字を区別しない—IF関数その1

A列とB列に比較したい文字列をコピーし、C列に「IF(論理式,真の場合,偽の場合)」を入力します。

=IF(A1=B1,”TRUE”,”FALSE”)

if-1

A列の値とB列の値が同一、あるいは大文字小文字の違いはあっても同じスペリングであれば「TRUE」、そうでなければ「FALSE」が返されます。つまり、先ほどと違って「Alpha」や「Echo」のように大文字と小文字が違っていても「TRUE」となります。

if-2

3. 空欄は無視したい—IF関数その2

A列が空欄の場合は結果も空欄にしたい場合は、C列に次のようなIF関数を入力します。

=IF(A1=””,””,EXACT(A1,B1))

A列かB列が空欄の場合は結果も空欄にしたい場合は、C列に次のようなIF関数を入力します。

=IF(A1=””,””,IF(B1=””,””,EXACT(A1,B1)))

if-2-1

この例では、B列が空欄の場合、C列も空欄となります。

if-2-2

4. 関数入力のちょっとした工夫

行数が多いExcelの場合、1行目に関数を入力してから最終行までドラッグアンドドロップするのは億劫です。A列とB列を比較する場合、私は次のようにしています。

  1. データの存在する最初の行のC列を選択します。
    easy-insert-1
  2. Shift + Ctrl + Endを押します。
    easy-insert-2
  3. Shift + →(右矢印)を押します。
    easy-insert-3
  4. F2を押します。(最初に選択したセルが編集モードになります。)
    easy-insert-4
  5. 関数を入力します。
    easy-insert-5
  6. Ctrl + Enterを押します。
    easy-insert-6

これで選択した範囲に同じ関数が一括で入力できます。

ちなみに、このようなショートカットやキーボード操作は「作業効率アップ! Excelでよく使うショートカットとキーボード操作まとめ」で紹介しています。

5. 番外編(関数すら使わない)

まず、テキストファイルを2つ用意します。エンコードはUTF-8かUTF-16がよいです。それぞれに旧ファイルと新ファイルの内容をペーストして保存します。この2つのファイルを比較ツールで比較します。

私はこのような比較には「WinMerge」をよく使用しています。

変更箇所が多いと何だか分からなくなってしまうので使えません。


コメント

コメントを残す