Googleスプレッドシートでは、数字が入力されているセルの書式設定により、数値であるか文字列(テキスト)であるかの扱いが変わります。実際にISNUMBER/ISTEXT関数による評価結果が変化します。これはExcelとは異なる仕様です。
- 数字が入力されているセルの書式を「書式なしテキスト」などにすると、そのセルをISNUMBER関数で評価した結果はFALSEとなりISTEXT関数ではTRUEとなります。
- 「自動」や「数値」などにするとISNUMBER関数の結果はTRUEとなりISTEXT関数ではFALSEとなります。
手順
B列にいくつかの数字が入力されています。セルの書式は「自動」です。
C列ではこれらをISNUMBER関数で評価しており、結果は「TRUE」となっています。
また、D列ではISTEXT関数で評価しており、結果は「FALSE」となっています。
つまり、これらの数字は数値と判定されています。
3つのセルを選択した状態で、メニューから「表示形式」→「書式なしテキスト」と選択します。
すると関数の評価結果が逆転しました。
つまり、これらの数字は文字列(テキスト)になっています。
(カスタム形式で「@」などと設定しても同じ結果になります)
そこで再度メニューから「表示形式」→「数値」と選択します。
すると関数の結果は最初と同じ状態に戻りました。これらの数字は数値に戻ったということです。
(「自動」に戻したり、カスタム形式で「#」や「0」などと設定しても同じ結果になります)
なお、Excelで同様の操作を行ってもISNUMBER関数などの結果が変化することはありません。ExcelとGoogleスプレッドシートの違いの一例です。