いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)数字の文字列を数値に変換する

 Googleスプレッドシートで、文字列として記録されている数字を数値に変換する方法についてです。
 Excelとは異なり表示形式(書式設定)の設定だけでも変換することができます。

手順

メニューを使って変換する方法

f:id:accs2014:20200725182149p:plain:right:w500

 よくあるケースとして数字が「'」付きで入力されているケースがあります。
 画像ではB3:B5に3つの数字が記録されていますが、先頭に「'」がついているため文字列とみなされています(表示形式は「自動」であるものとします)。
 証拠としてC列に「=ISNUMBER(B3)」などと入力して評価していますが結果はFALSEであり、数値とみなされていない(文字列とされている)ことがわかります。

 

f:id:accs2014:20200725182153p:plain:right:w650

 そこでこれらの範囲を選択し、メニューから「表示形式」→「数字」→「数値」と進みます。

 

f:id:accs2014:20200725182158p:plain:right:w500

 するとセルに入力されていた「'」が消え、さらにISNUMBER関数の値がTRUEになりました。
 つまりこれだけで数値への変換が完了していることがわかります。

 

f:id:accs2014:20200725182202p:plain:right:w600

 ただし、表示が小数点以下2桁までで統一されてしまっているのが気になるところです。
 そこでさらにメニューから「表示形式」→「数字」→「自動」と進みます。元の文字列に戻ってしまいそうな気もしますが……

 

f:id:accs2014:20200725182206p:plain:right:w400

 そうはならず、数値のままで表示桁数が自動調整されます。
 以上で無事に数値に変換されました。

「=""」で囲まれている場合

f:id:accs2014:20200725182210p:plain:right:w500

 あまり多くないとは思いますが、数字が「=""」で囲まれているというケースがあります。
 この場合、上記のように表示形式を変更しても文字列のままで数値にはなりません。

 

f:id:accs2014:20200725182215p:plain:right:w600

 そこで、一旦コピーして値として貼り付けます。
 具体的にはこれらのセルを選択してショートカット「Ctrl+C」などでコピーしてからメニューの「編集」→「特殊貼り付け」→「値のみ貼り付け」を選択します。

 

f:id:accs2014:20200725182219p:plain:right:w450

 すると「=""」が消えてただの数字になります。
 ただし、ISNUMBER関数の値が変わっておらず、これらの数字は相変わらず文字列とみなされています。

 

f:id:accs2014:20200725182223p:plain:right:w600

 そこでさらにメニューから「表示形式」→「数値」→「自動」と選択します。
 これはもとの設定と同じ設定を選択しているだけなので、何も変わらないような気もしますが……

 

f:id:accs2014:20200725182227p:plain:right:w400

 数字は右寄せになり、ISNUMBER関数の評価もTRUEに変わりました。
 数値に変換されたことがわかります。

VALUE関数で変換する方法

f:id:accs2014:20200725182231p:plain:right:w400

 関数で変換する場合はVALUE関数を使うことで数値に変換できます。
 「=""」で囲まれている場合もこれで変換できます。