- ベストアンサー
エクセルで『1600-』の文字列の処理
エクセル2000でセルに入入力された『1600-』という文字列を『-1600』の数値として認識したいのですが、出来ません。どなたか分かる方お願いします。出来ればVBAを使いたくないのですが…。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
たとえば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))) というふうに全体を一括して処理してしまうのがおすすめです。 いずれにしろ、元のセルを更新してしまいたければ最後に「形式を選択してペースト」 を使って値を書き戻してやればオッケーですね。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.2
考えつくままに式にしました。A1にデータがあるとして、B1セルに =IF(RIGHT(A1)="-",VALUE(LEFT(A1,LEN(A1)-1)),A1)
お礼
早速やってみます。詳しい説明をありがとうございました。