
D:\1111\2222\3333\aaa.xls
という状態の時、Excelのセル内に「2222」を表示させるにはどのようにすればよいでしょうか?
自ファイルのあるフォルダ「3333」の表示は
=MID(CELL("filename"),
FIND("♪",SUBSTITUTE(CELL("filename"),"\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"\",""))-1))+1,
FIND("♪",SUBSTITUTE(CELL("filename"), "\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"\",""))))-FIND("♪", SUBSTITUTE(CELL("filename"),"\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"), "\",""))-1))-1)
という形で出来るということは検索して出てきました。
開始位置と文字数の問題だと思いますが、どこをどう調節すれば上の階層のフォルダ名取得になるのかわかりません。
ご教授のほどお願い致します。
注:マクロを使う予定はありませんのでエクセルVBAマクロを使っての解答はお控えください。
No.1ベストアンサー
- 回答日時:
こんにちは。
一階層上のフォルダ名ですよね。
=MID(CELL("filename"),
FIND("♪",SUBSTITUTE(CELL("filename"),"\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"\",""))-2))+1,
FIND("♪",SUBSTITUTE(CELL("filename"), "\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"\",""))-1))-FIND("♪", SUBSTITUTE(CELL("filename"),"\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"), "\",""))-2))-1)
))-1))
2か所を
))-2))
に
))))
を
))-1))
に
書き換えることで対応しています。
ありがとうございます。思っていたことができました。
こういう形で対応できたのですね。
ご教授ありがとうございます。
質問の趣旨にそっておられましたのでベストアンサーとさせて頂きます。
No.2
- 回答日時:
元の数式は、解読していないのですが、こんな数式になるような気がします。
何ぶん、長い間、EXCELも関数も遠ざかっているので、間違っていたらすみません。
=MID(CELL("filename"),FIND("^",SUBSTITUTE(CELL("filename"),"\","^",3))+1,FIND("^",SUBSTITUTE(CELL("filename"),"\","^",4))-FIND("^",SUBSTITUTE(CELL("filename"),"\","^",3))-1)
>エクセルVBAマクロを使っての解答はお控えください。
VBAでは、よく出てくるような気がしました。しかし、正規表現とか、VBScriptという手はあるのですが、VBA自体には、こんなSUBSTITUTEのように、検索文字の検出回数を数えるような、便利な関数はないような気がします。
SUBSTITUTE(CELL("filename"),"\","^",3) ←ここの最後のパラメータの「3」です。
ありがとうございます。思っていたことができました。
こちらの方が短くなっている気がするのですが・・・。
お二人にベストアンサーが送れないことを心苦しく思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】写真の縦横比を変えずに...
-
エクセルの数式で教えてください。
-
Not kind:Folders
-
検索したファイルの場所を調べ...
-
常に「すべての列のサイズを自...
-
タスクスケジューラで指定フォ...
-
System32内のファイルを書き換...
-
”彦”の異体字
-
「簡易ファイルの共有を使用す...
-
ワードの作成日時と更新日時
-
VB.net 画面のハ-ドコピーでエ...
-
新規作成でなぜフォルダだけ?
-
ショートカットファイルそのも...
-
ルーティングプロトコルの実装
-
VB.net 任意の例外を発生させ...
-
右クリックメニューに「ファイ...
-
突然エクセルのデータが何ヶ月...
-
ペイントの文字をコピーするには?
-
シャットダウン時に自動ファイ...
-
ファイル並び順がバラバラで困...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】写真の縦横比を変えずに...
-
エクセルの数式で教えてください。
-
VBAで同一フォルダにあるブック...
-
パイソンでエクセルマクロを動...
-
フォルダ名表示をするには?
-
Not kind:Folders
-
常に「すべての列のサイズを自...
-
検索したファイルの場所を調べ...
-
タスクスケジューラで指定フォ...
-
ファイル並び順がバラバラで困...
-
VB.net 任意の例外を発生させ...
-
System32内のファイルを書き換...
-
ショートカットファイルそのも...
-
レジストリの変更が保存されない
-
ネットワーク経由の共有ファイ...
-
Cドライブにconfig msiというフ...
-
Win 10エクスプローラーについ...
-
貼り付けとショートカットの貼...
-
コマンドプロンプトでファイル...
-
VMWare Playerの共有フォルダは...
おすすめ情報