アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のような数字と文字の組み合わさった文字列から数字のみを取り出したいのですが、
基準となる文字もなく、数字の桁、文字数もバラバラで、さらに文字部分にも数字が
入っていて調べた数式が使えず困っています。

(例1)109778大倉山マンション第3⇒109778 を取り出したい
(例2)13482マックハイム綱島第10 ⇒ 13482 を取り出したい
(例3)12896ハイム大倉山⇒12896 を取り出したい
(例4)1198藤和シティコープ大倉山太尾町A棟⇒1198を取り出したい

調べた数式=LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))

上記の数式だと(例1)(例2)の場合、建物名の数値を反映してしまい数値のみ取り出せません。
数値部分はみたところ4~6桁でした。

何か良い数式がありましたら、ご教授願います。

A 回答 (4件)

9桁まで対応


=1*LEFT(A1,MATCH(2,LENB(MID(A1,{1,2,3,4,5,6,7,8,9,10},1)),0)-1)
最初の全角文字が何文字目かを検索して その-1文字までを取り出す
    • good
    • 0
この回答へのお礼

全角を検索するこの方法を探しておりました。
ありがとうございます!

お礼日時:2011/03/30 17:32

4ケタから6ケタでしたら次の式でもよいでしょう。



=IF(ISNUMBER(LEFT(A1,6)*1),LEFT(A1,6)*1,IF(ISNUMBER(LEFT(A1,5)*1),LEFT(A1,5)*1,IF(ISNUMBER(LEFT(A1,4)*1),LEFT(A1,4)*1,"")))
    • good
    • 0
この回答へのお礼

できました。ありがとうございます。
いろいろと関数の組み合わせでできるんですね。。
参考にさせていただきます。

お礼日時:2011/03/30 17:41

先頭の数値部分が4~6桁限定でちょっとカッコ悪いですが、以下の式では如何でしょうか?



=IF(ISERROR(VALUE(LEFT(A1,6))),IF(ISERROR(VALUE(LEFT(A1,5))),LEFT(A1,4),LEFT(A1,5)),LEFT(A1,6))
    • good
    • 0
この回答へのお礼

できました。。ありがとうございます。
今後の参考にさせていただきます。

お礼日時:2011/03/30 17:34

建物名が「第1○○マンション」とかじゃなかったら、最初から6文字だけ取り出してしまえば良いんじゃない?



調べた数式=LEFT(LEFT(A1,6),LEN(LEFT(A1,6))*10-SUM(LEN(SUBSTITUTE(LEFT(A1,6),{0,1,2,3,4,5,6,7,8,9},))))

みたいに…。(元の式を試してないから違ってるかも。)
    • good
    • 0
この回答へのお礼

できました。ありがとうございます。
最初に最大値6文字を指定すればよかったのですね。

お礼日時:2011/03/30 17:30

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