わえなび ワード&エクセル問題集 waenavi

当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。みんなで勉強しましょう!

【Excel】ワイルドカードを用いた検索と置換、ワイルドカード自身を検索する方法


ワイルドカードは、万能カード、オールマイティカードとも言います。トランプではジョーカーが使われることが多く、何にでも代用できるラッキーなカードとして扱いますから、あがり(和了り)やすくなります。

Excelでは検索や置換でワイルドカードを使います。特に置換には挿入や削除の機能も含まれますから、ジョーカーの使い方を覚えたらもっと便利になります。ただし、ジョーカー自身を検索するにはどうすればよいかという問題があり注意が必要です(詳しくは後述)。

そこで、今回は、検索や置換におけるワイルドカードの使い方と、ワイルドカードとして使われる記号そのものを検索したい場合はどうすればよいかについて出題します。

 

 

目次

1.ワイルドカードとは何か

ワイルドカードWild Card)とは、他のあらゆる文字に代用できるものと決められた特殊な記号のことです。

例えば、「福〇県」と表現した場合、無意識のうちに福島県?福井県?それとも福岡県?と、〇に当てはまる1文字を探そうとします。〇の個数を文字数と考えた場合、「〇〇県」なら2文字の県なので和歌山県や鹿児島県は除外となります。しかし、「~」の記号を用いて「~県」と表現した場合、うどん県や香川県など文字数に関係なく県で終わる単語を思い浮かべます。

このときに用いている記号「〇」「~」がワイルドカードです。単なる記号なのに無意識のうちに当てはまる文字を探そうとします。このとき、ワイルドカードが何文字を表すのか(文字数)によって当てはまる文字が変わります。

f:id:waenavi:20190410215837j:plain

 

2.アスタリスクとクエスチョン

問題

次の図で「第〇回」という文字をすべて検索しなさい。そのうち、9回以下の大会をすべて検索しなさい。

f:id:waenavi:20190410153854j:plain

 

解説

検索をします(Ctrl+F、参考:【Excel】特定の文字列を含むセルを全部選択するには[すべて検索]をして[すべて選択]をすればよい)。「第*回」と入力します。アスタリスク(*)は半角です。

f:id:waenavi:20190410154825j:plain

 

すべて検索します。「第~~回」を含むセルがすべて検索されます。

f:id:waenavi:20190410154829j:plain

 

半角のアスタリスク(*)を入力すると任意の文字列を表します。文字数は問いません。0文字でもよいです。このような文字を「ワイルドカード」といいます。

f:id:waenavi:20190410154834j:plain

 

「*」を「?」にします。この「?」も半角です。すべて検索をします。今度は1桁だけになります。

f:id:waenavi:20190410154838j:plain

 

半角の「?」は任意の1文字を表します。この「?」もワイルドカードです。2文字の場合は「??」、3文字の場合は「???」とします。

f:id:waenavi:20190410154843j:plain

 

3.ワイルドカードを用いた削除

問題

次の図で、A列のカッコ書きを消しなさい。

f:id:waenavi:20190410154027j:plain

 

解説

A列を選択します。カッコ書きを消すためには、カッコ書きを検索しなければいけません(参考:【Excel】置換には一括削除や挿入、入れ替えの機能も含まれる)。

f:id:waenavi:20190410155403j:plain

 

カッコ書きの文字は固定ではないので、アスタリスク(*)を使います。

f:id:waenavi:20190410155408j:plain

 

「(*)」と入力してこれを空白に置換すればよいです。

f:id:waenavi:20190410155413j:plain

 

これで完成です。

f:id:waenavi:20190410155419j:plain

 

4.ワイルドカードを用いたスペース置換

問題

次の図で、B列のカッコ書きの中の文字を消して、3文字分のスペースにしなさい。

f:id:waenavi:20190410154421j:plain

 

解説

B列を選択します。置換後の文字列を「(   )」にします。カッコの中は3文字分のスペースです。すべて置換します。これで完成です。

f:id:waenavi:20190410155426j:plain

 

5.前後を消して一部分だけを抽出する

問題

(1)「(18歳未満)(20歳未満)」のように、カッコ書きが2連続になっているものについて、1つ目のカッコ書きを消し、2つ目だけを残す置換方法を述べなさい

(2)「学生180人(うち女性150人)から回答を得た。」から、カッコ書きの中身「うち女性150人」だけを抽出する置換方法を述べなさい

解説

特定の一部分の文字列を抽出するには、その「前後を削除する」ものと考えます。例えば、「(18歳未満)(20歳未満)」のうち「20歳未満)」だけを残す場合、前半を消すと考えます。検索する文字列は「(*)(」、置換後文字列は「(」です。

f:id:waenavi:20190410160127j:plain

 

ちなみに、後半のカッコ書きを消す場合は、検索する文字列は「)(*)」、置換後文字列は「)」です。

f:id:waenavi:20190410160201j:plain

 

削除するものが前半と後半に分かれている場合は、2回の置換を行います。まず、検索する文字列「*(」、置換後文字列「空欄」として、カッコ書きの前の部分を削除します。「学生180人(うち女性150人)から回答を得た。」は「うち女性150人)から回答を得た。」になります。

f:id:waenavi:20190410160429j:plain

 

次に、検索する文字列「)*」、置換後文字列「空欄」として、カッコ書きの後の部分を削除します。「うち女性150人)から回答を得た。」は「うち女性150人」になります。

f:id:waenavi:20190410160403j:plain

 

6.HTMLタグを除去する方法

問題

A列にはHTMLの<A>タグの文字列が入力されている。

f:id:waenavi:20190410160100j:plain

 

A列の文字列のうち赤い部分と、青い部分を別の列に抜き出そうとしています。

f:id:waenavi:20190410160103j:plain

f:id:waenavi:20190410160109j:plain

 

1の部分(URLの部分)と、2の部分を抜き出しなさい。

f:id:waenavi:20190410160114j:plain

f:id:waenavi:20190410160117j:plain

 

解説

特定の部分だけを残すときは、その前後を削除できるかを考えます。

f:id:waenavi:20190410161541j:plain

 

A列をコピーしてB列に貼り付けます。B列を選択します。

f:id:waenavi:20190410161545j:plain

 

置換の画面を出します。「<A*href="」と入力します。全て半角です。Aとhrefの間に何が入っていても削除するのでアスタリスクを入れます。

f:id:waenavi:20190410161550j:plain

 

置換後の文字列は空白として、すべて置換します。左側の部分が消えます。

f:id:waenavi:20190410161555j:plain

 

次に右側の部分を考えます。検索する文字列として、「"*></A>」と入力します。全て半角です。

f:id:waenavi:20190410161559j:plain

 

すべて置換します。右側の部分が消えます。これで完成です。

f:id:waenavi:20190410161604j:plain

 

A列をコピーしてC列に貼り付けます。C列を選択します。置換の画面を出します。

f:id:waenavi:20190410161607j:plain

 

検索する文字列に「<*>」と入力します。

f:id:waenavi:20190410161611j:plain

 

「<*>」を消すには「<*>」を空白に置換します。すべて置換します。これで完成です。

f:id:waenavi:20190410161615j:plain

 

7.エスケープ

問題

次の図で、C列の掛け算になっている式を足し算にしなさい。

f:id:waenavi:20190410161113j:plain

 

誤答例

C列を選択します。置換の画面を出します。掛け算を足し算にするには、アスタリスク(*)をプラス(+)に置換すればよいです。

f:id:waenavi:20190410163109j:plain

 

すべて置換します。残念ながら、全部プラス(+)だけになってしまいました。

f:id:waenavi:20190410163115j:plain

 

正解

検索でアスタリスク(*)はワイルドカードとして任意の文字列(文字数は何文字でもよい)を表し、アスタリスク(*)だけの場合は文字列全部という意味になります。1文字以上入力されているセルは全部該当します。これを置換するということは、空白以外の全てのセルをプラス(+)にするという意味になってしまいます。つまり、空白以外のセルに対する「一括入力」になります。

f:id:waenavi:20190410163402j:plain

 

アスタリスク(*)の前に、半角でチルダ(~)をつけます。

f:id:waenavi:20190410163406j:plain

 

すべて置換します。今度は足し算になりました。

f:id:waenavi:20190410163413j:plain

 

アスタリスク(*)とクエスチョンマーク(?)はワイルドカードとして、任意の文字列を表しますが、ワイルドカードとしてではなく、本来のアスタリスク(*)とクエスチョンマーク(?)として検索するには、その直前にチルダ(~)をつけます。これを「エスケープ」といいます。

f:id:waenavi:20190410163419j:plain

 

例えば、掛け算の100*100を検索する場合、「100*100」とすると100と100の間にどんな文字を入れてもよいという意味になりますから、「100~*100」とします。

f:id:waenavi:20190410163423j:plain

 

ワイルドカードが使えるのは「検索する文字列」の欄だけです。探すときだけです。置換後の文字列にワイルドカードは使えません(*や?はワイルドカードとみなされない)。したがって、エスケープも検索する文字列の時だけ必要です。置換後の文字列には不要です。

f:id:waenavi:20190410163427j:plain

 

ちなみに、チルダ(~)自身もエスケープが必要です。チルダ(~)を2つにします。

f:id:waenavi:20190410163434j:plain

 


解説は以上です。


8.サンプルファイルはこちら

わえなび公式サイトでは、この記事で使用しているExcelのデータを無料で配布しています。ご自由にお取りください。8-16 の「サンプルファイル(ZIP)」です。

ファンダメンタルExcel_Program 8. ジャンプと置換 | わえなび [waenavi] the Theory of Word-Excel

 

9.動画版はこちら(無料)

この記事は、わえなびファンダメンタルExcel Program8-16 の動画の内容を書き起こし、加筆修正したものです。

わえなび

 

完全版はYoutubeにすべて無料で公開しております。ぜひ、ご覧ください。

 

 


Copyright(C)2018-2021 waenavi, All rights reserved. [www.waenavi.com 定礎 平成三十年八月]
Youtube | 公式サイト | twitter | 著作権 | 運営者情報 | お問い合わせ