
No.6ベストアンサー
- 回答日時:
No.3です。
今回もユーザー定義関数でやってみました。
セル内の文字数に制限はなく、最後の数値のあとに数値以外の文字列があっても
結果は最後の連続する数値を表示するようにしています。
Function suuti(myRng As Range)
Dim k As Long, str As String, myStr As String, myFlg As Boolean
For k = Len(myRng) To 1 Step -1
str = StrConv(Mid(myRng, k, 1), vbNarrow)
If str Like "[0-9]" Then
myFlg = True
myStr = str & myStr
End If
If myFlg = True Then
If Not str Like "[0-9]" Then Exit For
End If
Next k
If Len(myStr) > 0 Then
suuti = Val(myStr)
Else
suuti = ""
End If
End Function
※ ファイルを保存するときは
「マクロ有効ブック」として保存します。m(_ _)m
No.4
- 回答日時:
再度失礼します。
質問者さま大変失礼ながら”A1”の部分を対象セルに置き換えをわすれていませんか?3つ同じセルを置き換えする事になります。
左・真ん中・右にあります。
先程はスマホから投稿しまして、できないとのことでしたので
記述間違いかと思いエクセル開いて試しましたがちゃんとできますよ!
1つでも置き換え忘れるとできません。
確認してもらえますか?
=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),LEN(A1))
↑ ↑ ↑
ここ ここ ここ
申し訳ございません!!
対象セルの中身が1→Ⓐ30と→の前にも数値が入ってしまっておりました。
無事に数値だけ抽出できました。有難うございます
No.3
- 回答日時:
こんにちは!
すでに回答が出ていますので、別案です。
この質問限定の関数(ユーザー定義関数)を作成してみてはどうでしょうか?
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → VBE画面を閉じてExcel画面に戻ります。
Function suuti(myRng As Range) 'この行から//
Dim k As Long, str As String, myStr As String
For k = 1 To Len(myRng)
str = StrConv(Mid(myRng, k, 1), vbNarrow)
If str Like "[0-9]" Then
myStr = myStr & str
End If
Next k
If Len(myStr) > 0 Then
suuti = Val(myStr)
Else
suuti = ""
End If
End Function 'この行まで//
通常の関数と同じ使い方ができます。
仮にA1セル以降にデータがあり、B1セル以降に表示させたい場合はB1セルに
=suuti(A1)
という数式を入れフィルハンドルで下へコピーします。
※ セル内に飛び飛びで数値があっても
すべての数値が羅列されます。m(_ _)m
こんにちは!!有難うございます
ユーザー定義関数初めてです…凄いですねこれは!
無事に欲しい数値が出てきました。
ちなみに20→Ⓐ30という表示があったとき、現在は2030と表示されますが、30だけの表示は得られますでしょうか?質問続きで申し訳ございません。
もし良かったらお時間あるときご教示頂けますと幸いです。
本当に有難うございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) エクセルで#以降の文字を取得したい 1 2022/03/28 13:14
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
Excelでのコメント表示位置
-
エクセルの書式設定の表示形式...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
対象セル内(複数)が埋まった...
-
excelの特定のセルの隣のセル指...
-
Excelで数式内の文字色を一部だ...
-
Excel2003 の『コメント』の編...
-
【エクセル】IF関数 Aまたは...
-
EXCELのセルの中の半角カンマの...
-
EXCEL VBA セルに既に入...
-
エクセルで住所と建物名を分け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報