ExcelでURL一覧を取得したあと、決まった文字列を一括削除するテクニック

先生、URL一覧の?以降を全部削除したいのですが、方法はありますか?

例えば、キャプチャのようなデータをCSVから取得してきた場合です。URLを何かしらの作業で整える作業を行っている、というシーンを想定してください。

文字列操作関数を先に考えてしまうのが、講師としての職業病ではありますが、全URLに特定の文字列が共通で含まれている場合、「検索と置換」で実現可能です。

ワイルドカード「*」アスタリスクを使うことで、それ以降を置き換えるというテクニックを使うことができます。アスタリスクは、「なんでも」という意味を持ちますからね。

ただし、「?」もワイルドカードとして「任意の文字1文字分ならなんでも」という意味を持つため、URLの中に含まれていることがある「?」を置き換える際には、前後の文字列を指定する必要があったりします。ここがネックなのです…。

まず、範囲選択をしましょう。

シート内で一切合切変更したい場合は、上記のように選択する必要はありません。続いて「ホーム」タブの「検索と置換」機能を出しましょう。

検索する文字列と置換後の文字列に、キャプチャの場合はこのように指定します。

jpがない場合の「/?*」 だけだと、「?」の性質上、URLのhttps://の最初のスラッシュから置き換えてしまいますので、注意が必要です。?は表示された文字列の「1文字分」だけ変更するワイルドカードの意味を持っています。

すこしわからないと思いますので、実際にキャプチャと同じようなデータを作ってみて、試してみてください。

意味として「/?*」とすると、「/」「1文字分どんな文字列も」「そのあとすべて」置き換えるという指定となってしまいます。

ですので、「jp/?*」としました。

これで?以降の文字列をすべて削除することができました。

全URLにおいて、共通したキーワードがあれば、特に関数を使わなくても「検索と置換」機能で可能です。こういう運のいいデータと巡り合うといいですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください