データベースを運用する中で、データに含まれる不要なスペースを削除したいというニーズが出てきます。例えば、氏名の間にあるスペースを削除したい、データインポートしたら不要なスペースが至る所にあったので削除したいというようなことです。
こういった場合に活用できる関数として「Replace関数」が挙げられますので、今回はこの関数に着目をして紹介をします。
サンプルデータについて
今回は氏名の情報に対して、全角スペースを半角スペースに統一する方法と、スペースを削除する方法を紹介します。サンプルデータは以下に示す氏名の情報とします。なお、スペースは半角でも全角でもどちらでも構いません。(サンプルでは最後のレコードだけ半角スペースとしています。)
氏名 |
鈴木 太郎 |
佐藤 次郎 |
渡辺 花子 |
Replace関数について
データ処理で用いるReplace関数は次のように定義されます。
Replace( expression, find, replace [, start ] [, count ] [, compare ] )
ここで、各引数について見ていきましょう。
引数 | 説明 |
expression | 必須。 置き換える前のサブ文字列が含まれる文字列式です。 |
find | 必須。 検索対象のサブ文字列です。 |
replace | 必須。 置き換えるサブ文字列です。 |
start | 省略可能。 expression 内でサブ文字列の検索を始める位置です。 省略すると、1 と見なされます。 |
count | 省略可能。 実行するサブ文字列置換の回数です。 省略した場合の既定値は -1 で、可能な置換をすべて行います。 |
compare | 省略可能。 サブ文字列を評価するときに使う比較の種類を示す数値です。 値については、「設定」セクションをご覧ください。 |
特に、第1~3引数は使用頻度が高くなりますので、その使い方を覚えておいていただければと思います。
スペース削除方法について
サンプルデータでは、苗字と名前の間にスペースが含まれていますがこれらを削除するために、Replace関数によるデータ処理を行います。
まずは、クエリを作成し、【フィールド】項目に「氏名」フィールドと、「スペース削除」フィールドとして、「Replace([氏名], ” “, “”)」を追加します。この際、第1引数は「氏名」フィールドを指定し、第2引数は「スペース」を、第3引数は「Null」を設定しています。
これにより、設定が完了しましたので、データシートビュー画面に切り替えます。
このように、Replace関数を用いて不要な文字を削除することができました。
また、第3引数にアンダーバーを適用して「Replace([氏名], ” “, “_”)」と表記すれば、苗字と名前の間にアンダーバーが設定して出力することもできます。
さらには、Replace関数を応用することで、「()」等を削除することもできます。例えば、「Replace(Replace(expression,”(”,””),”)”,””)」とすれば、カッコを削除してデータを出力することも可能です。このように、Replace関数は文字列の置換操作をする際に便利な関数なので、条件に応じて適用していただければと思います。
まとめ
今回はデータ中に含まれる文字、文字列の削除方法としてReplace関数を紹介しました。特に、「スペース」の削除は様々な機会で出くわすことがあると思いますので、紹介した方法を覚えておいていただくことで、 飛躍的に業務効率の改善を図ることが期待できます。
スポンサーリンク
コメント