こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBA(マクロ)を使わずファイル名の数字のみ抽出

ファイル名の抽出方法は、ググったらわかりましたが、ファイル名からの数字のみ抽出する方法は可能でしょうか?

=MID(CELL("filename"),SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-5)

=MID(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1))+1,FIND("]",CELL("filename",$A$1))-FIND("[",CELL("filename",$A$1))-5)


例:
123abc456.xls → 123456
sample123.xls → 123

 
マクロは考えていないです。よろしくお願いします。

投稿日時 - 2014-06-02 20:24:20

QNo.8621136

暇なときに回答ください

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

作業列を使う方法です。
以下の例では使用するファイル名の最大を拡張子をのぞく16文字としています。
もっと長いファイル名を使うときはそれに合わせて変えて下さい。
A1にファイル名が入っているとします。
D1に↓を入れてS1までコピーします。
=IFERROR(MID($A1,COLUMN(A1),1)*1,"")

B1セルに↓を入れて下さい
=IFERROR((D1&E1&F1&G1&H1&I1&J1&K1&L1&M1&N1&O1&P1&Q1&R1&S1)*1,"")

投稿日時 - 2014-06-04 16:34:47

ANo.2

No.1です。

前回の投稿では操作が判らない部分があると思います。

>Alt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに

>Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに

です。

どうも失礼しました。m(_ _)m

投稿日時 - 2014-06-02 22:20:53

ANo.1

こんばんは!
関数で何とかやってみようとしましたが、
作業用の列をたくさん使わなくてはならない方法しか思いつきませんので

お望みの方法ではないと思いますが、ユーザー定義関数を作ってみました。

Alt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト

Function 数値抽出(検索 As String) 'この行から
Dim k As Long, str As String, buf As String
For k = 1 To Len(検索)
str = Mid(検索, k, 1)
If IsNumeric(str) Then
buf = buf & str
End If
Next k
数値抽出 = buf
End Function 'この行まで

Excel画面に戻り、↓の画像ではC1セルを選択 → アドレスバーの左側のfxのアイコンをクリック → 「関数の分類」の右側▼で
「ユーザー定義」を選択 → 「数値抽出」というユーザー定義関数が選択されているはずですので → OK
「検索」の窓に A1 と入力(A1を選択) → OK
これをフィルハンドルで下へコピーしてみてください。

※ 関数で簡単に出来る方法があればごめんなさいね。m(_ _)m

投稿日時 - 2014-06-02 21:28:20

あなたにオススメの質問