見出し画像

[Excel]1桁の数値は全角に、2桁以上なら半角にする方法

【まとめ】
その1(日付の場合、あるいは数値が0以上の場合)
1桁の数値は全角に、2桁の数値は半角にする方法
=IF(対象セル<10,JIS(対象セル),対象セル)
対象セルが10未満(1桁)なら、JIS関数で数値を全角にし、そうでなければ(10以上なら)そのまま(半角のまま)にする。

その2 マイナスの数値がある場合
=IF(LEN(対象セル)=1,JIS(対象セル),対象セル)
対象セルの長さが1なら、JIS関数で数値を全角にし、そうでなければ(2桁以上またはマイナスなら)そのまま(半角のまま)にする。
*この場合、-1~-9は半角となる。


【説明】

「1桁なら全角、2桁なら半角」という上司がいたら

Excel上の数値や日付を、Wordに差し込み印刷する際、数値だとカンマが付かなかったり、日付だと正しく表示されない場合の対処法は以前お示ししました。
数値形式の日付を文字列にする計算式(Wordへの差込印刷用)
数値を文字列にする計算式(Word差込印刷時にカンマを表示させる用)
なお、上記の方法では、数値(日付含む)は全て半角のままです。
通常それで問題ないはずです。

でも、「1桁の数値は全角で、2桁以上なら半角にするべき」という人(上司)もいます。
文書規程で明確には決まっていないにもかかわらず、「慣例」「不文律」で「そういうものだ」と言い張る人もいます。
スルー出来ればいいのですが、そうでない場合、前述の方法では対応できないので、結局手作業に・・・。というのも馬鹿な話です。

どうやったらいいか、日付での対応例をお示しします。
ややくどいやり方であり、「正解」とは言い難いですが、一例ということで。

1 年月日を 年と月と日に分解する。

 =YEAR(日付セル)-2018、=MONTH(日付セル)、=DAY(日付セル)
  *年は和暦表示にするため、西暦から2018を引いている。

2 分解した年・月・日が1桁なら全角に、2桁なら半角にする。

日付でなく、数値ならここから行う(年セルを数値セルに読み替え)
=IF(年セル<10、JIS(年セル),ASC(年セル))または
=IF(年セル<10、JIS(年セル),年セル)
*月セル、日セルでも同じ

3 全角・半角にしたセルを合体させる。

=CONCATENATE("令和",年セル,"年",月セル,"月",日セル,"日")
CONCATENATE関数は( )内を合体させる関数(「 , 」で区切る。)。
="令和"&年セル&"年"&月セル&"月"&日セル&"日"
と「&」でつないでも同じ。

*年セル、月セル、日セルは半角か全角に修正した後のもの

具体例

下に具体例を示します。

A列には数値データとして日付が入っています。


この日付から、YEAR/MONTH/DAYで、年・月・日を取り出します。

年については、単にYEAR(年月日セル)だと西暦になってしまうので、2018を引きます(令和のみ有効)。

YEAR関数で取り出したBセルについて、10未満ならJIS関数で全角に、そうでなければそのまま(半角のまま)とします。

JIS(ジス)関数は数値や英字を全角にする関数です。
半角にするのならASC(アスキー)関数です。
住所の番地や電話番号を、全角または半角に一括修正したいときになどに便利です(数値、カナ、記号のみ有効。漢字・ひらがなは全角のまま。)。

あとは、全角または半角のままの数値を合体させるだけです。

CONCATENATE関数は長い名前ですが=CONと打てば候補が出ます。あとは、カッコの中に合体させたい要素を「,」で区切りながら入れるだけです。ただし、「年」のような文字は「””」で括ります。

結果は、あえて明朝にしてみました。
ゴシックよりも全角と半角の違いがはっきりするので。

さて、いかがでしょうか?
こんなことをしなければいけないのはレアケースかと思いますが、「できなくはない」ということで。(上の1~3を一つの計算式にすることもできますが、わかりづらくなるので、分解して説明しています。複雑だと他の人が修正できなくなりますから。)

数値を半角や全角にする関数は、覚えておくと便利です。
何かで、「顧客の電話番号を全角から半角に直すのに1週間かかっていた企業があった」なんてのを読んだことがあります(EXCEL本の著者のものなので、本当かどうかはわかりませんが。)。
JIS/ASC関数を使えば、電話番号のみなら番地なども全角/半角に一瞬で統一できます。
(入力フォームを作るなら、その段階で、入力形式を定めておけば、その手間も不要になりますが、入力する側にしてみれば、全角でも半角でも、意識することなく入力できる方がストレスありません。)

以上、お役に立てば幸いです。

上の画像のエクセルファイルを張り付けておきます。
よろしければいじってみてください。

エクセルファイル

この記事が気に入ったらサポートをしてみませんか?