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

前回予告した通り、今回は文字列を数値に変換する方法について紹介します。

はい、よろしくお願いします。
前回は数値を文字列に変換するという内容でしたが、今回はその逆で文字列を数値に変換するということですね。
前回は数値を文字列に変換するという内容でしたが、今回はその逆で文字列を数値に変換するということですね。

このような変換が必要となるケースとしては、前回と同様にXLOOKUP(またはVLOOKUP)で検索値が参照元は文字列だけど、参照先は数値になっているような場合ですね。
このままだと検索で一致しないので、参照元を文字列から数値に変換する必要があります。
他には、数字が文字列として設定されているため数式を使った計算ができないので、文字列を数値に変換するということがあると思います。
このままだと検索で一致しないので、参照元を文字列から数値に変換する必要があります。
他には、数字が文字列として設定されているため数式を使った計算ができないので、文字列を数値に変換するということがあると思います。

前回と同様に参照元と参照先の形式を合わせる場合や、その他にも数式を利用する場合などに、文字列を数値に変換する必要があるということなんですね。

それでは、文字列を数値に変換する方法について説明していきます。
A列に番号が文字列で入っているExcelファイルがあります。
A列2行目以降の文字列の番号を数値に変換します。
A列に番号が文字列で入っているExcelファイルがあります。
A列2行目以降の文字列の番号を数値に変換します。


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

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

はい、お願いします。

対象となるExcelファイルを開く、数式を設定して最終行までオートフィルでコピーする、数式を範囲コピーしてA列に値のみペーストする、B列を削除する、という処理になります。
この処理内容の中で、前回と異なる部分は開始セルに数式を設定する部分だけですので、今回はその部分のみ詳細を説明します。
その他の部分の詳細説明は、前回の「数式を文字列に変換する」を参照いただくようお願いします。
この処理内容の中で、前回と異なる部分は開始セルに数式を設定する部分だけですので、今回はその部分のみ詳細を説明します。
その他の部分の詳細説明は、前回の「数式を文字列に変換する」を参照いただくようお願いします。


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


B2セルに数式を設定し、オートフィルでB列の最終行まで数式をコピーした状態です。
A列の文字列が、数式により数値に変換された状態でB列に設定されています。
A列の文字列が、数式により数値に変換された状態でB列に設定されています。


①で設定したVALUE関数の数式によって、文字列が数値に変換された状態が確認できました。

最後まで実行した結果です。
A列の文字列だった番号が数値データに変換されました。
A列の文字列だった番号が数値データに変換されました。


今回も前回と同様にB列以降にはデータがない前提の説明になっていますが、B列以降にもデータがあるような場合は、最初にB列に列挿入する、または、最終列以降の未使用列を使う、という方法で対応可能と理解しています。
今回は以上でしょうか。
今回は以上でしょうか。

上記は数式を使って文字列を数値に変換方法ですが、上記以外の変換方法も紹介したいと思います。
1つはメモ帳を使った変換方法、もう1つは配列を使った変換方法です。
ここからは、行単位にC列の4月からH列の9月までの合計を求めるにあたり、文字列で設定されているデータを数値に変換するということで進めたいと思います。
1つはメモ帳を使った変換方法、もう1つは配列を使った変換方法です。
ここからは、行単位にC列の4月からH列の9月までの合計を求めるにあたり、文字列で設定されているデータを数値に変換するということで進めたいと思います。


最初に言っていた文字列の状態だと関数による計算ができないので、文字列を数値に変換する必要があるというパターンですね。よろしくお願いします。

メモ帳を使った変換方法の説明です。
まずはExcelを開いて該当のデータを範囲コピーするところまでです。
対象となるファイルを開いて最終行を求めるところは先ほどと同じです。開始セルと終了セルの設定は、先ほどとは列の指定が異なります。開始セルから終了セルの文字列データを範囲コピーします。
まずはExcelを開いて該当のデータを範囲コピーするところまでです。
対象となるファイルを開いて最終行を求めるところは先ほどと同じです。開始セルと終了セルの設定は、先ほどとは列の指定が異なります。開始セルから終了セルの文字列データを範囲コピーします。


②「変数値設定」にて開始セルを設定します。
変数名には「開始セル」、設定値には「C2」を指定します。
変数名には「開始セル」、設定値には「C2」を指定します。


③「文字列の連結(2つ)」にて終了セルと設定します。
文字列1には値で「H」を文字列に2は変数の「最終行」を指定し、連結結果に「終了セル」を指定します。
文字列1には値で「H」を文字列に2は変数の「最終行」を指定し、連結結果に「終了セル」を指定します。


④「Excel操作(範囲コピー)」を使用して文字列データをコピーします。
ファイル名には「ファイルパス」、開始セル、終了セルにはそれぞれ変数で「開始セル」「終了セル」を指定します。
ファイル名には「ファイルパス」、開始セル、終了セルにはそれぞれ変数で「開始セル」「終了セル」を指定します。


Excelの文字列データを開始セルと終了セルを指定して範囲コピーするところまでの操作ということですね。ここまでは問題なくできそうです。

ここからは、主にメモ帳による操作になります。
メモ帳を開いてコピーした文字列データを貼付けます。貼り付けたデータを全て選択してコピーします。メモ帳でコピーしたデータをExcelに貼付けます。貼付け戻すという感じですね。
メモ帳を開いてコピーした文字列データを貼付けます。貼り付けたデータを全て選択してコピーします。メモ帳でコピーしたデータをExcelに貼付けます。貼付け戻すという感じですね。


⑤「コマンド実行」ノードを使ってメモ帳を開きます。
コマンドには値で「notepad」を指定します。
オプションは空欄のままで大丈夫です。
コマンドには値で「notepad」を指定します。
オプションは空欄のままで大丈夫です。


⑥「エミュレーション」にてコピーした文字列データをメモ帳に貼り付けます。
ウィンドウ識別名でメモ帳の画面を選択します。
キーボードで「Alt」→「E」→「P」を順番に押下するように設定します。
ウィンドウ識別名でメモ帳の画面を選択します。
キーボードで「Alt」→「E」→「P」を順番に押下するように設定します。


⑦「エミュレーション」にて貼り付けたデータをすべて選択します。
ウィンドウ識別名でメモ帳の画面を選択します。
キーボードで「Alt」→「E」→「A」を順番に押下するように設定します。
ウィンドウ識別名でメモ帳の画面を選択します。
キーボードで「Alt」→「E」→「A」を順番に押下するように設定します。


⑧「エミュレーション」にてすべて選択したデータをコピーします。
ウィンドウ識別名でメモ帳の画面を選択します。
キーボードで「Alt」→「E」→「C」を順番に押下するように設定します。
ウィンドウ識別名でメモ帳の画面を選択します。
キーボードで「Alt」→「E」→「C」を順番に押下するように設定します。


⑨「Excel操作(ペースト)」を使ってExcelの開始セルにコピーしたデータをペーストします。
ファイル名に変数の「ファイルパス」を指定します。
セルには変数で「開始セル」を指定します。
ファイル名に変数の「ファイルパス」を指定します。
セルには変数で「開始セル」を指定します。


以上の操作を実行することにより、C列からH列のデータが文字列から数値に変換されました。


Excelのデータをコピーしてメモ帳に貼り付けて、今度はメモ帳のデータをコピーしてExcelに貼り付けることで、文字列だったものが数値に置き換わるということですね。

Excelのデータをメモ帳に貼り付けるとタブ区切りのテキストになり、書式が解除されます。書式が解除されたテキストをExcelに書き戻すことで数値として扱われるということになります。

承知しました。

それでは、もう1つの配列を使った変換方法を説明します。
ここではスイートライブラリを使用しますので、スイートライブラリがダウンロード可能であることが前提となります。
ここではスイートライブラリを使用しますので、スイートライブラリがダウンロード可能であることが前提となります。
目次
- 第12回 「文字列を数値に変換する」 の巻1(今回)
- 第12回 「文字列を数値に変換する」 の巻2