「あるはずなのに検索に引っかからないんだけど…」エクセルのデータの中のどこにあるかを知ることができる検索機能。
とても便利で基本的な機能の一つです。
しかし使い方を理解していないと、上手く検索できなかったり指定したい条件を設定できなかったりします。
ここではそんな時のために検索機能の基本的な使い方や上手く検索できない時の原因と対処法、そしてボタン一つで検索できるマクロコードを紹介します。
これを覚えればエクセルでの検索は怖いものなしですよ!
1.検索機能の基本操作方法
始めに検索機能の基本的な操作方法を確認します。
検索を掛ける、検索範囲を指定する、含む条件で検索する方法についてみてみましょう。
なお、検索するデータは次の表になります。
1-1.検索を掛ける
まずは検索のかけ方からで、ここでは「田中 一」さんの氏名が入力されているセルを検索・選択してみます。
(1)検索のショートカットキー「Ctrl+F」キーを押して「検索と置換」を呼び出す
(2)「検索する文字列」に「田中 一」と入力し「次を検索」をクリックする
(3)ヒットしたセルが選択されて完了
このようにすれば検索したセルを選択することができます。
なお、複数ある場合には続けて「次を検索」を押せば順に移動します。
また、「すべて検索」を押すと次のように表示されます。
この状態で参照したいセルを下の表示から選んでクリックすると、そのセルに移動します。
状況によって使い分けましょう。
1-2.検索範囲を指定する
次に検索範囲を指定する方法です。
この場合には先ほどの手順の前に「検索する範囲を指定」すればよく、こうすることで検索範囲が指定できます。
上の例では先ほどと同じ表で「小田 勝」さんを検索しました。
表の中ではセルB2とセルB8の二か所存在しますが、範囲指定しているのでセルB2のみがヒットしています。
このように範囲を指定してから検索すると、指定した範囲のみでの検索を行うことができます。
1-3.含む条件での検索
最後に含む条件での検索についてです。
含む条件とは「この文字列を含むセル」という条件設定のことで、ここでは例として文字列「田」を含むセルを検索してみます。
(1)検索のショートカットキー「Ctrl+F」キーを押して「検索と置換」を呼び出す
(2)「検索する文字列」に、前後に「*(アスタリスク)」を付けて入力する
(3)「すべて検索」を押して完了
このようにすれば「含む条件」で検索ができます。
なお、文字列の後ろだけに「*」を付ければ「頭に指定の文字列があるセル」を検索でき、文字列の前だけに「*」を付ければ「末尾に指定の文字列があるセル」を検索できます。
試して見てください。
2.検索機能でヒットしない?原因と対処法
次に検索機能であるはずなのにヒットしない原因と対処法についてです。
3つ原因が考えられますので、それぞれ確認してみましょう。
2-1.検索対象が違っている
まずは検索対象が違っていることが考えられます。
検索対象とは、検索のオプションで指定できるもので、「数式」と「値」、「コメント」の中から指定できます。
例えば「=7+3」という数式の結果表示が「10」だった場合、この検索対象を「数式」としていると、「10」で検索してもヒットしません。この時には検索対象を「値」としなければならないのです。
まずはこの点を確認してください。
2-2.大文字と小文字の違い
次に大文字と小文字の違いが考えられます。
これもオプションにあるのですが、「大文字と小文字を区別する」にチェックを入れていると、違う文字列として扱われます。
例えば「Word」と「word」はここにチェックを入れていなければ検索でヒットしますが、入れているとヒットしません。
ですからこの点も確認しましょう。
2-3.半角と全角の違い
続いて半角と全角の違いについてです。
これも先ほどと同じように、チェックを入れていると違う文字列として扱われます。
例えば「チェック」と「チェック」はここにチェックを入れていなければ検索でヒットしますが、入れているとヒットしません。
この点も確認しましょう。
3.ボタン一つで検索できるマクロコードはこれだ!
最後にボタン一つで検索できるマクロコードについてです。
ここでは検索してヒットしたセルをすべて選択するマクロコードを紹介します。
例として下の表から「小田 勝」さんを検索してみましょう。
(1)「Alt」+「F11」キーを押し、Visual Basicを開く
(2)左のツリー上で右クリックを押し、「挿入」→「標準モジュール」を選択する
(3)追加されたModule1に、「Sub~End Sub」までの以下のコードを張り付ける
Dim FoundCell As Range, FirstCell As Range, Target As Range, Foundword As String
Foundword = "小田 勝"
Set FoundCell = Cells.Find(What:=Foundword)
If FoundCell Is Nothing Then
MsgBox "見つかりませんでした"
Exit Sub
Else
Set FirstCell = FoundCell
Set Target = FoundCell
End If
Do
Set FoundCell = Cells.FindNext(FoundCell)
If FoundCell.Address = FirstCell.Address Then
Exit Do
Else
Set Target = Union(Target, FoundCell)
End If
Loop
Target.Select
End Sub
※下線部分を検索ワードに応じて変更する必要あり
(4)シート名を入力したいセルを選択し、「Alt」+「F8」キーを押した後「文字列の検索」を選択して「実行」を押す
(5)完了
これでヒットしたセル全てを選択できるようになります。
4.まとめ
以上エクセルの検索について、基本的な操作方法からトラブル対処法、検索しヒットしたセルをすべて選択できるマクロコードまで紹介しました。
エクセルにおいて検索はよく使われる機能です。
それだけに操作方法やトラブルの原因と対処法などを覚えておけば作業はよりスムーズになりますので、しっかりと覚えましょう!
コメント