• ベストアンサー

excelであるセル内の数値をある文字に変換したい

excelで、ある列のセルにある数値の内、ある指定範囲内の数値のみある文字列に変換したい場合、どんな方法(関数やマクロ)があるでしょうか? 例として 10 20 100 →XX 1000→XX XX 50 100以上をXX(範囲外)に変換したい

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

関数は、別セルにしか表示できないので次の方法で如何でしょうか。 方法1 セル表示のみでよければ、セルの表示形式をユーザ定義で[>=100]xx 方法2 マクロ(VBA)例です。 対象範囲を選択してマクロ実行して下さい。 置換文字 = "xx"のxxの部分に任意文字列として下さい。 Sub sample() Dim rng As Range, r As Range 置換文字 = "xx" On Error GoTo err For Each rng In Selection.SpecialCells(xlCellTypeConstants, 1).Areas For Each r In rng If r >= 100 Then r.Value = 置換文字 Next Next err: End Sub

fuku3347
質問者

お礼

ご回答ありがとうございました。 他のトラブルが入った為、テストに時間がかかりましたが、うまくいきました。

その他の回答 (6)

回答No.7

'マウスで範囲を選択バージョン Sub TestValue() Const TestValueUpper = 100 'Const TestValueLower = 0 Const PadValue = "XX" Dim Scope As Range Application.ScreenUpdating = False Set Scope = Selection For Each Scope In Selection 'MsgBox Scope.Address & "=" & Scope.Value If IsNumeric(Scope.Value) Then If Scope.Value >= TestValueUpper Then Scope.Value = PadValue End If End If Next Application.ScreenUpdating = True End Sub

回答No.6

Sub TestValue() Const TestValueUpper = 100 'Const TestValueLower = 0 Const PadValue = "XX" Dim kk As Long Application.ScreenUpdating = False For kk = 1 To Cells(Rows.Count, 1).End(xlUp).Row If IsNumeric(Cells(kk, 1).Value) Then If Cells(kk, 1).Value >= TestValueUpper Then Cells(kk, 1).Value = PadValue End If End If Next Application.ScreenUpdating = True End Sub

回答No.5

ANo.2です 検索する文字列* *は任意文字列を表すワイルドカードなので何か入力されているならすべて検索されます.これで私はできましたが,できませんか.

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

「100以上」でしたか^^;;; 失礼しました、忘れてください^^;;;

回答No.2

列の数値がある範囲(または空行がなく連続して入っているならどこのセルでもよい)を選択し, ・データタブ→オートフィルタで100以上の条件を指定 抽出された範囲を選択して ・CTRL+H(置換ダイアログボックス) ・検索する文字列*置換後の文字列XX ・すべて置換する

fuku3347
質問者

お礼

ご回答ありがとうございます。 検索する文字列が一つならいいですが、 オートフィールタで抽出されたセル全てを置換する場合、 検索する文字列を指定しなくても良い方法はありますか? (例で100以上全て=100,101,102,,~)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

> 100 →XX > 1000→XX 範囲を指定して、  2007以降→検索と置換→置換  2003以前→編集→置換  (共通:Ctrl+H) で置換のダイアログを表示 オプションを表示させ 「セル内容が完全に同一であるものを検索する」 にチェック 検索する文字列「100」 置換後の文字列「XX」 入力し、「すべて置換」ボタンをクリック 1000も同様に。

fuku3347
質問者

お礼

ご回答ありがとうございます。 検索する文字列パターンが少なければ良いですが、多い場合は繰り返すのが大変ですが、、、 例として、100以上全ての場合は?

関連するQ&A