No.6
- 回答日時:
こんばんは。
厳密には、スプレッドシートの関数の使い方は分かりませんが、正規表現のユーザー定義関数を作ってみました。
'//標準モジュール
Public Function REGEXREPLACE(myValue As Variant, Pat As String, Rep As Variant)
Dim RegEx As Object
Dim Ms
Dim Ret As Variant
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True: .IgnoreCase = False: .MultiLine = True
.Pattern = Pat
Set Ms = .Execute(myValue)
Ret = .Replace(myValue, Rep)
End With
REGEXREPLACE = Ret
End Function
実例:
A1 : ”長谷川731”
=REGEXREPLACE(A1,"(\D+)\d+","$1")
結果:”長谷川”
文章の中でも、同一数式で可能です。
No.5
- 回答日時:
こんばんは!
手っ取り早く、この質問限定の関数(ユーザー定義関数)を作ってみてはどうでしょうか?
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト
Function moji(myRng As Range) '//この行から//
Dim k As Long, myStr As String
For k = 1 To Len(myRng)
If Not Mid(StrConv(myRng, vbNarrow), k, 1) Like "[0-9]" Then
myStr = myStr & Mid(myRng, k, 1)
End If
Next k
moji = myStr
End Function '//この行まで//
あとは通常のワークシート関数と同じ使い方をします。
仮にA2以降にデータがあり、B2以降に結果を表示させたい場合はB2セルに
=moji(A2)
という数式を入れフィルハンドルで下へコピー!
※ セル内の数字以外が表示されますので
数字が飛び飛びでも文字だけが表示されてしまいます。m(_ _)m
No.3
- 回答日時:
No.1で答えられている方法は、Excelでは数式内で正規表現を使うことはできませんのでちょっと無理。
・・・本題・・・
超力業
=IF(ISERROR(MID(A1,1,1)*1),MID(A1,1,1),"")
&IF(ISERROR(MID(A1,2,1)*1),MID(A1,2,1),"")
&IF(ISERROR(MID(A1,3,1)*1),MID(A1,3,1),"")
&IF(ISERROR(MID(A1,4,1)*1),MID(A1,4,1),"")
&IF(ISERROR(MID(A1,5,1)*1),MID(A1,5,1),"")
&IF(ISERROR(MID(A1,6,1)*1),MID(A1,6,1),"")
&IF(ISERROR(MID(A1,7,1)*1),MID(A1,7,1),"")
&IF(ISERROR(MID(A1,8,1)*1),MID(A1,8,1),"")
1文字ずつ拾って、数字なら空白に置き換え、数字でなければ拾いだした1文字同士を連結しています。
ですので、この例では8文字まで対応です。
※ Excelに貼り付ける時には数式バーに直接貼り付けてください。セルに貼り付けると別々のセルにバラバラになって貼り付きます。
No.2
- 回答日時:
こちら↓の方法を組み合わせてみては。
https://qiita.com/mhara/items/82421d1b34e88a3efba1
A2セルに文字列があるとして、B2セルを
=SUBSTITUTE(A2,LOOKUP(10^17,RIGHT(A2,COLUMN(1:1))*1),"")
にします。
空白セルの処理もするなら
=IFNA(SUBSTITUTE(A2,LOOKUP(10^17,RIGHT(A2,COLUMN(1:1))*1),""),"")
にします。
上記の場合、文字のみだと抽出しません。
No.1
- 回答日時:
僕はエクセルではなくスプレッドシートなので申し訳ないのですが
関数は殆ど同じですので試してみてください
これで数字を正規表現で抽出して””で置き換えています
=REGEXREPLACE(A1,"[0-9]","")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
- Excel(エクセル) スプレッドシートの関数 1 2023/07/18 18:17
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- Excel(エクセル) エクセルで#以降の文字を取得したい 1 2022/03/28 13:14
- Excel(エクセル) Excelの1つのセルにそれぞれ文字+数字が入力されていて、 数字のみ抽出して合計したいです。(合計 4 2023/03/16 23:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル: セルの枠を超えて表示
-
セル内の一部の文字だけをハイ...
-
Excel countif関数で取り消し線...
-
エクセルファイルに _x000D_ と...
-
Excel入力で勝手にエンター押さ...
-
Excelでcsvやtxtで保存する時に...
-
エクセルで1つのセルにスクロ...
-
エクセルの白黒の反転で困って...
-
エクセルで右隣のセルより優先...
-
マウスポインターが白十字のまま
-
エクセルで画像を透過させて画...
-
セルを結合しても、文字をセル...
-
エクセルでセルを上下に結合し...
-
セルは大きくさせず、中の文字...
-
VBA:結合されたセルに対する「...
-
エクセルのカメラがずれる
-
エクセルの入力規則プルダウン...
-
JIS水準漢字の選別方法教えてく...
-
複数セルに一本の斜線を引く
-
Excel 2010でひとつのセル内に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル: セルの枠を超えて表示
-
Excel countif関数で取り消し線...
-
セル内の一部の文字だけをハイ...
-
エクセルの白黒の反転で困って...
-
セルは大きくさせず、中の文字...
-
マウスポインターが白十字のまま
-
エクセルファイルに _x000D_ と...
-
Excelでcsvやtxtで保存する時に...
-
エクセルで画像を透過させて画...
-
エクセルで1つのセルにスクロ...
-
エクセルでセルを上下に結合し...
-
エクセルの2つのセルを内容も消...
-
エクセルで特定の列のセルだけ...
-
セルを結合しても、文字をセル...
-
エクセルの入力規則プルダウン...
-
VBA:結合されたセルに対する「...
-
エクセルで右隣のセルより優先...
-
Excel入力で勝手にエンター押さ...
-
エクセル 折り返して全体を表...
-
エクセル2013で英単語を折り返...
おすすめ情報