• 締切済み

Excelのセル内の文字操作について

Excelのセル内に、例えば Rmax_20.5s (←_ は半角スペースです) などの様な文字列が入っているのを、関数を使用して 20.5 の様に数値のみを残すことは可能でしょうか。 REPLACEやSEARCHなどで試みましたが、出来ませんでした。 どうぞ宜しくお願い申し上げます。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

規則性が無いと関数では難しくなるので、関数作ってみました 標準モジュールへコピペ Function 数字を取出す(対象セル) As Single Dim i, frg As Integer Dim a, s As String frg = 0 For i = 1 To Len(対象セル.Value) a = 対象セル.Characters(Start:=i, Length:=1).Caption If IsNumeric(s & a) Then s = s & a frg = 1 ElseIf frg = 1 Then Exit For End If Next i 数字を取出す = s End Function 使い方は A1に「Rmax_20.5s」があるとして B1に =数字を取出す(A1) 関数を入力 20.5 と結果が出ます 入力値=結果 123=エラー 123a=123 a12b34=12 abc=エラー abc12.34.56=12.34 abc123.=123 基本的に文字列から数値として成り立つものを取出します 参考まで

sanu1224
質問者

お礼

関数を作っていただき、大変助かりました!! またご説明も大変分かりやすく感謝しております。 さっそく標準モジュールへコピペしたら、OKでした。 数値のみ時のエラーについては解決できました。 文字列のみ時のエラーについては運用で検討してみようと思います。 本当にありがとうございました! m(_ _)m

noname#204879
noname#204879
回答No.2

「数値」の直後には必ず文字列(文字数は一定?それとも不定?)があるのでしょうか?文字列がない場合もあるのでしょうか?

sanu1224
質問者

補足

書き込み、誠にありがとうございます。 質問の仕方が不充分で申し訳ありませんでした。 回答No1の方の欄に補足説明させていただきましたが、下記のような状態です。 セルの中に ・数値だけ(文字列無し)の場合もある ・スペースがない場合もある ・数値の前のみもしくは後ろのみに任意(文字数は不定)の文字列がある場合もある のような諸条件がある場合でも「数値のみを取り出す」に対応出来るような関数は存在しますでしょうか。 度々申し訳ありませんが、ご存知でしたらご教示願います。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

文字列の形式が同じ 数字の前にスペースがあり、数字の後の文字が一文字なら =MID(セル,SEARCH(" ",セル,1)+1,LEN(セル)-SEARCH(" ",セル,1)-1)*1 これで数値だけの取出しができるかと思います。

sanu1224
質問者

お礼

早々のご回答、誠にありがとうございました! お教え頂いた式のとおり、試みてみたら出来ました。 しかし、元の私の質問の仕方が悪く大変申し訳なかったのですが、 セルの中に ・数値だけの場合もある ・スペースがない場合もある ・数値の前のみもしくは後ろのみに任意の文字列がある場合もある のような諸条件がある場合でも「数値のみを取り出す」に対応出来るような関数は存在しますでしょうか。 度々申し訳ありませんが、ご存知でしたらご教示願います。

関連するQ&A

  • Excel セル内の文字だけを取り出すには

    Excelの1つのセルに 01234 ABCDEFG のように、「数字5つ(固定)+半角スペース+(任意の数の)文字」 が入力されています。数値は必ず5桁と決まっていますが、 文字列の数はさまざまです。 関数で文字の部分だけ、別のセルに取り出したいのですが、 どの関数を使うとできますか?教えて下さい。 よろしくお願いします。

  • セル内の文字列操作について

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

  • Excelで1つのセルに3つの情報を入れた情報の抽出方法は?

    いつも教えてもらいありがとうございます。 今Excelにて1つのセルの中に3つから4つの情報が半角スペースで開けて入れているのですが、 別シートにそれらを分けて1つのセルに1つの情報を入れたいのですが、 1つ目の情報は文字列操作関数SEARCHとLEFTの組み合わせで 抽出することが出来たのですが、2つめ以降が上手くいきません。 どうすればできますか教えてください。

  • エクセル セル内のスペースで区切られた文字列を下のセルへ貼り付ける

    質問があります。 エクセルのセル内にスペースで区切られた文字列があります。 これをスペースで区切られた文字ごとに下のセルへ移動させたいのですが、 関数または、マクロでできるでしょうか? よろしくおね害します。

  • エクセルの1セルを1文字でテキストにする方法

    エクセルで編集したものをノートパッドに貼り付けた時に、どうしても余分なスペースが取り込まれてしまい困っています。 エクセルには1セルに対し半角英数を一文字ずつ入力しており、空白セルも存在させています。 これをノートパッドに貼り付けして、textとして使用したいのですが、余分なスペースが入ってしまいます。 また、エクセルの名前をつけて保存でも同じくスペースが入ってしまいました。 エクセルで空白セルにしているところは半角のスペースとして使用したいので、置換も使えません。 どのようにしたらエクセルからテキストにうまく変換できますか? よろしくお願い致します。

  • Excelでカンマ区切りの文字列をセルに分割する?

     住所録をExcelにコピーしたら、 カンマ区切りに一つのセルに入ってしまいました。 ◇カンマごとに一つのセルに分割して文字列を分ける。 ◇氏と名の間は半角スペースでカンマでは有りませんが、   二つのセルに分ける。 上記について分ける関数を教えてください。    

  • EXCELの文字列操作で文字数不足の分をスペースで補う方法

    EXCELの文字データを取り出す際に以下のような操作を行いたいんですが、方法をご存知の方がいらっしゃいましたら教えていただけませんでしょうか。 既にデータの入力されているセルの文字数が、ある一定数に満たない場合は不足分を半角スペースで補う 【例】文字数を15と指定したとします セルに入力されたデータ:山田_ 太郎    ↓ 求めたいデータ:山田_ 太郎_ _ _ _ _ _ (山田の後に半角スペースが1、太郎の後に半角スペースが6つ入っていると仮定してください) ※TEXT関数で数値の文字数不足分を0で埋めるということはできたのですが、TEXT関数は数値のみを対象としているようで・・・。 【例】12345 → 000000000012345 よろしくお願いいたします。

  • エクセル2000での質問-1つのセルに入っている文字列の中から特定の文字の個数を調べるには

    例えばセルA1に「あい1うえ 1おかき11123くけこ」と入っているとします。 その中から、 (半角スペース)あるいは文字列が何個入っているのかを返す関数と言う物は有るのでしょうか?この例の場合半角スペースなら1、数字の1なら5という要領です。

  • エクセル セルの表示形式「文字列」だけを抽出したい

    エクセル2007を使用しています。 A列に数字が入力されていますが、そのセルの表示形式は、「標準」「数値」「文字列」とバラバラです。 この「文字列」のセルだけを抽出したいのです。 例えば、関数などを利用して、B列に表示するなど。 よろしくお願いします。

  • エクセル セルの文字揃え

    エクセルで書類作りをしているのですが、セルで文字の列が揃いません。 数行に左揃えで全角文字を入力、途中に英数記号を混ぜて入力して、途中にスペースを作り、再度文字を入力するとその頭だしが不揃いになります。 半角スペースで調整しても僅かですが揃いません。 スペース後の頭だしを綺麗に揃える方法がありましたら教えてください。 例 ああああああ   ああああ いいいいいい   いいいい うううううう    うううう←こんな感じです(半角より幅がピッチが狭い感じです)

専門家に質問してみよう