![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
教えてください。Excelで、文字数の決まっていない文字列を抽出したいのですが、例えば、
セルA1 : プロジェクト1 簡単な文章 2352 PD_JOK
セルA2 : プロジェクト13 複雑な文章列とは決まっていない 2453 AO_JKI
・・・・・・
というセルから、
プロジェクト名から、半角数字前までの文字数が決まっていない文字列「簡単な文章」や「複雑な文章~」をセルB列に抽出する方法を教えていただきたいのですが、
そして、半角数字後の半角英字「PD_JOK」をセルC列に抽出する方法も同時に教えてください。
万単位でデータがあるので、関数を使わないと難しいです。
よろしくお願い致します。
No.5ベストアンサー
- 回答日時:
こんにちは。
スペースのない場合を想定しました。
以下は、汎用性がありますので、他にも使用できます。
'-----------------------------------------------------------
Function ReReplace(myStr As String, strPattern As String)
'myStr 元の文字, strPattern 正規表現パターン
Dim Matches As Object
Dim Match As Object
With CreateObject("VBScript.RegExp")
.Pattern = strPattern
.Global = False
If .Test(myStr) Then
Set Matches = .Execute(myStr)
Set Match = Matches(0)
If Match.SubMatches.Count > 0 Then
ReReplace = Trim$(Match.SubMatches(0))
Else
ReReplace = Trim$(Match.Value)
End If
Set Match = Nothing
Set Matches = Nothing
End If
End With
End Function
'--------------------------------------------------------
Alt + F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以上のコードを貼り付けて、Alt + Q で、画面を閉じます。
ワークシートに戻ったら、
「プロジェクト1 簡単な文章 2352 PD_JOK」
(スペースがあるなしは関係がありません)
抜き出し; 簡単な文章
=REREPLACE(A1,"\d([^\d]+)")
抜き出し; PD_JOK
=REREPLACE(A1,"\d{4}([^\d]+)$")
\d は、数字のこと
[^\d] は、非数字
なお、万単位ある場合は、コピーして、値貼り付けで、定数化して、数式は取り除いたほうが、ワークシートは軽くなります。
No.4
- 回答日時:
区切り位置がスペース、半角英字が6桁として、異化の方法は如何でしょうか。
B1に=MID(A1,1,FIND(" ",A1,FIND(" ",A2,1)+1)-1)
C1に=RIGHT(A1,6)
No.1
- 回答日時:
プロジェクト1_簡単な文章_2352_PD_JOK
↑で『_』で示した所は、半角スペースですか?もし、半角スペースと決まっているなら、
セルB1: =LEFT($A1,FIND("_",$A1,FIND("_",$A1)+1)-1) (←『_』は半角スペース。ご質問の『_』が全角スペースなら全角スペースに置き換えてください。)
セルC1: =RIGHT($A1,LEN($A1)-FIND("_",$A1,FIND("_",$A1,FIND("_",$A1)+1)+1)) (同上)
『find("文字列",A1,文字数)』は、セルA1の左端から数えた『文字数』で示された文字位置から『文字列』を探して、見つかると、その『文字列』の左端から数えた文字数を返します。(文字数が1のときは省略可)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テプラは半角数字が使えますか?
-
契約書や 公文書・私文書などに...
-
EXCELの文字列操作で文字数不足...
-
メールアドレスの上ハイフン入...
-
半角の×(かける)は?
-
半角の『°(単位の度)』
-
関数を使わずに一括で全角を半...
-
Excel2016 検索の窓を常時表示...
-
EXCEL95 VLOOKUP関数で半角と全角
-
1, (1),(1)の使い分け
-
エクセルでひらがな・漢字はそ...
-
ギリシャ文字 μの出し方
-
エクセル関数で文字列の中のス...
-
ワードへの差し込みで数字一桁...
-
半角スペース
-
EXCELで、セル内の半角カ...
-
ビジネスの文書における、数字...
-
℃の半角表示
-
ヘッダー(フッター)の全角・...
-
アッパーバー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テプラは半角数字が使えますか?
-
メールアドレスの上ハイフン入...
-
半角の『°(単位の度)』
-
半角の×(かける)は?
-
関数を使わずに一括で全角を半...
-
EXCELの文字列操作で文字数不足...
-
契約書や 公文書・私文書などに...
-
℃の半角表示
-
EXCEL95 VLOOKUP関数で半角と全角
-
半角スペース
-
EXCELで、セル内の半角カ...
-
エクセル関数で文字列の中のス...
-
ビジネスの文書における、数字...
-
ワードへの差し込みで数字一桁...
-
【VBA】ファイルパスに半角スペ...
-
Excel2016 検索の窓を常時表示...
-
Excel 文字列の中から数字だけ...
-
半角の漢字の入力方法
-
【関数】先頭だけにある、半角...
-
ギリシャ文字 μの出し方
おすすめ情報