エクセルで英数字を含む文字列から数字を抽出く
=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))
小数点にも対応させるにはどうしたら良いでしょうか。
「AA0.45」→0.45
「0.65BB」→0.65
「CC0.85CC」→0.85
http://office.microsoft.com/ja-jp/excel-help/HA0 …
を参照しました
No.4ベストアンサー
- 回答日時:
元の数式を活かすなら以下のような関数で数字の出ている部分の最後の位置を調べます。
=MAX(ISNUMBER(1*MID(A2,ROW($1:$9),1))*ROW($1:$9))
この左の文字列部分だけで、最初に数字が出てくる部分を調べ、MID関数でその後の文字数を十分大きな数字(例えば9)にすれば良いことになります(配列数式)。
=1*MID(LEFT(A2,MAX(ISNUMBER(1*MID(A2,ROW($1:$9),1))*ROW($1:$9))),MATCH(TRUE,ISNUMBER(1*MID(A2,ROW($1:$9),1)),0),9)
No.3
- 回答日時:
いきなり別解です。
(*^_^*)添付図参照
B1: =MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)),99)
(これは普通の数式)
C1: {=IF(ISERR(B1*1),LEFT(B1,MATCH(TRUE,(MID(B1,ROW(INDIRECT("1:"&LEN(B1))),1))>="a",0)-1),B1)}
(こちらは配列数式)
No.1
- 回答日時:
こんばんは!
文字列の数値は必ず連続で一つだけ
(「AA0.45BC20」ように数値が複数場所)で存在しなくて、必ず小数点がある場合の一例です。
A1セルからデータがあるとして、表示したいセルに
=MID(A1,MATCH(TRUE,ISNUMBER(MID(A1,ROW($A$1:$A$20),1)*1),0),COUNT(MID(A1,ROW($A$1:$A$20),1)*1)+1)
これは配列数式になってしまいますので、Shift+Ctrlキーを押しながらEnterキーで確定!
この画面からコピー&ペーストする場合は
セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますのでShift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークがはいり配列数式になります。
これをオートフィルで下へコピーではどうでしょうか?
もし、小数点以下がある数値・ない数値が混在する場合は
VBAになってしまいますが、一例です。
B列に表示するようにしてみました。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i, k As Long
Dim str, buf As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
buf = ""
For k = 1 To Len(Cells(i, 1))
str = StrConv(Mid(Cells(i, 1), k, 1), vbNarrow)
If str Like "[0-9 .]" Then
buf = buf & str
End If
Next k
Cells(i, 2) = buf
Next i
End Sub 'この行まで
※ すべての数値と小数点を表示してしまいますので数値は連続して一か所だけという前提です。
参考になりますかね?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) Excelで縦1列に並んだ大量の数字から、一定間隔で平均値を出したい。 2 2023/02/20 09:17
- Excel(エクセル) If関数に関する質問です。(再掲) 3 2022/10/01 20:51
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) マクロ作成初心者です。CSVファイルの日付データについて 3 2022/12/14 06:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Outlook で宛先が複数の場合の人数
-
【スプレッドシート】指定の日...
-
Microsoft Formsの「個人情報や...
-
Microsoft Edgeの「ニュースと...
-
VLOOKUP関数について
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
outlookのメールが固まってしま...
-
teams設定教えて下さい。 ①ビデ...
-
Microsoft365で写真をアルバム...
-
Microsoft Officeに似たキング...
-
会社におけるOfficeライセンス...
-
【スプレッドシート】白色のセ...
-
Excel VBA 日程表からスケジュ...
-
VBAファイルの保存先について
-
エクセル、ワード、ネット検索...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報