- ベストアンサー
文字列操作について教えてください
はじめまして。 はじめて質問するので、不適切な質問等をしてしまったらすみません。 仕事で頼まれたのですが、 例 あいう/えお/かき.xls とゆう値がセルに記入されている場合 一番最後の/から後ろの文字を抽出できるような関数はありませんか? (例でいうと、かき.xlsを抽出したい) Excelの関数を組み合わせたりする応用が考えられない為、ぜひ教えてくださいお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
=RIGHT(A1,LEN(A1)-FIND("/",A1,FIND("/",A1)+1))
その他の回答 (6)
マクロなら、そのものスバリで文字列を反転させる strreverse関数があるんですが...
お礼
マクロが全然わからなんです↓ 勉強不足ですみません。 もっといろいろ勉強します! ありがとうございました!
- sige1701
- ベストアンサー率28% (74/260)
こんな感じでもいいかな =RIGHT(A1,MATCH("/",LEFT(RIGHT(A1,COLUMN(1:1))),0)-1) =REPLACE(A2,1,MAX((MID(A2,COLUMN(2:2),1)="/")*COLUMN(2:2)),"") ともに配列数式です。 =REPLACE(A1,1,MAX(INDEX((MID(A1,COLUMN(1:1),1)="/")*COLUMN(1:1),)),"")
お礼
回答ありがとうございました! しかも2通りも!すごい助かります! まだ試してないのですが、早くお礼したくて・・・。 早速明日使用してみようと思いますヽ(゜∀゜)メ(゜∀゜)メ(゜∀゜)ノ! 勉強になります!
=CutStr("あいう/えお/かき.xls", "/", 3) これで、"/" で区切られた文字列"あいう/えお/かき.xls" から3番目を取り出します。 標準モジュールに以下の関数をコピペすれば、こういう書き方も可能になります。 Excelの関数に堪能でない場合は、お勧めかも知れません。 Public Function CutStr(ByVal Text As String, _ ByVal Separator As String, _ ByVal N As Integer) As String Dim strDatas() As String strDatas = Split("" & Separator & Text, Separator, , 0) CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function
お礼
回答ありがとうございました! まだ試してないのですが、早くお礼したくて・・・。 初めて見た関数です。それと標準モジュールがよくわからないのです↓ もう少し勉強して明日いろいろ試してみたいと思います! 勉強になります!
- sige1701
- ベストアンサー率28% (74/260)
=RIGHT(A1,MATCH("/",INDEX(LEFT(RIGHT(A1,COLUMN(1:1))),),0)-1)
=MID(A1,FIND("\",SUBSTITUTE(A1,"/","\",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))+1,99)
お礼
回答ありがとうございました! まだ試してないのですが、早くお礼したくて・・・。 早速明日使用してみようと思います! 勉強になります!
- maron--5
- ベストアンサー率36% (321/877)
◆これで、いかがですか? =REPLACE(A1,1,FIND("★",SUBSTITUTE(A1,"/","★",LEN(A1)-LEN(SUBSTITUTE(A1,"/",)))),)
お礼
早速の回答ありがとうございました! 明日使用してみようと思います!
お礼
回答ありがとうございました! まだ試してないのですが、早くお礼したくて・・・。 早速明日使用してみようと思います! 私も知ってる関数なので頑張って作成してみます。