- ベストアンサー
web上からダウンロードした数字が積算不能です
某電話会社からの毎月の利用明細はWEB上からエクセルにダウンロードしています。ダウンロードした料金をエクセル上で積算しようとすると、計算不能マークが出て計算できないのです。「A1]に数字があるとして、「A1*1」で置換してもダメです。計算可能な数値にする方法はありますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> =LEFT(A1,4)*1”とすると、A1の文字が4文字の場合は数値として認識する のであれば、それを応用できそうですが、 > 苦し紛れに4のところに"=LEFT(A1,(LEN(A1))*1"としてもダメです。 となると、ひょっとすると数字の後に目に見えない制御文字などが入っている可能性がありますね。 4桁の数字を=LEN(A1)を使って実際の文字数を確認してみてください。 もし5などと表示されるのであれば、 =LEFT(A1,(LEN(A1)-1)*1 とすればいけるかもしれません。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >毎月の利用明細はWEB上からエクセルにダウンロードしています。 Excelにダウンロードというのはどういう意味なのでしょうか? データ-外部データの取り込み-新しいWeb クエリ という方法なら、そのようなことにはならないはずです。ただし、この方法ですと、ワークシートにテーブルを作ることになるので、そのシート自体を使えません。 いつも同じサイトなら、そのようにすればよいのですが、そうでない場合、Web からコピーしたものは、一旦、 右クリックで、[形式を選択して貼り付け]で、[テキスト]を選んで貼り付けにし、今度は、それをデータ-区切り位置で、切り分けてあげます。 >=VALUE(A1)とすると、結果は[#VALUE]となります。 これは、A1が、文字列を意味しています。#3さんのご指摘のように、見えない文字-制御文字などが入っていますから、そのままでは使えません。 上記で説明したように、一度、テキストにして貼り付けないと、Excelでは、数字としては扱うことが出来ないはずです。 私は、今までは、上記のようにしていましたが、最近、それが面倒になりましたので、マクロにしてしまいました。
お礼
ご丁寧なアドバイス有難うございます。 今回の場合、#3さんのご教示で問題は解決しました。 パソコン初心者なもので、記述が曖昧・不正確でした。WEB上の表数値を範囲指定して、エクセルに貼り付けただけの作業を、ダウンロードなどと表現して話を混乱させてしまいました。 お説を拝見すると、web上のデータを取り込む方法にも色々あるのですね。残念ながら、お説を完全に咀嚼できる程の知識がないので折角のアドバイスも十分には活かせません。エクセルの奥の深さが再認識できましたので、もっと勉強しようと思います。有難うございました。
- Cupper
- ベストアンサー率32% (2123/6444)
ダウンロードした表の数字が文字列になっていませんか。 Excelのヘルプから 質問(A) に「文字列として保存されている数値を数値形式に変換する」と入力して[ 検索 ]してみてください。 文字列として入力されている数字を一度に数値に変換する方法が見つかります。
補足
小生のエクセルは2000版ですので、ご指摘のヘルプ操作では、該当する回答が得られません。
- ham_kamo
- ベストアンサー率55% (659/1197)
数値が文字列として入力されているのかもしれません。 =VALUE(A1)とするとどうなりますか? もし数式がそのまま表示されるようならば、そのセルの表示形式を「標準」または「数値」にして、もう一度入力しなおしてみてください。
補足
=value(a1)とすると、結果は[#VALUE]となります。表示形式を「数値」にしても結果は同様です。 VALUE関数の他にSUBSTITUTE関数で試行しても結果はダメでした。 ”=LEFT(A1,4)*1”とすると、A1の文字が4文字の場合は数値として認識するのですが、桁数が一定でないので完璧な解決にはなりません。 苦し紛れに4のところに"=LEFT(A1,(LEN(A1))*1"としてもダメです。 A1にダウンロードした数字を、「A1*1」で数値化されるものとダメなものとあるようですね。
お礼
ご親切な回答を有難うございました。 ご指摘の方法でバッチリでした。 LEN関数で文字数を確認したら、目に見える数字数より5文字多く制御文字(?)が入っていました。 ご教示のとおり =LEFT(A1,(LEN(A1)-5)*1 で完璧に数値化できました。 おかげ様で今後の作業が大分能率化されました。改めて御礼を申し上げます。