目次
このチュートリアルでは、ExcelのVALUE関数を使って、テキスト文字列を数値に変換する方法を紹介します。
通常、Microsoft Excelはテキストで保存された数値を認識し、自動的に数値形式に変換しますが、Excelが認識できない形式で保存されている場合、数値が文字列のままになってしまい、計算ができないことがあります。 このような場合、VALUE関数を使用するとすぐに解決することができます。
エクセルVALUE関数
ExcelのVALUE関数は、テキスト値を数値に変換するためのもので、数値文字列、日付、時刻を認識することができます。
VALUE関数の構文は非常にシンプルです。
値(テキスト)どこ テキスト は、引用符で囲まれたテキスト文字列、または数値に変更するテキストを含むセルへの参照である。
VALUE関数は、Excel2007で導入され、Excel2010、Excel2013、Excel2016以降のバージョンで利用可能です。
例えば、A2のテキストを数値に変換する場合は、次のような計算式になります。
=VALUE(A2)
下のスクリーンショットでは、A列に元の左寄せの文字列、B列に変換後の右寄せの数値が表示されていることに注目してください。
ExcelでVALUE関数を使用する方法 - 数式の例
前述のように、Excelはほとんどの場合、テキストを自動的に数値に変換してくれますが、場合によっては、Excelに明示的に指示する必要があります。 以下の例は、実際にどのように機能するかを示しています。
テキストを数値に変換するVALUE式
ExcelのVALUE関数の主な目的は、テキスト文字列を数値に変更することであることは既にご存じでしょう。
以下の式は、どのような文字列を数値に変換できるかを示すものである。
式 | 結果 | 説明 |
=value("$10,000") | 10000 | テキスト文字列の等価値を数値で返す。 |
=value("12:00") | 0.5 | PM12に対応する10進数を返します(Excelの内部で保存されているものです)。 |
=VALUE("5:30")+VALUE("00:30") | 0.25 | 午前6時に対応する10進数(5:30+00:30=6:00)です。 |
下のスクリーンショットは、同じVALUEの計算式で実行された、テキストから数値への変換をいくつか示しています。
文字列から数値を抽出する
LEFT、RIGHT、MID関数を使用して、文字列の先頭、末尾、中間から必要な文字数を抽出する方法は、ほとんどのExcelユーザーが知っています。 その際、数字を抽出する場合でも、これらの関数の出力は常にテキストであることを覚えておく必要があります。 これは、ある状況では関係なくても、別の状況では重要です。なぜなら、他のExcel関数ではは、数字ではなく文字として抽出されます。
下のスクリーンショットにあるように、SUM関数は抽出した値を合計することができません。一見すると、テキストによくある左揃えを除いて、何も間違っていることに気づかないかもしれませんが、そうではありません。
抽出した数値をさらに計算する必要がある場合は、数式をVALUE関数で囲んでください。 たとえば、以下のようになります。
文字列から最初の2文字を取り出し、その結果を数値として返すこと。
=value(left(a2,2))
10文字目から始まる文字列の途中から2文字を抽出する場合。
=value(mid(a3,10,2))
文字列から最後の2文字を数字として抽出する場合。
=value(right(a4,2))
上記の数式は、単に数字を取り出すだけでなく、途中でテキストから数字への変換も行っています。 これで、取り出した数字をSUM関数で問題なく計算できるようになりました。
もちろん、これらの簡単な例は、ほとんどデモンストレーションとコンセプトの説明のためのものです。 実際のワークシートでは、文字列の任意の位置から可変の桁数を抽出する必要があるかもしれません。 次のチュートリアルは、これを行う方法を示します:Excelで文字列から数値を抽出する方法。
テキストを日付や時刻に変換するVALUE機能
日付/時刻のテキスト文字列に対して使用すると、VALUE関数はExcelの内部システムにおける日付または時刻を表す通し番号を返します(日付は整数、時刻は小数)。 結果を日付として表示するには、数式セルに日付形式を適用します(時刻も同様)。 詳細は、Excelの日付形式を参照してください。
以下のスクリーンショットは、可能な出力を示しています。
また、Excelでテキストを日付や時刻に変換する代替方法を使用することもできます。
変換する場合 年月日 テキストとしてフォーマットされた値を通常のExcelの日付に変換するには、DATEVALUE関数または「Excelでテキストを日付に変換する方法」で説明した他の方法を使用してください。
変換する場合 テキスト の文字列を時刻に変換するには、「Excelで文字列を時刻に変換する」で示したように、TIMEVALUE関数を使用します。
ExcelのVALUE関数が#VALUEエラーを返す理由
ソース文字列がExcelで認識できない形式である場合、VALUE式は#VALUEエラーを返します。 たとえば、以下のようなものです。
Excelで文字列から数値を抽出する方法」で説明した、より複雑な数式を使用することで解決します。
このチュートリアルで、ExcelのVALUE関数の使い方を理解していただけたでしょうか? 数式を詳しくご覧になりたい方は、ExcelのVALUE関数のワークブックのサンプルをダウンロードしてください。 それでは、また来週ブログでお会いしましょう。