• ベストアンサー

エクセルで『1600-』の文字列の処理

エクセル2000でセルに入入力された『1600-』という文字列を『-1600』の数値として認識したいのですが、出来ません。どなたか分かる方お願いします。出来ればVBAを使いたくないのですが…。

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

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

たとえばA1のセルに「1600-」と書いてあるとして、B1に =-1*value(left(A1,4)) で-1600の数値になりますね。末尾に必ず「-」が付くけど桁数が不定なら、 =-1*value(left(a1,len(a1)-1)) と拡張します。 末尾に「-」が付いてなくてちゃんと数値になっているデータと入り交じってる 場合、いちいち該当する部分を処理するのは面倒なので、 =if(isnumber(a1),a1, -1*value(left(a1,len(a1)-1))) というふうに全体を一括して処理してしまうのがおすすめです。 いずれにしろ、元のセルを更新してしまいたければ最後に「形式を選択してペースト」 を使って値を書き戻してやればオッケーですね。

peugeot
質問者

お礼

早速やってみます。詳しい説明をありがとうございました。

その他の回答 (1)

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

考えつくままに式にしました。A1にデータがあるとして、B1セルに =IF(RIGHT(A1)="-",VALUE(LEFT(A1,LEN(A1)-1)),A1)

関連するQ&A