教えて!gooグレードポイントがdポイントに!

Excelで文字列のセルから6桁の番号のみを違うセルに抽出する方法を教えてほしいです。


太郎様 123456 抽出→123456
23-456789 太郎様 抽出→456789
45担当分 45-567891 抽出→567891
678912 23太郎様 抽出→678912

文字列の書き方は共通性がなく、いくつか関数を試したのですが、関数が適応できません。(マクロはやったことがなく、試していません)

何卒よろしくお願いいたします。

教えて!goo グレード

A 回答 (3件)

条件の穴については考えないものとします。


=MAX(TEXT(MID(A1,{1,2,3,4,5,6,7,8,9,10},6),"0;-0;0;!0")/1)
    • good
    • 2
この回答へのお礼

ありがとう

ありがとうございます!
関数でも可能なんですね!試してみます!

お礼日時:2017/10/06 23:19

まだ間に合うかしら?この機会に、この場をお借りして、


[No.2]の d-q-t-pさんへ、
=TEXT(strings,"0;-0;0;!0") という書式、初めて見ましたが、「0;-0;0;!0」の部分が理解できません。
差し支えなければ解説してください、お願いします。
    • good
    • 0

こんばんは!



万一6桁以上数字が続いていても6桁でやめても良いのですね?
VBAになりますが、一例です。

元データはA列の1行目からあり、B列に表示するとします。

Sub Sample1()
Dim i As Long, k As Long
Dim myStr As String
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Len(Cells(i, "A")) - 5
If Mid(StrConv(Cells(i, "A"), vbNarrow), k, 1) Like "[0-9]" Then
myStr = Mid(StrConv(Cells(i, "A"), vbNarrow), k, 6)
If IsNumeric(myStr) Then
Cells(i, "B") = myStr
Exit For
End If
End If
Next k
Next i
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとう

ありがとうございます!
VBAは勉強中ですが試してみます!

お礼日時:2017/10/06 23:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

人気Q&Aランキング