例えば
http://●●●/●●●/●●●/ikou_20090915/img10453696068.jpg
このようにA1セルに記載がある場合

後ろから/二つ目以降を 別のセルに抜き出したい
(後ろから二つ目の/より前を削除したい)

つまり
ikou_20090915/img10453696068.jpg
このようにしたいのですが、
関数で出来るでしょうか?

困っています。
教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

例えば次の式でもよいでしょう。



=SUBSTITUTE(TRIM(MID(SUBSTITUTE(A1,"/",REPT(" ",100)),500,200))," ","/")
    • good
    • 0

安直ですが、置換では如何でしょうか。


編集→置換→検索文字時列を*/iko、置換文字列欄にiko→全て置換

後ろから/二つ目の文字列がiko以外に沢山あれば関数やVBAになると思いますが、数種ならこの方が簡単です。
    • good
    • 0

 関数で行うのでしたら、



=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"/",))<2,"",MID(A1,FIND("゛゜",SUBSTITUTE(A1,"/","゛゜",LEN(A1)-LEN(SUBSTITUTE(
A1,"/",))-1))+1,LEN(A1)))

或いは、

=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"/",))<2,"",REPLACE(A1,1,FIND("゛゜",SUBSTITUTE(A1,"/","゛゜",LEN(A1)-LEN(SUBSTITUTE(A1,"/",))-1)),))

で良いと思います。
 尚、上記の関数では、含まれている「/」が2つ未満の場合には、2つ目以降には文字が存在しないと見做して、何も表示しない様になっております。
 それから、2番目の関数の中心部分は、ANo.2様のものと殆ど同じですが、SUBSTITUTE関数で「後ろから2つ目の『/』を」置換する際に、置換後の文字列が「\\\」とした場合には、元の文字列中に最初から「\\\」が含まれていると、抜き出しを開始する位置を間違える可能性もありますので、置換後の文字列を、より「有り得ない文字列」である「゛゜」(濁点+半濁点)としています。
    • good
    • 0

=REPLACE(A1,1,FIND("\\\",SUBSTITUTE(A1,"/","\\\",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1)),"")


などで。
    • good
    • 0

VBAで記述して作成。



または

データの「区切り位置」で/を指定すれば右方向のセルに分解されます。
問題は/の個数が同じ(同じ階層)かどうか。
同じなら、右の2列を再度結合するなどすればOK。
異なるなら、「事前に/の数を数えたセルを左側に設けソートしておく」などの工夫が必要。



VBAで記述なら、セパレータを/にしてSplitで分解。
分解した要素数の最大値-1と最大値の2項を/で結合して戻り値とすれば簡単。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルのセルの中の,よりも前の文字を消すには?

例えばA1のセルに"1,apple"、A2のセルに"2,orange"といった感じで
下へ何個も箇条書きのような文字の入ったセルがA列に続いているとします。
この場合関数などを使い、,の前の数字を,ごと消してしまう方法はありますか?

例えばA1のセルに"1,apple"なら、"apple"に変更するといった感じです。

Aベストアンサー

次の方法は如何でしょうか。
(1)A列を選択→編集→置換
(2)検索文字列欄に*,(半角) 置換文字列欄は未入力→すべて置換

Qエクセルの置換 メアドの@の前を削除

エクセルで以下のような置換は可能でしょうか?

goo@goo.ne.jp

@goo.ne.jp

@の前を消したいのです。
よろしくお願いいたします。

Aベストアンサー

通常の置換え機能を使います。
ただし、

検索する文字列に
*@
(@の前に * アスタリスクを入れてください。)
置換え後の文字列に
'@
(@の前に ' シングルクオーテーションを入れてください。)

QExcelで特定の文字以下を削除したい

メールアドレスの整理をしているのですが、困っています。
どなたかご教示頂ければ助かります。
文字列操作で特定の文字以下を一斉に削除する方法を教えてください。
@以下を全て削除したいのですが、@より前も後も文字数がばらばらですので、rightやleftは使えません。
よろしくお願いします。

Aベストアンサー

A列にメールアドレスが入っているとします。
B1に以下を入力して、下にコピーする。
=MID(A1,1,FIND("@",A1)-1)

QExcel 指定の文字列を含むとカウントするようにしたい場合は?

ただいまエクセルと格闘中の初心者です。
関数等はオートSUMくらいしか使ったことがなく、必要時にいちいち調べているような状態です。
今回は文字列を含むとカウントするところで躓いております。

表の中から特定の文字列を含むとカウントするようにしたい時COUNTIFを使うと思うのですが、この場合正確にその言葉じゃなければカウントされませんよね?

例えば「ボールペン」「サインペン」「シャープペン」のようなペン類をまとめてカウントしたい時、ペンだけで認識してくれるようにすることは可能なのでしょうか?
COUNTIF関連で探してみているのですが、中々思うような検索ができていません(もしくはわからずに見逃しているのかも?)

エクセルにお詳しい方、アドバイスを頂ければと思います。
よろしくお願い致します。

Aベストアンサー

検索条件に「*ペン*」としてみてはいかがですか。

ちなみに上記は「ペン」がどこかにあるものを対象とする。
「*ペン」は文字列がペンで終わるものを対象にする。
「ペン*」は文字列がペンで始まるものを対象とする。

Qエクセルで上の行の値を自動的にコピーする

どなたか教えて欲しいのですが

大阪営業所
 (空白)
 (空白)
南大阪店
 (空白)
東大阪営業所
 (空白)
 (空白)
 (空白)
以下同様のパターンの表があった場合、
現在(空白)の部分に前に表示されていた値を表示したいのです。
大阪営業所
大阪営業所 
大阪営業所 
南大阪店
南大阪店 
東大阪営業所
東大阪営業所

こんな風にしたいのですが関数を使って出来ますか?
よい方法があれば教えてください。

Aベストアンサー

こんにちは。

挙げられてる例がA列だとして、
データの範囲(空白を含む)であるセルA1~A9を選択します。
CTRLキー+ G を押します。
「ジャンプ」のダイアログが出ますんで、セル選択を押します。
「空白セル」をチェックして、「OK」ボタンを押します。

空白セルだけ選択された状態になりますので、そのままの状態で
=A1 と式を入力し、 CTRLキー+ENTER として確定します。

これで、空白だったセル全体に一行上のセルと同じ内容が入りますので、
そのままでもいいですし値のコピー貼り付けなどで確定されるのも良いでしょう。

では(^^♪

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

QEXCELで、特定の文字を含むセルを抽出したいのですが。

仕入れ帳のようなシートで、B列に商品名があります。
商品名に特定の文字(数字又は文字)を含む時、空白列のC列に、その文字を抽出する方法をご教示ください。B列の商品名は変化させずにです。
意図は、当シート内で並べ替えをする時に、C列をキーとするためです。
商品名が、各種文字と数字で構成されており、そのままでは、希望する並べ替えができないのです。
宜しくお願い致します。

Aベストアンサー

「IF」関数、「ISERR」関数、「FIND」関数を組合せれば可能ですね。
たとえば、文字「a」を検索するなら、B2セルを対象として、C2セルに、

=IF(ISERR(FIND("a",B2)),"","aが入っています")

と入れます。

注意事項として、アルファベットを検索する場合、大文字と小文字を区別します。
つまり、上の例ではB2セルに「a」があれば、「aが入っています」、と表示されますが、「A」では表示されません。
(「FIND」を「SEARCH」にすれば「a」・「A」どちらでも表示される)

Qエクセルで、列内が同じ名前を集計する方法は?

エクセルで以下のような表を作成したとします。

      A列   B    C    D
 1行   名前   項目   金額
 2    すずき  あいう  100
 3    すずき  かきく  200
 4    すずき  さしす  450
 5    さとう  あいう  150
 6    さとう  さしす  200
 7    はやし  あいう  250 
 8    はやし  かきく  170
 9    はやし  たちつ  980

B列の名前が同じ者の、金額の合計をD列に出したいのです。
D4に すずきの合計 750、D6にさとうの合計 350、
D9にはやしの合計 1150  というふうに。
全部で100人分位、データ行数は15000ほどあるのですが
これをさっとできるようにはどのようにしたら良いのでしょうか?

Aベストアンサー

次の方法は如何でしょうか。
D2に=IF(COUNTIF(A:A,A2)=COUNTIF($A$2:A2,A2),SUMIF(A:A,A2,C:C),"")を入力→D2を選択→フィルハンドル(D2セル枠右下の■)をダブルクリック
但し、C列途中に空白がある場合、その直前までしかコピーされませんので、空白セル前のセルを下方向にコピー後、同様にフィルハンドルをダブルクリックし下さい。

Q「以降」ってその日も含めますか

10以上だったら10も含める。10未満だったら10は含めない。では10以降は10を含めるのでしょうか?含めないのでしょうか?例えば10日以降にお越しくださいという文があるとします。これは10日も含めるのか、もしくは11日目からのどちらをさしているんでしょうか?自分は10日も含めると思い、今までずっとそのような意味で使ってきましたが実際はどうなんでしょうか?辞書を引いてものってないので疑問に思ってしまいました。

Aベストアンサー

「以」がつけば、以上でも以降でもその時も含みます。

しかし!間違えている人もいるので、きちんと確認したほうがいいです。これって小学校の時に習い以後の教育で多々使われているんすが、小学校以後の勉強をちゃんとしていない人がそのまま勘違いしている場合があります。あ、今の「以後」も当然小学校の時のことも含まれています。

私もにた様な経験があります。美容師さんに「木曜以降でしたらいつでも」といわれたので、じゃあ木曜に。といったら「だから、木曜以降って!聞いてました?木曜は駄目なんですよぉ(怒)。と言われたことがあります。しつこく言いますが、念のため、確認したほうがいいですよ。

「以上以下」と「以外」の説明について他の方が質問していたので、ご覧ください。
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=643134

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m


人気Q&Aランキング