「ワード 数字 カンマ 入れる方法」
「Word 数値 3桁区切りカンマ 一括挿入」
といった検索が行われていることがあります。
例えば、
「1234」
といった4桁以上の数値が複数存在するときに一括で桁区切りのカンマを入れ
「1,234」
という状態にする方法を探している方の検索です。
VBA(Visual Basic for Applications)でマクロを作るしかないと考えてしまう方もいらっしゃるようですが、置換機能だけでも、複数の数字に桁区切りカンマを挿入することは可能です。
文書の先頭にカーソルを置く
↓
[検索と置換]ダイアログ−[置換]タブ
−[検索オプション]欄
−[検索方向]欄で「上へ」
−[ワイルドカードを使用する]チェックボックスをOnに
↓
[検索と置換]ダイアログ−[置換]タブ
−[検索する文字列]欄に「([0-9]{1,3})([0-9]{3,3})」
−[置換後の文字列]欄に「\1,\2」
と指定
↓
文書全体に対する置換を
後ろから前に向かって2回実行する
(数値が999999以下ならば1回だけでOK)
[検索と置換]ダイアログ−[置換]タブで、下図の赤色の枠線で囲った設定箇所に注意して置換を実行していただくと、4桁以上の半角の数字が並んでいるときに、3桁区切りカンマを挿入することができるのです。
ポイントがいくつかありますが、まず、[検索方向]欄で「上へ」を指定するということです。
文書の先頭にカーソルを置いた状態で「上へ」を指定して置換を開始すると、それ以上上がないので、結果的に文書の末尾から文書の先頭に向かって置換を実行するということになります。
そもそも3桁区切りカンマは、数値の後ろから3桁ごとにカンマが入ります。
「1234」なら「1,234」
「12345」なら「12,345」
「123456」なら「123,456」
としたいわけです。
もし前から置換を開始した場合、何らか数値をみつけたときに、その数値が何桁あるのかを調べる処理が必要になります。4桁なのか、5桁なのか、6桁なのかを調べる必要が出てきます。
しかし後ろから置換を開始すすると、とりあえず4桁以上の数値ならば、後ろから数字が3つ並んでいたら、その数値が何桁であろうが、とにかく3桁ごとにカンマを入れてしまえばいいのです。
そのため文書の末尾から先頭に向かって置換を行うわけです。
で、具体的にどう数値を指定するかです。
[検索と置換]ダイアログ−[置換]タブ−[検索する文字列]欄に入力した
「([0-9]{1,3})([0-9]{3,3})」
が何を意味しているかを解説しましょう。
まず
「([0-9]{1,3})([0-9]{3,3})」
は2つの部分にわかれています。
前半の「([0-9]{1,3})」と
後半の「([0-9]{3,3})」です。
前半の「([0-9]{1,3})」の
前半「[0-9]」は
「0」から「9」までの数値を意味しています。
前半の「([0-9]{1,3})」の
後半「{1,3}」は
「1」桁以上「3」桁以下ということを意味しています。
「{ }」(中括弧)で括られた中の「,」の前の数値が最小桁数、「,」の後ろの数値が最大桁数を意味しています。
つまり「([0-9]{1,3})」は
「0」から「999」という1桁から3桁までの数値を指定していることになります。
後半の「([0-9]{3,3})」の
前半「[0-9]」は
前半の「([0-9]{1,3})」と同じく
「0」から「9」までの数値を意味しています。
後半の「([0-9]{3,3})」の
後半「{3,3}」は
「3」桁以上「3」桁以下ということを意味しています。
つまり「([0-9]{1,3})」は
「000」から「999」という3桁の数値を指定していることになります。
結局、[検索と置換]ダイアログ−[置換]タブ−[検索する文字列]欄に入力した
「([0-9]{1,3})([0-9]{3,3})」というのは
「0000」から「999999」までの4桁から6桁の数字を指定していることになります。
次に置換後の文字列の「\1,\2」の意味です。
「\1」が1つ目の検索条件という意味で、先の[検索する文字列]欄の前半の「([0-9]{1,3})」を意味しています。
「,」が挿入したい桁区切りのカンマです。
「\2」が2つ目の検索条件という意味で、先の[検索する文字列]欄の後半の「([0-9]{3,3})」を意味しています。
すなわち
[検索と置換]ダイアログ−[置換]タブ
[検索する文字列]欄に「([0-9]{1,3})([0-9]{3,3})」
[置換後の文字列]欄に「\1,\2」
と指定したということは、
「0000」から「999999」までの4桁から6桁の数字を
「0,000」から「999,999」という状態に置換しなさいという指定していることになります。
「999999」より大きい数値が含まれているときに、上記の置換を2回繰り返さなければならない理由は以下のとおりです。
実際に以下のような3桁から8桁の数字が並んでいたとします。
123
1234
12345
123456
1234567
12345678
先の条件で1回上へ向かって置換を実行し終わると
123
1,234
12,345
123,456
1234,567
12345,678
となります。
1234567
12345678
が
1234,567
12345,678
にしかなりません。
あくまでも、4桁から6桁の数字にカンマを挿入する置換だからです。
しかしここでもう一度条件を変更せずに置換を実行すれば、カンマが一部にしか入っていなかった
1234,567
12345,678
のカンマの前が新たに4桁から6桁の数値として検索されるために、結果的に
1,234,567
12,345,678
に置換されます。
実際の具体的操作ですが、[検索]ダイアログはショートカットキー[Ctrl]+[H]を使うと簡単に表示できます。
[検索と置換]ダイアログ−[置換]タブの、[検索方向]欄や[ワイルドカードを使用する]チェックボックスは、[検索と置換]ダイアログ−[オプション]ボタンをクリックすると表示されます。
重要な注意点としては、この置換では、小数点の含まれる数値については一切考慮していないということがあります。
小数点以下に4桁以上の数値が並んでいる場合にもカンマを挿入してしまいますので、そのような場合は[検索と置換]ダイアログの[すべて置換]ボタンを使わず[置換]ボタンで確認しながら置換してください。
Wordの置換でワイルドカードを利用したことがない方の場合、上記の文章を読んだだけで理解するのは、かなり難しいでしょう。
是非、実際にWordを起動して、ご自分の手を動かしながらご確認いただくことをおすすめします。
Home » Word(ワード)の使い方 » 入力・編集 » 半角数字に3桁区切りカンマを一括挿入する−([0-9]{1,3})([0-9]{3,3})・\1,\2