• 締切済み

左側から一番最初の/から前を 別文字列に置換したい

例) 例えば以下のようなアドレスがあった場合、、、 yahoo.co.jp/example/ 上記のような例があった場合、左側から一番最初の/から前を 別の文字列に置換したい。 こんな風に google.co.jp/example/ これがたくさんあるので、関数で処理をしたいと思います。 どなたかお詳しい方、ご教授お願いいたします。

みんなの回答

回答No.3

エクセルの問題として回答します。 関数式ではSubstitut関数にて、 特定の文字列を特定の文字列に置換するのが、一番手っ取り早い。 但し、単発的なのでマクロで処理する方が合理的と思います。 処理方法のマクロ主文は以下のようになります。 AA="yahoo.co.jp/example/" BB="google.co.jp" とすると CC=BB & Right(AA,Len(AA)-Instr(AA,"/")+1) にて、CC="google.co.jp/example/"となります。 Len(AA):AAの総文字数を取得(20) Instr(AA,"/"):AAの中で最左方の/が左方から何番目に位置しているかを取得(12) Right(AA,Len(AA)-Instr(AA,"/")+1):AAの文字列から右方から20-12+1=9個の文字を取得(/example/) AA,BBにセルの値とし、 セルの値を順次取得し、CCを特定のセルに順次取り込めば、OK 取り込み条件を整理すれば、如何様にも取り込めます。

  • kteds
  • ベストアンサー率42% (1883/4441)
回答No.2

条件が何も書いてないので下記の方法でも可能でしょう。 関数を使わなくてもテキストデータ形式で可能。 substring() で任意の文字列を切り出せますので 全ての行について行の先頭から12バイトがyahoo.co.jp/ ならば google.co.jp/ に置換する。

回答No.1

excelの質問でしょうか? 最初の「/」から左側という前提での式ですが・・・。 セルA1に「yahoo.co.jp/example/」というアドレスを入力していたとして セルA2には =SUBSTITUTE(A1,LEFT(A1,FIND("/",A1)-1),"google.co.jp") の式を入れると「google.co.jp/example/」と置き換えすることが出来まが「google.co.jp」の部分は手入力しなければならないので、次の方法を取ることで簡素化も出来ます。 セルA1に「yahoo.co.jp/example/」と入力してあったとしてセルB1におきかえしたい文字を予め入力「google.co.jp」のように。 セルC1に=SUBSTITUTE(A1,LEFT(A1,FIND("/",A1)-1),B1)の式を入力して下方向へ式をコピーします。

関連するQ&A

専門家に質問してみよう