Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2016)
数字だけを抜き取り区切りたい。
投稿日時: 20/08/12 10:36:49
投稿者: JIRO-KUN

A1= +5678A / 1234" ■ 56987- G5555* **8888 K1234--
B1= 7899* ●12345+ か7777+ ///333 **
 
数字以外でいろんな文字が入力されてるところで区切り数字だけを抜き取り区切りたいです。
 
結果↓
 
B1=5678
C1=1234
D1=56987
E1=5555
F1=8888
G1=1234
 
 
B2=7899
C2=12345
D2=7777
E2=333
 
B1〜E2に入力する関数を教えてください。
よろしくお願いします。
 

回答
投稿日時: 20/08/12 11:11:42
投稿者: age7785

B1には何が入るのが正解なのでしょうか?

回答
投稿日時: 20/08/12 11:38:59
投稿者: んなっと

                        A   B   C   D   E   F   G
1 +5678A / 1234" ■ 56987-5555* **8888 K1234-- 5678  1234 56987 5555 8888 1234
2        7899* ●12345+ か7777+ ///333 ** 7899 12345  7777  333      
 
B1
=IFERROR(-LOOKUP(1,-RIGHT(LEFT($A1,AGGREGATE(15,6,ROW($1:$300)/(MID($A1,ROW($1:$300),1)*0=0)/ISERR(FIND(ASC(MID($A1&"|",ROW($1:$300)+1,1)),"0123456789,.")),COLUMN(A:A))),ROW($1:$20))),"")
右方向・→下方向・↓

投稿日時: 20/08/12 12:01:00
投稿者: JIRO-KUN

上から2行目、
B1ではなくA2でした。
すみません。

回答
投稿日時: 20/08/12 12:04:20
投稿者: んなっと

条件次第ですが、こんなのも。
 
=IFERROR(LOOKUP(10^15,1*MID($A1,AGGREGATE(15,6,ROW($1:$100)/(MMULT(1*ISERR(MID("|"&$A1,ROW($1:$100)+{0,1},1)*0),{2;1})=2),COLUMN(A1)),ROW($1:$15))),"")

投稿日時: 20/08/12 12:53:58
投稿者: JIRO-KUN

んなっと 様 ありがとうございます。
はじめの方法でやりたいと思います。
 
行が2000行あるのですが
$300 を $2000 にすればよいのでしょうか?
 
ROW($1:$20)の $20 の意味は?
$20 はこのままでいいのでしょうか?

投稿日時: 20/08/12 13:17:37
投稿者: JIRO-KUN

今データのあるエクセルに新しいシートを追加しためそうとしましたら、
 
 
MIDのところが黒くなって確定できないです。
バージョンは2016です。
 
 
ふたつ目の方法でしたらできました。
 
ふたつ目の方法で2000行あるのですがどこを変更すればいいでしょうか?

回答
投稿日時: 20/08/12 13:37:22
投稿者: んなっと

$100とか$300は、「セル内の最大総文字数」と考えてください。
2番目の式の$15は、「連続する数字の最大個数」。
 
つまり、行数とは無関係です。1万行でも関係なし。

投稿日時: 20/08/12 16:39:56
投稿者: JIRO-KUN

んなっと 様
最大総文字数、数字の最大個数 理解しました。
すべてうまくできました。
どうもありがとうございました。