ここでは、Microsoft ExcelのNUMBERSTRING関数の使用方法について説明します。
解説
関数 | =NUMBERSTRING(数値,表示形式記号) |
---|---|
読み方 | ナンバーストリング |
説明 | 数値を漢数字の文字列に変換します。 |
分類 | 文字列関数 |
機能 | 表示形式の変換 |
引数について
=NUMBERSTRING(数値,表示形式記号)
数値:変換したい数値、またはセルの参照を指定
表示形式記号:指定した数値に適用する書式を定義するコード
表示形式記号
漢数字といえども、1を「一」と書いたり、「壱」と書いたりします。これらを区別するために、表示形式記号を必ず指定する必要があります。表にまとめましたので参考にしてください。
記号 | 数値 | 結果 |
---|---|---|
1 | 12345 | 一万二千三百四十五 |
3210 | 三千二百十 | |
2 | 12345 | 壱萬弐阡参百四拾伍 |
3210 | 参阡弐百壱拾 | |
3 | 12345 | 一二三四五 |
3210 | 三二一〇 |
注意点
・NUMBERSTRING関数は裏コマンドのような存在ですので、「関数の挿入」ダイアログには表示されません。また、予測変換が表示されませんので、最後まで入力する必要があります。手入力は面倒なので、『=NUMBERSTRING(』←これをコピペして使うと良いですよ。
アドバイス
・漢字のふりがなを抽出したい場合は「PHONETIC関数」を使用しましょう。※NUMBERSTRING関数で変換した漢数字には利用できませんのでご注意ください。
・英字を全て大文字にしたい場合は「UPPER関数」を、全て小文字にしたい場合は「LOWER関数」を、1文字目だけを大文字にしたい場合は「PROPER関数」を使用しましょう。
・アラビア数字(1, 2, 3 ex.)をローマ数字(Ⅰ, Ⅱ, Ⅲ ex.)に変換したい場合は「ROMAN関数」を、ローマ数字をアラビア数字に変換したい場合は「ARABIC関数」を使用しましょう。
活用例
例1:年齢を漢数字に変換し、語尾に「歳」を付ける
NUMBERSTRING関数の後に「& "(文字列)"」を入力することで、NUMBERSTRING関数の出力結果に続いて好きな文字列を表示させることができます。これを利用して、NUMBERSTRING関数で年齢を漢数字に変換して、語尾に「歳」を付けてみましょう。
出力結果のセルには、次のように関数が入力されています。
『=NUMBERSTRING(C3,1) & " 歳"』
例2:金額を漢数字に変換し、先頭に「金」、語尾に「円」を付ける
例1と同様に文字を表示しますが、今回は表示形式記号2でトライしてみましょう。
出力結果のセルには、次のように関数が入力されています。
『="金 " & NUMBERSTRING(C3,2) & "円"』
「&」を使えばどこにでも文字列や計算式を組み合わせることができます。
例3:住所の町より下の数字部分を漢数字に変換してみよう
住所となるとハイフン(-)が含まれる場合が出てきます。ですので、さまざまな関数を活用して、ハイフンの数が0個, 1個, 2個のいずれの場合でも表示できるような関数を作ってみましょう。
表示結果はこのようになります。
では、いったいどのような関数を使ったのでしょうか?正解はこちらです。
=IF(LEN(B3)-LEN(SUBSTITUTE(B3, "-", ""))=0,NUMBERSTRING(B3,3),IF(LEN(B3)-LEN(SUBSTITUTE(B3, "-", ""))=1,NUMBERSTRING(LEFT(B3,FIND("-",B3)-1),3) & "-" & NUMBERSTRING(RIGHT(B3,LEN(B3)-FIND("-",B3)),3),NUMBERSTRING(LEFT(B3,FIND("-",B3)-1),3) & "-" & NUMBERSTRING(MID(B3,FIND("-",B3)+1,FIND("-",B3,FIND("-",B3)+1)-1-FIND("-",B3)),3) & "-" & NUMBERSTRING(RIGHT(B3,LEN(B3)-FIND("-",B3,FIND("-",B3)+1)),3)))
めっちゃなげぇ~~~~(^^;) これをコピペすれば、みなさんも同じように表示させることができます。
今回使用した関数は、「IF関数」「LEN関数」「SUBSTITUTE関数」「NUMBERSTRING関数」「FIND関数」「LEFT関数」「RIGHT関数」「MID関数」です。それぞれ順にザックリ説明します。
IF関数:値または数式が条件を満たしているかどうかを判定する
IF関数を使用し、ハイフン(-)の数によって適用させる関数を変化させています。
LEN関数:文字列に含まれる文字数を返す
LEN関数を使用し、ハイフンを含むすべての文字数を数えています。
SUBSTITUTE関数:文字列中の指定された文字を他の文字に置き換える
SUBSTITUTE関数を使用してハイフンを削除することで、LEN関数と組み合わせてハイフンの数を求めています。
NUMBERSTRING関数:数値を漢数字の文字列に変換する
NUMBERSTRING関数を使用し、抽出した数字を漢数字に変換しています。
FIND関数:指定された文字列を他の文字列の中で検索し、最初に現れた文字の位置を文字数で返す
FIND関数を使用し、ハイフンの位置を求めています。
LEFT関数:文字列の先頭(左端)から指定された文字数の文字を返す
LEFT関数を使用し、1つ目のハイフンまでの数字を抽出しています。
RIGHT関数:文字列の末尾(右端)から指定された文字数の文字を返す
RIGHT関数を使用し、末尾からハイフンまでの数字を抽出しています。
MID関数:文字列の任意の位置から指定された文字数の文字を返す
MID関数を使用し、ハイフンとハイフンの間の数字を抽出しています。