WinActor(ウィンアクター)
教えて !! スーさん。
第11回 「数値を文字列に変換する」 の巻
目次
- 第11回 「数値を文字列に変換する」 の巻(今回)
スーさんと
ムーさん、ふたりの会話を通してWinActorの利用方法をお伝えします。

今回は数値を文字列に変換するというシンプルな内容でお伝えします。

はい、よろしくお願いします。
数値を文字列に変換するということですが、どのような場合に必要になりますか。
数値を文字列に変換するということですが、どのような場合に必要になりますか。

よくあるのは、XLOOKUP(またはVLOOKUP)で検索値が参照元は数値だけど、参照先は文字列になっているような場合ですね。
このままだと検索で一致しないので、参照元を数値から文字列に変換する必要があります。
逆に文字列を数値に変換するという場合もありますので、こちらの変換については次回紹介したいと思います。
このままだと検索で一致しないので、参照元を数値から文字列に変換する必要があります。
逆に文字列を数値に変換するという場合もありますので、こちらの変換については次回紹介したいと思います。

参照元と参照先の形式が異なるような場合に、形式を合わせる必要があるので、数値を文字列に変換したり、文字列を数値に変換する必要があるということですね。

必要性を理解いただいたところで、改めて今回は数値を文字列に変換する方法について説明していきます。
A列に数値が入っているExcelファイルがあります。
A列2行目以降の数値を5桁の文字列に変換します。
A列に数値が入っているExcelファイルがあります。
A列2行目以降の数値を5桁の文字列に変換します。


左が数値の状態で、右が5桁の文字列に変換後の状態ですね。

変換する方法ですが、B列に5桁の文字列に変換するための数式を設定して、最終行までオートフィルでコピーします。
文字列に変換されたB列のデータをコピーして、A列に値のみペーストした後に、B列を削除します。
では、シナリオの内容を見ていきましょう。
文字列に変換されたB列のデータをコピーして、A列に値のみペーストした後に、B列を削除します。
では、シナリオの内容を見ていきましょう。

はい、お願いします。

対象となるExcelファイルを開いて、数式を設定して、最終行までオートフィルでコピーするところまでです。


①「Excel開く(前面化)」でファイルを開きます。
ファイル名には変数「ファイルパス」を指定します。変数「ファイルパス」には初期値で実際のファイルパスを設定しています。
今回は1シートしかないので、シート名は未設定としています。
ファイル名には変数「ファイルパス」を指定します。変数「ファイルパス」には初期値で実際のファイルパスを設定しています。
今回は1シートしかないので、シート名は未設定としています。


②「Excel操作(最終行取得 その4)です。
検索列に値で「A」列を指定して、最終行を変数「最終行」に取得します。
検索列に値で「A」列を指定して、最終行を変数「最終行」に取得します。


③「変数値設定」を使用して開始セルを設定します。
変数名には「開始セル」と設定値には数式を設定する「B2」セルを指定します。
変数名には「開始セル」と設定値には数式を設定する「B2」セルを指定します。


④「文字列の連結(2つ)」を使用して終了セルを設定します。
文字列1に値で「B」、文字列2には先ほど取得した変数「最終行」、連結結果に変数「終了セル」を指定します。
今回は最終行が「48」行なので、連結結果の終了セルの現在値は「B48」となります。
文字列1に値で「B」、文字列2には先ほど取得した変数「最終行」、連結結果に変数「終了セル」を指定します。
今回は最終行が「48」行なので、連結結果の終了セルの現在値は「B48」となります。


⑤「Excel操作(数式の設定)」にて開始セルに数式を設定します。
設定値に値で「=TEXT(A2,"00000")」を指定します。
この数式によりA2セルの数値を5桁の文字列に変換します。
セル位置は変数「開始セル」を指定します。
設定値に値で「=TEXT(A2,"00000")」を指定します。
この数式によりA2セルの数値を5桁の文字列に変換します。
セル位置は変数「開始セル」を指定します。


⑥「Excel操作(Autofill)」で終了セルまでオートフィルします。
開始セル、終了セルにそれぞれ変数「開始セル」と変数「終了セル」を指定します。
これによりB2セルに設定した数式が、B48セルまでコピーされます。
開始セル、終了セルにそれぞれ変数「開始セル」と変数「終了セル」を指定します。
これによりB2セルに設定した数式が、B48セルまでコピーされます。


⑥まで実行した状態です。
A列の数値が、数式で文字列に変換された状態でB列に設定されています。
A列の数値が、数式で文字列に変換された状態でB列に設定されています。


こちらの数式「=TEXT(A2,"00000")」、つまりTEXT関数を使うことで数値を文字列に変換するということですね。

はい。5桁に桁合わせしているので、表示形式を"00000"としていますが、桁合わせの必要はなく文字列に変換するだけの場合は、「=TEXT(A2,"@")」のように表示形式を"@"とすればOKです。

承知しました。ありがとうございます。

ここからは、文字列に変換されたB列のデータをコピーして、A列に値のみペーストした後に、B列を削除します。


⑦「Excel操作(範囲コピー)」でB列のデータをコピーします。
開始セルに変数「開始セル」、終了セルに変数「終了セル」を指定して、B列の開始セルから終了セルを範囲コピーします。
開始セルに変数「開始セル」、終了セルに変数「終了セル」を指定して、B列の開始セルから終了セルを範囲コピーします。


⑧「Excel操作(値のみペースト)」を使用してA列に値のみペーストします。
セルには値で「A2」を指定します。
A列の先頭セルを指定することで、⑦で範囲コピーしたB列のデータがA列に値のみペーストされます。
セルには値で「A2」を指定します。
A列の先頭セルを指定することで、⑦で範囲コピーしたB列のデータがA列に値のみペーストされます。


A列に値のみコピーした状態です。
あとはB列を削除して完成です。
あとはB列を削除して完成です。


⑨「Excel操作(列削除)」でB列を削除します。
削除列に値で「B」を指定します。
削除列に値で「B」を指定します。


A列の2行目以降の数値データが、5桁の文字列データに変換されました。


完成ですね。
今回は数値を文字列に変換するということで、B列をワーク的に使って数式を設定し、数式の結果をA列に値で書き戻すということと、文字列に変換するにはTEXT関数を使用するというやり方を理解しました。
今回は数値を文字列に変換するということで、B列をワーク的に使って数式を設定し、数式の結果をA列に値で書き戻すということと、文字列に変換するにはTEXT関数を使用するというやり方を理解しました。

今回はB列以降にはデータがない前提になっていますが、通常はB列以降にもデータがあると思います。
そのような場合には、最初にB列に列を挿入する、または、最終列以降の未使用列を使う、という必要がありますね。
そのような場合には、最初にB列に列を挿入する、または、最終列以降の未使用列を使う、という必要がありますね。

そうですね。承知しました。

数値を文字列に変換する方法は理解できたということで、次回は逆に文字列を数値に変換する方法をお伝えできればと思っています。

最初の説明であった通り、文字列から数値に変換する逆のパターンも必要になるということで、そちらもしっかり学んでいきたいと思いますので、次回もよろしくお願いします。
目次
- 第11回 「数値を文字列に変換する」 の巻(今回)