質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

3021閲覧

文字列の一部が重複するセルのスマートな検索方法

退会済みユーザー

退会済みユーザー

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/01/23 02:52

###前提・実現したいこと
名簿をエクセル2016でデータベース化したものがあります。
B列に名前が入っていますが、例えば次のように名前の一部に同じ文字が含まれているセルを、
一発で検索したいです。
|B列|
|ABC Hokkaido|
|DEF America|
|ABC Aomori|
|ABC Tokyo|
|DEF Europe|

###試したこと・発生している問題
条件付書式で重複するものを探しましたが、セルの文字列が完全に同じものしか検索できませんでした。
countifなどの関数を使おうと思いましたが、データが多く、重複する文字列がどんなものが何種類があるかわからない状態なので使っていません。

他に何かよい方法がないか探しています。

アドバイスいただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hihijiji

2018/01/23 03:15

希望する検索結果を提示してください。
退会済みユーザー

退会済みユーザー

2018/01/23 03:19

ご返信ありがとうございます。希望する検索結果は、例えば、「ABC」という文字が含まれるセル全てに色がついたり、「ABC」の文字がハイライトされ、「DEF」という文字についても別の色でセルに色がついたり、文字がハイライトされるなど、どこに何の文字が重複しているのかすぐにわかるようになるとうれしいです。よろしくお願いいたします。
hihijiji

2018/01/23 04:05

例えば"DEF America" "ABC Nodoame" は何がどのように一致するのか又は一致しないか等、まずあなたの望む条件を全て日本語で書きだす必要があります。
退会済みユーザー

退会済みユーザー

2018/01/23 04:08

ご返信ありがとうございます。他の列のセルに、どのように一致することを望むか条件を書き出せばよいということでしょうか??
hihijiji

2018/01/23 04:15

質問文に追記で書いてください。
Zuishin

2018/01/23 04:22

どっちにしてもかなり面倒なので方法を教わって自分で作る必要があります。サンプルはどこにもありませんし作ってくれる人も多分いないと思います。VBA で収めなければいけないのか、外部ツールで Excel を操作してもいいのか、COM が使えるかどうかでも難易度が変わってきますので、自分の環境とできる範囲を書いた方が回答がつきやすいでしょう。私が思うに一番簡単なのは外部ツールを作ることです。
退会済みユーザー

退会済みユーザー

2018/01/23 04:44

ご返信ありがとうございます。失礼しました、追記で書くようにいたします。結構大変な作業なのですね!外部ツールについて初めて知りました。勉強してみます。アドバイスありがとうございました!
guest

回答1

0

ベストアンサー

「ABC」という文字が含まれるセル全てに色がついたり

それだけなら条件付き書式でFIND関数など使えば可能だと思います。条件は「一致」ではなく「含まれる」とすればよいでしょうから。しかし「AまたはBまたはCが含まれる」といった条件だと少々複雑な条件になるでしょう。やりたいことを整理してその実現に使えそうな「文字列操作関連関数」にどんなものがあるか調べることをおすすめします。ワークシート関数の中で文字列操作系のものはたかだか30~40個ぐらいではないでしょうか?その全てを概観するのはそんなに手間ではないと思います。


さてそれ以上のことをするなら(例えば一致する文字の色を変えるなど)ワークシート関数では厳しくVBAで書く必要があるだろうと思います。

VBAだとワークシート関数を直接使うほどにはスマートな実装にはならないだろうと思いますが、何十行にもなるようなものでもなさそうなのでまずは書いてみてはいかがでしょう


なお、VBAで書く際に、セルなどのオブジェクトの仕様書を理解して書くというアプローチは面倒なものです。しかしながら「マクロの記録」という機能があるのでそれがよいヒントになると思います。セル内の文字列の一部の色を変えるなんてことは正直自分も知ってはいませんでした。しかし実際にマクロを記録してみるとそれが分かりました。

実装する途中に問題にぶつかることもあるでしょうけど、そのときはまた別途質問してみるとよいと思います。

投稿2018/01/23 04:20

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/01/23 04:48

早速のご回答ありがとうございます!関数の使いこなし方?のヒントとても理解しやすく助かりました。FIND関数など、いただいたヒントを元に、試してみようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問