経理高速化において、Excelは欠かすことのできない超便利ツールです。たとえば仕訳データを自動で作ってCSV化し、会計システムにインポートしたり、あるいは売上データを集計して請求書まで自動で作ってしまうなど、工夫次第で様々な使い方ができます。どんどん自動化できるExcelシートを作って、実際の作業においてはなるべく手や頭を動かさなくていいようにするのが、経理高速化の王道です。
今回は、そんな経理の自動化に欠かせない「文字列操作」のテクニックをご紹介します。これを使えば、摘要や備考の記載内容まで自動で作り出すことができてしまうのです。数値だけでなく、文字列も自動化することで、経理業務は飛躍的に高速化します。
文字列とは、文章や単語など文字の連なったものです。厳密な定義ではないですが、概ねExcelで扱うデータのうち数値と日付でないもの、とお考えください。
1.文字列操作の基本
1-1.数式上の文字列は「”」で囲う
まず基本中の基本ですが、数式(イコールで始まる計算式)に文字列を組み込む場合は「”」(ダブルクオーテーションマーク)で囲います。文中で引用があったときにカギカッコなどがあると読みやすいように、Excelではダブルクオーテーションマークがあると「文字列の引用なんだな」と機械が判断してくれます。
1-2.文字列の連結は「&」でつなぐ
数式中は、「&」(アンドマーク)を入れると文字列を連結することができます。たとえば、
=”株式会社経理救援隊”&”御中”
という数式を組むと、「株式会社経理救援隊御中」とつながった文字列が表示されます。
つなげる文字列をセル参照することもできます。たとえば、
=A1&”御中”
という数式を組み、A1セルに「株式会社経理救援隊」と入力しておくと、やはり「株式会社経理救援隊御中」という文字列になります。
&でつなぐと計算結果を文字列に反映させることもできます。たとえば、
=6+3&”月”
という数式にしておくと、「9月」という文字列が結果として返されます。
後述する関数を使った文字列操作の結果も&でつなぐことができますので、たとえば「SUMIFで自動取得した数字に『月』を付ける」とか「VLOOKUPで自動取得した会社名に『御中』を付ける」といったことも可能です。SUMIF関数やVLOOKUP関数の使い方は以下をご参照ください。
▶経理を高速化するSUMIF関数の基本と5つの超便利機能
▶経理の文書作成を高速化する【VLOOKUP関数】の使い方
2.文字列の一部を一括で書き換える
2-1.文字列の一部を手動で書き換える
以下のように複数のセルに書かれた文字列のうち、「1月」の部分を「2月」に書き換えたいとします。
この場合は、手作業にはなりますがExcelの置換機能を使いましょう。
まずキーボードの Ctrl + H を同時に押します。すると以下のウィンドウが表示されます。
上記のとおり「検索する文字列」に置き換える元の文字列、「置換後の文字列」に置き換えた後の文字列を入力し、「すべて置換」をクリックすると、シート内のすべての文字列が指示通り書き換えられます。
このとき「置換後の文字列」を空欄にしておくと、「検索する文字列」に入力した文字列を一括削除することもできます。
なお、置換の対象となるセルを限定したい場合は、Ctrl + Hの前にマウスで範囲を指定しておきます。
2-2.文字列の一部を自動で書き換える
毎回同じ文字を別の文字に書き換える作業が発生する場合は、SUBSTITUTE関数で自動化しましょう。
例として、下表のA列から、「株式会社」を「㈱」に書き換えてB列に転記し、株式会社でない場合やすでに㈱の場合はそのまま転記する方法を見ていきましょう。
SUBSTITUTE関数の書き方は以下のとおりです。
これを使って自動で書き換えると、以下の通りになります。
3.余計なスペースを取り除く
システムから出力したデータの場合、たとえば勘定科目の後ろに文字数を合わせるためのスペース(空白)が設けられていることがあります。
これを取り除くためには前述の置換も有効ですが、自動化するならTRIM関数を使いましょう。文字列の頭とお尻に不自然に付けられたスペースや連続したスペースを削除してくれます。単語間のスペースは1つだけ残されますので、英単語が変にくっついてしまうことはありません。
4.文字列の一部を抜き出す
文字列の最初の数文字を抜き出したり、真ん中の数文字を抜き出すには、以下の関数を使うことになります。
4-1.LEFT関数で最初から抜き出す
文字列の頭から文字を抜き出す場合はLEFT関数を使います。「左から」ということで覚えやすいですね。LEFT関数の書き方は以下のとおりです。
たとえば、
=LEFT(B3,3)
という式であれば、「B3セルに入っている文字列のうち頭から3文字を抜き出す」という意味になります。
4-2.MID関数で中間から抜き出す
文字列の中間にある数文字を抜き出したい場合は、MID関数を使います。書き方は以下のとおりです。
たとえば、
=MID(B3,4,3)
という式であれば、「B3セルに入っている文字列のうち、4文字目からスタートして3文字を抜き出す」ということになります。
4-3.指定文字まで抜き出す
以下の部課一覧の中から、LEFT関数で「〇〇部」までを抜き出したいとします。
それぞれ「〇〇部」の文字数が異なるため、LEFT関数で単純に「3文字目まで」とすると、セルコピーしたときに部署によっては中途半端な抽出になってしまいます(下図)。
そこで、文字数指定を「3」にする代わりに、「特定の文字までの文字数」で指定しましょう。この「特定の文字までの文字数」を数える関数が、FIND関数です。
たとえば、「A7セルの中では❝部❞という文字は何文字目か?」を調べるには、以下の数式になります。
=FIND( “部” , A7)
FIND関数を使って文字数を調べたのち、その文字数でLEFT関数を使うと、文頭から「部」の文字までを抜き出してくれます(下図)。
5.数値と文字列の変換
5-1.数値を文字列にする
数値を文字列に変換するためには、TEXT関数を使います。
TEXT関数では、上図のとおり、そのまま文字列化することもできますし、3桁ごとにカンマを付けた文字列にすることも、指定の桁数になるよう頭にゼロを付した文字列にすることもできます。
TEXT関数は以下のように書きます。
2つめの引数である「表示形式」を変えることで、いろいろな形のデータにすることができます。表示できる形式は上記の他にもたくさんあるので、詳しくはMicrosoftの公式サポート[外部]をご覧ください。
5-2.文字列を数値にする
文字列で書かれた数字の羅列を、Excel上で数値として認識するためには、「×1」をしてあげるだけで十分です。
6.日付の文字列操作
Excelでは、日付は数値や文字列とは異なる特殊なデータとして扱われます。したがって、日付を扱うときは特殊な数式が必要になります。
6-1.「〇年〇月」を文字列にする
経理で日付に関して一番必要になるのが、「年数」と「月数」でしょう。以下では日付データから「〇年〇月」という文字列を様々な形で表示しています。
日付データから年、月、日のそれぞれを数値として抜き出す関数は、それぞれYEAR関数、MONTH関数、DAY関数です。これらは数値としての出力になりますので、桁数などの表示形式は変更できません。
桁数を変更したりや和暦を使用したいときは、TEXT関数を使いましょう。2番目の引数である「表示形式」にて、「y」は西暦の年、「m」は月、「d」は日を表します。また、「g」は和暦の元号を、「e」は和暦の年数を表します。
7.全角と半角、大文字と小文字
当社では記帳の際の摘要入力は、カタカナや英数字はすべて半角にすることを推奨しています。全角と半角が入り混じると検索の際に不便だからです。
このような記帳ルールがある場合、以下の関数を覚えておくと便利です。
関数 | 内容 |
ASC | 全角文字を半角にする |
JIS | 半角文字を全角にする |
LOWER | 大文字を小文字にする |
UPPER | 小文字を大文字にする |
PROPER | 各単語の頭文字を大文字、以下を小文字にする |
以上見てきた機能や関数については、「とにかく使ってみる」ことがマスターへの近道です。こんな方法もあるのだということを頭に入れておき、使えそうな場面があれば積極的に試してみましょう。
コメント