• ベストアンサー

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

  • エクセルで数値と文字が入ったセルからの数値の抽出

    皆さんこんにちは。 エクセルの使い方についての質問です。 添付画像の例のようにA列に 「XXYYYZZ(XとZは文字、Yは数値で3桁または4桁)」というフォーマットで 数値と文字が入っているセルがあります。 同様にB列には「WWZ(Wは数値)」というフォーマットで、 同様に数値と文字が入っているセルが並んでいます。 これらからDやE列にあるように数値のみを取り出すためには DやE列にどのような関数を入れてやればよいのでしょうか。 どなたか教えていただければ幸いです。 よろしくお願いします。

  • 数値・文字列を決まった範囲の数値に変換・割り当てる(ハッシュする?)方

    数値・文字列を決まった範囲の数値に変換・割り当てる(ハッシュする?)方法について ハッシュ関数を使えば、ある文字列・数値を何らかの法則で暗号のように変換できることは分かったのですが、その変換される結果の範囲を決まった数値として指定することは可能なのでしょうか。 例えば『文字列を「1~95」の数値のどれかに割り当てたい』という感じです。 ランダムでなく、何度やっても同じ結果にしたいのです。 また、範囲は例では「1~95」としていますが、「1~230」「1~500」など自由に変更したいと思っています。 ※以前質問した占いに関連するものでして、結果の数が定まっていないため、 結果の数に応じて、元となるデータから占い結果に割り当てるということをやりたいと思っています。 ご教示いただけますようお願いします。

    • ベストアンサー
    • PHP
  • セル内の文字列操作について

    Excelでセル内の文字列を操作したいのですが、Excelの標準の関数では出来そうにないので、どなたかお力をお貸しください。 1つのセル内に、文字列や数値が複数入っています。 (例) Excel 12 りんご Word 11 このセルを調べて、数値のデータが複数入っている場合、最大値のみを表示させ、残りの数値データは削除したいのです。 (結果) Excel 12 りんご Word この処理の対象はセル内の数値データであって文字列には作用させず、結果的には文字列はそのまま表示させたいのです。 Excelの文字列に関する関数を調べてみたのですが、該当するものがなく、VBAを使用しなくてはならないのかもしれません。処理するデータが大量なため、VBAマクロなどで処理できれば大変ありがたいのですが、どなたかご存知の方がいらっしゃいましたら、ご教授くださいませ。どうぞよろしくお願いいたします。

  • (エクセル)複数のセルの数値を、一つのセル羅列したい

    いつもお世話になります。 エクセル初心者(マクロも関数も;;)です。 表題の通り、複数のセルにある数値を一つのセルにまとめる方法を探しています。 例えば、 --------------------------     A   B   C   D 1   123  45   67  1234567 2   00   11   22  001122 -------------------------- のようにDの縦列にA・B・Cの数値を (合計ではなく)羅列させたいのです。 すごく初歩的な質問のようなことだと思いますが これがわかりません。。。 どうか簡単な方法を教えて下さい。 あと数値じゃなくて文字列でも同じような事ができるでしょうか? 環境:Excel2003

  • エクセル関数を使って数値を取り出す

    エクセルの範囲から残りの数値を取り出す方法を教えてください   図の様に1~9の数値入ったセル範囲があります そこから 入力されている数値外の9以内の数値をとりだす マクロを使わないで  関数だけでできるでしょうか?  

  • 指定の文字列を指定の数値に変換する方法

    エクセル2002で、指定の文字列を指定の数値に変換する方法を教えて下さい。 下記から、数字を文字列に変換する方法はみつけたのですが、逆ができません。。 [書式(O)]→[セル(E)...]→[セルの書式設定]→[表示形式]→[分類(C)]→[ユーザー定義]内。 [=1]"ABC";[=2]"赤青黄色";"未定" もちろん、関数でもかまわないのですが、適当なものが見つかりません。 例えば、こんな感じに変換。 ABC     →1 赤青黄色     →2 大根にんじん →3 昼休み    →4 放課後   →5 よろしくお願いします!

  • Excelセル内の="○○"を○○に変換

    Excelのセル内に文字列が直接入力されていなくて、わざわざ式で、="○○"と書かれています。 これを○○に変換するには、どういった関数で処理すればよいのでしょうか。 よろしくお願いします。

  • エクセルの関数の引数で範囲指定をしたいのですがセル番地の足し算などは出

    エクセルの関数の引数で範囲指定をしたいのですがセル番地の足し算などは出来ないのでしょうか? address関数を使ってみたのですが、文字列として認識される為エラーが出ました。 もしくは文字列をセル番地(範囲指定できる形)に変換することは出来ませんか?

  • Excel で 文字→数字変換

    エクセルで文字→数字変換を行いたいのですが、 どのようにすればよいでしょうか? (やりたい例) あるセルの特定文字列位置の文字を数字に変換したい。 文字列先頭から4番目の文字を元に数値に変換する。 Aだと1と変換、Bだと2と変換、Cだと3と変換… A1:xxxBxxxx B1:2 うまく質問が表現できなくてすいません。 実現方法はVBAでも結構です(使ったことはありませんが)。

  • エクセルの文字列を空白で文字数を揃えたい

    皆様のお知恵を拝借したく書き込んでいます。 どうか宜しくお願いいたします。 エクセルにあるデータをカンマ区切りCSVに したいと思っております。 *例 1,1,1,3,1,2,11,・・・ これに数値を空白で埋めて四文字(0001,等)にさせたいのですが、 どのような方法が可能でしょうか? ・試したこと 1、サクラエディタでの正規表現 でも、置換後の文字列を動的に渡せるのかわからなくて失敗。 2、セルの表示形式 数値の桁数によって変化させる方法がわからず 3、エクセルマクロ LEN関数を使ってループさせれば可能? (時間がかかりそうです) 以上、宜しくお願いします。

専門家に質問してみよう