(Gスプレッドシート)書式設定により数値⇔文字列の変換ができる

 Googleスプレッドシートでは、数字が入力されているセルの書式設定により、数値であるか文字列(テキスト)であるかの扱いが変わります。実際にISNUMBER/ISTEXT関数による評価結果が変化します。これはExcelとは異なる仕様です。

  • 数字が入力されているセルの書式を「書式なしテキスト」などにすると、そのセルをISNUMBER関数で評価した結果はFALSEとなりISTEXT関数ではTRUEとなります。
  • 「自動」や「数値」などにするとISNUMBER関数の結果はTRUEとなりISTEXT関数ではFALSEとなります。

手順

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

 B列にいくつかの数字が入力されています。セルの書式は「自動」です。
 C列ではこれらをISNUMBER関数で評価しており、結果は「TRUE」となっています。
 また、D列ではISTEXT関数で評価しており、結果は「FALSE」となっています。
 つまり、これらの数字は数値と判定されています。

 

 3つのセルを選択した状態で、メニューから「表示形式」→「書式なしテキスト」と選択します。

f:id:accs2014:20200721044451p:plain:w700

 

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

 すると関数の評価結果が逆転しました。
 つまり、これらの数字は文字列(テキスト)になっています
 (カスタム形式で「@」などと設定しても同じ結果になります)

 
 そこで再度メニューから「表示形式」→「数値」と選択します。

f:id:accs2014:20200721044500p:plain:w700

 

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

 すると関数の結果は最初と同じ状態に戻りました。これらの数字は数値に戻ったということです。
 (「自動」に戻したり、カスタム形式で「#」や「0」などと設定しても同じ結果になります)

 なお、Excelで同様の操作を行ってもISNUMBER関数などの結果が変化することはありません。ExcelとGoogleスプレッドシートの違いの一例です。