受注データの電話番号がCSV取込で弾かれる — ハイフンの全角/半角・マイナス記号混同という盲点
公開:
得意先の電話番号を入れた受注データをCSVで取り込んだら、その列だけ「電話番号の形式が正しくありません」と弾かれた。画面で見ると「03-1234-5678」と、どこもおかしくないように見える——送り状の発行システムや基幹システムへの取込で、こうしたことが起きることがあります。
原因としてよくあるのは、数字ではなく区切りのハイフンです。見た目はほとんど同じでも、コンピューターの中では別の文字として扱われる「ハイフンに似た記号」がいくつもあり、取込先が半角のハイフンしか受け付けない場合、それ以外の記号が混ざった行はエラーになります。この記事では、どんな記号が紛れ込みやすいのか、どう見つけてどう直すのかを、受注事務の手元でできる範囲に絞って整理します。
見た目は同じでも、別の文字
電話番号の区切りに使われがちな記号を並べると、次のようになります。
| 記号 | 名前 | よく紛れ込む経路 |
|---|---|---|
| - | 半角ハイフン(ハイフンマイナス) | 多くの取込先が受け付ける、いわば「正解」の記号 |
| - | 全角ハイフン(全角のマイナス) | 日本語入力のまま「-」キーを押したとき |
| ー | 長音記号(カタカナの伸ばし棒) | 日本語入力の変換で「ー」が選ばれたとき |
| − | マイナス記号 | 記号の変換候補から選んだとき、他の文書からのコピー |
| ‐ ― – | ハイフン・ダッシュ類 | Wordなどで作った文書、Webページからのコピー |
画面のフォントによっては、これらがほとんど見分けられません。取込先の多くは電話番号を「半角数字と半角ハイフン」または「半角数字のみ」と決めているため、全角や似た記号が1つでも混ざると、その行だけ形式違反としてエラーになります。取込先によってはエラーにならずに受け付けてしまい、あとで検索や送り状の印字で困る、という形で表に出ることもあります。
受注データで混ざりやすい場面
受注事務の現場では、次のような経路で似た記号が入りやすくなります。
- 日本語入力のまま電話番号を打った: 数字は全角・半角どちらでも見た目が近く、区切りだけ全角の「-」や長音の「ー」になっていることがあります
- 注文書のFAXやメールからコピーした: 取引先が作った注文書のハイフンが、もともとマイナス記号やダッシュだった場合、そのまま持ち込まれます
- 担当者によって入れ方が違う: 同じ得意先マスタでも、入力した人によって「03-1234-5678」「03(1234)5678」「0312345678」と書き方が揺れていることがあります
- Excelで開いて保存した: 電話番号の列が数値として扱われると、ハイフンなしの番号は先頭の0が消えます(「0312345678」が「312345678」になる)。0落ちの詳しい対処は基幹システムへのCSV取込でよくあるエラーと対処法で整理しています
最後の0落ちは、ハイフンを取り除いて「数字のみ」にそろえたときほど起きやすくなる点に注意が必要です。ハイフン付きの「03-1234-5678」はExcelが文字として扱うので0は消えませんが、ハイフンを外した瞬間に数値と見なされるためです。
どれが混ざっているかを見つける
目で見て分からない記号を探すには、次の方法が手軽です。
- エラーメッセージの行番号を確認する: 取込先が「◯行目」と示してくれる場合は、その行の電話番号を消して半角で打ち直すのが一番早い対処です
- Excelの検索で記号を1種類ずつ探す: 「検索と置換」(Ctrl+F)で、全角の「-」、長音の「ー」、マイナス記号「−」を順に検索し、電話番号の列に何件あるかを確かめます。記号は上の表からコピーして検索欄に貼り付けると確実です
- 文字数を数える:
=LEN(B2)で文字数を出すと、半角数字とハイフンだけなら固定電話は12文字前後になります。括弧や空白が混ざっている行は、桁数が揃わないので見つけやすくなります
直し方: 置換で半角ハイフンにそろえる
見つかったら、電話番号の列だけを選んだ状態で「検索と置換」(Ctrl+H)を使い、似た記号を半角のハイフン「-」に置き換えます。全角の「-」、長音の「ー」、マイナス記号「−」、ダッシュ類を、1種類ずつ順に置換していきます。
全角を半角にそろえるExcelのASC関数(=ASC(B2))も便利ですが、これだけでは直りきらない場合があります。たとえば長音の「ー」は、ASC関数で半角カナの「ー」になるだけで、ハイフンにはなりません。ASC関数で数字を半角にそろえたあと、置換で区切り記号を半角ハイフンに統一する、という2段階で考えておくと安心です。
取込先が「ハイフンなし・数字のみ」を求める場合は、区切り記号を空欄に置換して取り除きます。このときは先に電話番号の列の表示形式を「文字列」にしておかないと、上で書いたように先頭の0が消えるので、順番に気をつけてください。
なお、電話番号の正しい書き方は取込先ごとに決まっています。ハイフンありかなしか、括弧を使ってよいか、桁数の上限はいくつかは、取込先の項目仕様(CSVのレイアウト表)で確認するのが確実です。
予防策: 電話番号は「マスタに1回だけ」入れる
毎回の受注データに電話番号を打ち込んでいると、そのたびに記号が揺れる機会が増えます。根本的には、次の運用にしておくと揺れが起きにくくなります。
- 電話番号は得意先マスタで持つ: 受注のたびに入力するのではなく、得意先マスタに1回だけ正しい形で登録し、受注データは得意先コードで紐付けて引いてくる形にします。直す場所が1か所になります
- マスタに登録するときの書き方を決めておく: 「半角数字+半角ハイフン」など社内の書き方を1つ決め、登録時はその形で入れます。既存マスタは一度、上の置換手順で整えておきます
- CSVを送る前にテキストエディタで確認する: 保存したCSVをメモ帳などで開き、電話番号の位置に全角の記号が混ざっていないか、先頭の0が残っているかを先頭の数行で確かめます
まとめ
- 電話番号の取込エラーは、数字ではなく区切りのハイフンが原因のことが多い。全角ハイフン・長音記号・マイナス記号・ダッシュ類は見た目が似ていても別の文字
- 日本語入力のままの入力、注文書からのコピー、担当者ごとの書き方の違いで混ざりやすい
- Excelの検索で記号を1種類ずつ探し、置換で半角ハイフンにそろえる。ASC関数だけでは長音記号は直らない
- ハイフンを外して数字のみにする場合は、先に列を文字列にしないと先頭の0が消える
- 電話番号は得意先マスタに1回だけ正しい形で登録し、受注データからは得意先コードで引くと揺れが起きにくい
手前味噌の紹介
この記事を書いているのは、注文書特化サービス注文書係(ちゅうもんしょがかり)の運営者です。FAX・手書きの注文書をアップロードするとAIが下書きを作り、担当者は自信のない項目だけを確認して確定します。転記にかかる時間を1/10程度に圧縮することを狙ったサービスです。
注文書係が注文書から読み取るのは、取引先名・受注日・注文番号と、明細の品番・品名・数量・単位・単価です。電話番号は読み取り対象に含めていません。電話番号のような得意先ごとに決まっている情報は、この記事の予防策のとおり基幹システムの得意先マスタで持ち、注文書から読み取った受注データには毎回書き写さない、という使い方を前提にしています。
無料トライアル(30枚または14日間、クレジットカード登録不要)で、実際にお使いの帳票との相性を確かめてみてください。