• ベストアンサー

エクセルでセルに入っている数字が文字列か数値かを判別

仕事上のあるデータを人にエクセルで表にしてもらいました。できた表をチェックしているとなんとなく合計値がおかしいような気がして、試しに手計算で足し算をしたところ違っていました。さらに詳細を調べるとどうも「表面上は数値だが実は文字列」というセルがいくつかあることがわかりました。 一体どのようにしてこんな表を作ったのか(できてしまったのか)わかりませんが、問題は、作った人にもどれが文字列でどれが数値かわからないということで、チェックをするしかないのですが、なにせデータ数は数百個あるので1個1個書式をチェックするのは至難の業・・・なにかスマートなよい方法ありませんか??

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

仮に、A1にデータが入っているとして、BIに「=ISNUMBER(A1)」と入れてみてください。数値ならTRUE、文字ならFALSEがかえります。

tarobei
質問者

お礼

教えていただいたコマンドを使ってチェックを完了しました(奇しくもNO.6の方の方法と全く同じやりかたになっていました)。 ありがとうございました。

その他の回答 (6)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.7

まず念の為、変換したい範囲を選択し、セルの書式設定で標準か数値にします。 次にメニューのデータ-区切り位置-完了で文字列扱いの数字は全て数値に置換わります。

tarobei
質問者

お礼

すごい!こんなワザもあるのですね! 勉強になりました。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.6

使っていないシート1枚かシート挿入で、1枚ブランクのシートを用意します。 そのシートのA1セルに =IF(ISBLANK(Sheet1!A1),"",IF(ISNUMBER(Sheet1!A1),"","M"))といれて、A列について、データシート表の最下行まで複写します。その後データシート表の最右行までA列を複写します。 Mが出たセルが文字が入っています。 それでチェックしてはどうですか。 数値の方を記しを出したければ =IF(ISBLANK(Sheet1!A1),"",IF(ISNUMBER(Sheet1!A1),"N",""))とする手もあります。 VBAで良ければ、同じことを、余分なSheetを使わずできそうです。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.5

文字列だろうが数値だろうが四則演算に組み込むと解をきちんと計算した上、数値として考えるのがバカExcelの仕様です。 別のシートで =Sheet1!A1*1 と入力すると見掛けは同じにできます。

  • comv
  • ベストアンサー率52% (322/612)
回答No.4

こんにちは 確認する関数は既に記載されているので 複数列 複数行の 数字を数値にする例を ・入力範囲を選択 書式設定 表示形式 を  数値や標準にする ・適当な空きセルに 1 と入力コピー ・入力範囲を選択 編集 形式を選択して貼り付け  値 と 乗算 にチェック OK

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.3

>数百個あるので それは 大変ですね。 ここは、ちょっと 奮発して オフィスXPを買ったらいいですね。 そのような箇所は 一発で わかりますよ。

  • kojitti
  • ベストアンサー率32% (449/1386)
回答No.1

IS関数をご使用されてはどうでしょうか。 ISNUMBERまたはISTEXTでよろしいかと思います。

tarobei
質問者

お礼

ありがとうございます。 そのような関数があること知りませんでした。 というか、NO.2の方の具体的なアドバイスで使い方がわかったのですが・・・ 結論としては、この関数を使ってチェックが完了しました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう