『Excel VBA 表計算とプログラミング学習サイト』では、アフィリエイトプログラムを利用して商品を紹介しています。

【Excel】NUMBERSTRINGで数値を漢数字に変換します

Number は数字、String は文字列のことです。
つまり、NUMBERSTRING とは数値を文字列に変える関数なのですが、ただ文字列形式のデータにするのではなく、漢数字に変換します。でも数値を漢数字にしたければ「セルの表示形式」を変更するのが手っ取り早いですよね。だから「この関数に使い道あるの?」と訊かれても困りますけど、使い道なんてなくたって面白い。それがエクセルなのです。とりあえず NUMBERSTRING であれこれ遊んでみましょう。

【Excel】NUMBERSTRING関数

Excel の NUMBERSTRING

NUMBERSTRING(数値,書式)

の形で記述します。この書式には
 
1:位取り漢数字
2:旧字表記
3:位取りしない漢数字
 
の3種類あるのですが、それがどんな表示になるのか理解するには実際に試してみたほうが早いです。[数値] に「12345」を指定して、どんな漢数字に変換されるか見てみましょう。

=NUMBERSTRING(12345,1)

と入力すると「一万二千三百四十五」が返ってきます。これはよく見るタイプの普通の漢数字ですね。次は

=NUMBERSTRING(12345,2)

と入力してみましょう。「壱萬弐阡参百四拾伍」という文字列が返ってきます。旧字表記は難しいですね。今どきこんな漢数字をビジネスの現場で使ったりしたら「ややこしいことするな!」と怒られますね。ということで次にいきましょう。

=NUMBERSTRING(12345,3)

と入力して戻ってくるのは「一二三四五」という位取りを省いた漢数字です。そんなわけで、仮にこの関数を使う場合は、引数の選択肢としては「1」か「3」でしょうね。ちなみに、いったんこの関数で漢数字に変えてしまうと、それは文字列なので足したり引いたりすることはできなくなってしまいます。
 
実は TEXT という関数を使っても数値を漢数字に変えることができます。ですが、その引数の指定の仕方はとても面倒です。たとえば「12345」を「一万二千三百四十五」に変えようと思ったら

=TEXT(12345,"[DBnum1]G/標準")

と書かなくてはなりません。こんなのいちいち覚えてられないし、やっぱり漢数字に変えるときは TEXT より NUMBERSTRING を使ったほうが便利ですよ。「いや、セルの表示形式を変えたほうが断然早いでしょ!」と言われちゃあ身も蓋もないんだけどね。
 
エクセルで表示される漢数字の位は「兆」までです。残念ながら「京」とか「垓」といった大きな単位は出てきません。たとえば

=NUMBERSTRING(10^16,1)

と入力すると「一〇〇〇〇兆」と返ってきます。これを知ったときはちょっとがっかりしました。

コメント

  1. あとりえこばと より:

    【AI脚本】ExcelのNUMBERSTRING関数の使い道

    シーン: IT企業のオフィス
     
    登場人物
    山田さん:30代、Excelのヘビーユーザー
    佐藤さん:20代、Excel初心者
     
    場面:山田さんが佐藤さんのExcelの指導をしている。

    山田さん: 佐藤さん、NUMBERSTRING関数って知ってますか?
     
    佐藤さん: はい、聞いたことはありますが、使ったことはありません。
     
    山田さん: NUMBERSTRING関数は、数値を漢数字に変換する関数です。
     
    佐藤さん: 漢数字って、見積書とかでよく見ますよね。
     
    山田さん: そうです。日本では、金額や数量などを漢数字で表示することが一般的です。

    佐藤さん: なるほど。でも、ExcelのTEXT関数でも漢数字にできますよね。
     
    山田さん: はい、できます。でも、NUMBERSTRING関数の方が使いやすいんですよ。
     
    佐藤さん: 使いやすいんですか?
     
    山田さん: はい。TEXT関数で漢数字にするには、表示形式を指定する必要があります。でも、NUMBERSTRING関数は、形式を指定するだけでいいので、簡単です。
     
    佐藤さん: 確かに、それなら便利ですね。

    山田さん: それに、NUMBERSTRING関数は、隠し関数なので、関数リストに表示されません。そのため、関数を覚えている必要があるのが難点ですが、一度覚えてしまえば、とても便利です。
     
    佐藤さん: じゃあ、早速使ってみますね。
     
    山田さん: はい、どうぞ。
     
    佐藤さん: 100000円を漢数字で表示したい場合は、どうすればいいですか?
     
    山田さん: 「=NUMBERSTRING(100000,1)」と入力します。
     
    佐藤さん: はい、やってみました。
     
    山田さん: 結果は、どうですか?
     
    佐藤さん: はい、ちゃんと「壱拾万円」と表示されました。
     
    山田さん: そうです。NUMBERSTRING関数は、このように簡単に漢数字に変換できます。
     
    佐藤さん: 便利ですね。これは、覚えておいて損はなさそうです。
     
    山田さん: はい、ぜひ覚えておいてください。

    (山田さんと佐藤さんは、NUMBERSTRING関数を使って、金額や数量を漢数字で表示する練習をする。)
     
    (しばらくして)
     
    佐藤さん: 山田さん、NUMBERSTRING関数って、実はすごく便利な関数ですよね。
     
    山田さん: そうですか?
     
    佐藤さん: はい。漢数字で表示することで、見積書や請求書などの書類が、より見やすく、分かりやすくなります。
     
    山田さん: そうですね。NUMBERSTRING関数は、Excelの必須関数の一つだと思います。
     
    佐藤さん: はい、これからは、NUMBERSTRING関数を積極的に使いたいと思います。
     
    (山田さんと佐藤さんは、笑顔で話を終える。)

    考察:この脚本では、山田さんというExcelのヘビーユーザーと、佐藤さんというExcel初心者の2人が、NUMBERSTRING関数の役割について熱く議論しています。山田さんは、NUMBERSTRING関数は、漢数字で表示することで、書類がより見やすく、分かりやすくなるというメリットを主張しています。佐藤さんは、NUMBERSTRING関数は、使い方が簡単で、覚えておくと便利であるというメリットを主張しています。この議論を通して、NUMBERSTRING関数の役割とメリットが、より明確になるように工夫しました。また、この脚本は、2人の会話を通して、NUMBERSTRING関数の使い方を学ぶことができるようにしました。NUMBERSTRING関数は、Excelの隠し関数なので、あまり知られていない関数です。しかし、この関数は、漢数字で表示したい場合にとても便利です。この脚本が、NUMBERSTRING関数について理解を深めるきっかけになれば幸いです。
     
    ※この脚本は Google Bard によって書かれました。