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

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

=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

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

A 回答 (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,"")
「VBA(マクロ)を使わずファイル名の数字」の回答画像3
    • good
    • 0

No.1です。



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

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

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

です。

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

こんばんは!


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

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

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
「VBA(マクロ)を使わずファイル名の数字」の回答画像1
    • good
    • 0

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