いまさら聞けないExcelの使い方講座

【Excel】ミスのない請求書番号の振り方とは?エクセルが自動入力してくれる請求書を作る方法

使いやすい請求書番号にするにはどんなルールで採番する?

 普段の業務の中で、さまざまなコードを発行する場面があると思います。どのようなルールでコードを作成したらいいか、困った経験はありませんか。例えば、請求書番号を作成する場合、顧客コードと日付を組み合わせて付けてみるのはどうでしょうか。

 1日に2回以上、同じ顧客に対して請求書を発行しない限り、請求書番号は一意になります。また、請求書番号は顧客コードと日付で成り立っているのでわかりやすく、意味のない数字や記号の羅列に比べて、入力の誤りも減りそうです。今回は、このように顧客コードと日付を組み合わせて、請求書番号を作成する方法を解説します。なお、後ほど解説しますが、日付データを文字列として扱う際には、ちょっと工夫が必要なので、あわせて覚えておくと便利ですよ。

顧客コードと日付を組み合わせて請求書番号を作ってみよう

 次の「請求一覧」の例を使って、請求書番号を作ってみましょう。B列の「請求書番号」欄に、「顧客コード」と「日付」を組み合わせた請求書番号を表示します。まず、セルB4(①)にどのように表示したいかを考えます。例えば、1行目のデータの場合、顧客コードが「ABC」(②)、日付が「2020/12/1」(③)なので、この2つを「-」でつなぎ、日付のスラッシュは省略して「ABC-20201201」としたいですね。

 文字列を連結したい時に一番簡単方法は、「&」を使うというものです。連結したい文字列を「&」でつないでいけばいいので、とても直感的でシンプルなやり方です。

 今回は、セルE4に入力された顧客コード、文字列の「-」、セルA4に入力された日付をつなげたいので、「=E4&"-"&A4」(④)のように、「&」でつなげて入力すればよさそうです。が、実はうまくいきません。

 この数式を入力して[Enter]キーを押すと、「ABC-44166」(⑤)と表示されてしまいます。なぜ、このように表示されてしまうのでしょうか。それは、「2020/12/1」と表示されているセルA4には、実際は「44166」というシリアル値が入力されているからです(このシリアル値は1900年1月1日から数えて「44166」日目という意味です)。今回は、「2020/12/1」という日付を「20201201」という文字列として扱いたいので、日付データを文字列に変換する必要があります。

 そこで登場するのが、TEXT関数です。TEXT関数は、数値を指定した文字列に変換する関数で、次のような書式で記述します。

 1つ目の引数に変換したい数値を指定し、2つ目の引数にどのような表示形式で文字列に変換するかを指定します。例えば、「2020/12/1」という日付データを「20201201」という文字列に変換したい場合は、2つ目の引数に"yyyymmdd"という表示形式を指定します。

 では先ほど、セルB4に入力した数式はすべて削除し、新たに数式を作成していきましょう。まず、「=E4&"-"&」(⑥)と入力します。顧客コードと「-」を連結するところまでは先ほどと同じです。続けて「TEXT(A4,"yyyymmdd")」(⑦)と入力します。TEXT関数の2つ目の引数を入力する際は、ダブルクォーテーションを忘れないでくださいね。⑦の部分は、セルA4に入力されている日付データを「yyyymmdd」という形式(西暦4桁、月を2桁、日を2桁で表示)に変換するという意味になります。

 数式が入力できたら、[Enter]キーを押して数式を確定します。すると、請求番号が表示されます。今度は想定どおり、「ABC-20201201」(⑧)と表示されましたね。

 オートフィルを使って、セルB4に入力した数式をB列の他のセルにコピーします。セルB4の右下にマウスを乗せるとマウスポインターの形が変わるので、セルB9までドラッグ(⑨)します。

 B列に顧客コードと日付を組み合わせた請求書番号を作成できましたね。

キーワードを連結して覚えやすい請求書番号を作ろう

 今回は、Excelで顧客コードと日付を組み合わせて、請求書番号を作成する方法を解説しました。文字列の連結は「&」を使ったシンプルな方法で行いました。日付データを文字列として扱う際には、TEXT関数を使うことも学びましたね。ぜひトライしてみてください!