• ベストアンサー

Excel 2003 文字の検索

kagakusukiの回答

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.8

>「No.3」の方には実際のこちらの環境を追記させて頂きました。 >その内容で、こちらの回答の内容を反映させた数式を作成していただく事は可能でしょうか??  まず、 Q2セルに  フィールド R2セルに  キーワード Q6セルに  顧客番号 R6セルに  姓名(漢字) U6セルに  姓名(フリガナ) W6セルに  住所 と入力して下さい。  次に、以下の操作を行って、Q3セルに入力規則のドロップダウンリストを設定して下さい。 Q3セルを選択   ↓ メニューの[データ]ボタンをクリック   ↓ 現れた選択肢の中にある[入力規則]をクリック   ↓ 現れた「データの入力規則」ダイアログボックスの[設定]タグをクリック   ↓ 「入力値の種類」欄をクリックし、現れた選択肢の中にある[リスト]をクリック   ↓ 「元の値」欄に 姓名(漢字),姓名(フリガナ) ,住所 と入力 ※全角文字・半角文字の違いや、印刷には表れない文字も含めて、R6、U6、W6に入力した内容と完全に同じ文字列として下さい   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック  これで入力規則の設定は完了で、次に、Z19セルに次の数式を入力して下さい。 =IF(AND(COUNTIF($Q$6:$W$6,$Q$3),ROW()>ROW($Q$16)),IF(COUNTIF(INDEX($Q:$W,ROW(),MATCH($Q$3,$Q$6:$W$6,0)),$R$3),ROW(),""),"")  次に、Z19セルをコピーして、Z20以下に貼り付けて下さい。  次に、Q7セルに次の数式を入力して下さい。 =IF(ROWS($7:7)>COUNT($Z:$Z),"",INDEX(Q:Q,SMALL($Z:$Z,ROWS($7:7))))  次に、Q7セルをコピーして、R7~W7の範囲に貼り付けて下さい。  次に、Q19~W19の範囲に1つ目の元データが入力されている状態で、以下の操作を行って下さい。 Q19~W19の範囲を選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ Q7セルにカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある[書式]と記されている箇所をクリックし、チェックを入れる   ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック  次に、Q7~W7の範囲をコピーして、Q8~W16の範囲に貼り付けて下さい。  以上で準備は完了で、後は、Q3セルを選択すると現れる▼マークのボタンをクリックして、現れた選択肢の中から、姓名(漢字)で検索を行う場合には「姓名(漢字)」、姓名(フリガナ)で検索を行う場合には「姓名(フリガナ)」、住所で検索を行う場合には「住所」を選択して下さい。  そして、例えば、「姓名(漢字)」を選択してから、 姓名(漢字)が「田中」となっているデータを抽出する場合には、R3セルに 田中 「山」という文字列から始まっている姓名(漢字)のデータを抽出する場合には、R3セルにセルに 山* 姓名(漢字)の何処かに「山」という文字列が含まれているデータを抽出する場合には、R3セルにセルに *山* と入力して下さい。(*で囲む文字列は複数であっても構いません)  すると、Q列~W列の7行目以下に、10人分の抽出結果が元データの上にある方から順番に表示されます。  又、R列に姓名(漢字)の元データを入力する際に、「山本五十六」という具合に苗字と名前をくっつけるのではなく、「山本 五十六」という具合に苗字と名前の間に必ず空白を開けて入力して置く様にすれば、 R3セルに「 太*」という具合に、「(空白)」+「名前の先頭にある文字列」+「*」と入力すれば、名前の先頭にある文字列で検索する事が可能になります。  それから、U19セルに次の関数を入力してから、U19セルをコピーして、U20以下に貼り付けますと、U列にフリガナが自動的に表示されます。 =PHONETIC(INDEX($R:$R,ROW()))  但し、R列の元データを入力する際に、コピー&貼付けで、どこかからコピーして来た文字列を貼り付けた場合には、フリガナは表示されない様ですので、一旦、姓名(漢字)に入力した文字列を選択してから変換し直す必要がある様です。  又、希にフリガナを間違える事もある様ですから、その場合には、その行だけ、関数を削除して、フリガナを直接キーボード入力した方が手っ取り早いと思います。(その後、R列の元データを新たに変更する際には、関数が残っている他の行のセルをコピーして、関数を削除したセルに貼り付ければ、関数を復活させる事が出来ます)

krys0021
質問者

お礼

本当に分かりやすい説明有難う御座いました。 とても助かりました。

関連するQ&A

  • エクセル関数 検索機能

      A  B 1 山田 25歳 2 田中 27歳 3 佐藤 32歳 4 落合 34歳 5 田中 41歳 6 田中 23歳 という一覧を作成し、D2セルに名字を入力すると E2セルに名字、F2セルに年齢が表示される 検索機能をつけたいです。たとえば落合さんを探したい時は E2は =VLOOKUP(D2,A1:B6,1,TRUE) F2は =VLOOKUP(D2,A1:B6,2,TRUE) で検索できましたが、田中さんの様に複数の場合 D2に名字を入力するだけで E2 F2 E3 F3 E4 F4 に3人分を表示させる関数はありますか?

  • ExcelVBAにおいて複数の検索結果をメッセージボックスの選択によっ

    ExcelVBAにおいて複数の検索結果をメッセージボックスの選択によって選びたいのですが・・・。 早速の質問で申し訳ありません。 まず、ExcelVBAにおいて、複数の結果を返す、部分検索を行いたいと思っております。 例えば、セルに「田中」と入力してあり、それを別のシートの名簿一覧の順に検索し、「田中」、「小田中」、「田中原」といったように複数の結果を返したいと考えております。 次に、返した結果につきまして、その都度メッセージボックスを表示させ、「はい」ならばそこで検索をやめてその値を、「いいえ」ならば次の結果を、「キャンセル」ならば中止という様にしたいと考えております。 例えば、「田中」で検索した場合、「田中」でよろしいですか?→いいえ→「小田中」でよろしいですか?→いいえ→「田中原」でよろしいですか?→はい、で指定セルには「田中原」と表示させたいのです。 どのように書けばよいか、ご教授お願いできないでしょうか。 どうか、よろしくお願いします。 また、検索につきまして読み検索というのはできるのでしょうか?(例えば「たなか」で検索しても上のようになるような)可不可だけでも構いませんので、参考までに教えていただけると幸いです。

  • Excel 文字列検索

        A      B      C 1  田中実    田中    田中実 2  石川武          田中康雄 3  中田英人 4  石崎甚平   石川    石川武 5  石川啓子         石川啓子 6  中田康雄 B列にA列の文字列に部分一致する文字列を入力すると C列にその検索結果を表示する様にしたい。 C1=IF(OR($B$2="",$B$2<1),"",VLOOKUP("*"&B2&"*",$A$2:$A$1500,1,FALSE))だと田中や石川のように名前がかぶると 1個しか表示されない。B2にも田中が該当する人を表示させたい。 説明が下手かもしれませんが、知恵を貸してください。よろしくお願いします。

  • アクセスである文字を含む検索

    ACCESS2000を使っています。 あるデータテーブル「発注書テーブル」があって、ここでは「(1)ID」「(2)顧客名(法人)」「(3)発注商品」「(4)納品済チェック」の4つフィールドがあるとします。 作業はフォームで行います。フォーム名は「発注書フォーム」。 「(2)顧客名」から検索をかけたくて、検索コマンドボタンをつくり、「検索フォーム」を発注書フォームとまったく同じ形態でつくり、そこにとべるようにしました。 「検索フォーム」には「検索」というテキストボックスを作ります。 「検索クエリ」というクエリを作り、発注書テーブルを素とし、すべてをデザインビューで表示するようにしました。 そして、「(2)顧客名」の抽出条件に[Forms]![検索フォーム]![検索]を入力します。 すると、「検索フォーム」の「検索」をコンボボックスにして、顧客名をすべて表示させ選択した場合は、「検索フォーム」では、選択した顧客の情報が表示されるようになりました。 が、しかし、「検索」をコンボボックスではなく、テキストボックスで、しかも顧客名の一部だけを入力したら、その文字を含むすべてのレコードを表示してほしいのです。 そこで、「検索クエリ」の「(2)顧客名」抽出条件にlike"*[Forms]![検索フォーム]![検索]*"と入力してみました。 そして「検索フォーム」の「検索」テキストボックス(非連結)に顧客名の一部を入力したところ、ぜんぜん絞りこみ抽出してくれません。 もちろん、クエリ上でも絞り込んでいない模様です。 どうしたら文字の一部からその文字を含む顧客名のレコードを全て抽出し、表示させることができるでしょうか? 細かくてすみませんが、かなり困ってます。 どうかわかる方、教えてください。 まったくちがう方法(別の手法)でもかまいません。 この説明でわからない部分がありましたら補足しますのできいてください。 よろしくお願いします。

  • [ExcelVBA]検索文字で検索し文字入力する

    いつもお世話になっております。 以前に投稿をさせていただきましたgitmykと申します。 http://okwave.jp/qa/q7563274.html 前回はご回答くださり誠にありがとうございます。 この場で感謝申し上げます。 内容を精査させていただきましたので、再度投稿させていただきます。 問題(1) Sheet2のA列に[範囲指定文字]、B列に[検索文字]、C列に[入力文字]が複数入っている。 Sheet1を[範囲指定文字]で検索しCurrentRegionで範囲指定する。 範囲指定した全てのセルに対し、[検索文字]の上から順に検索していく。 該当セルがあれば、右4セルoffsetし、対応する[入力文字]を入力する。 ([検索文字]と[入力文字]は1対1で対応している) 問題(2) Sheet2のA列に[範囲指定文字]、B列に[検索文字1]、C列に[検索文字2]、D列に[入力文字]が複数入っている。 Sheet1を[範囲指定文字]で検索しCurrentRegionで範囲指定する。 範囲指定した全てのセルに対し、[検索文字1]の上から順に検索していく。 該当セルがあれば、右2セル上1セルoffsetしたセルを対応する[検索文字2]で検索し、双方が一致した場合のみ[検索文字1]で検索した該当セルから、右に4セルoffsetしたセルに、対応する[入力文字]を入力する。 ([検索文字1]と[検索文字2]、[入力文字]は対応している) 問題(3) Sheet1を[範囲指定文字]で検索し下に1セルoffsetした位置をCurrentRegionで範囲指定した場合。 上記内容をExcelVBAでどのように記載すればよいか、ご教授くださいませんでしょうか。 VBA学習中です。 何卒宜しくお願いいたします。

  • EXCELの検索で検索文字列以外が混ざった場合?

    EXCELで、検索文字列のあるセルの行番号を表示させたいのですが、 検索したいセルには検索したい文字列以外にも不特定な文字列が混ざっている場合、どういう式を作ればよいのですか?

  • Excelで検索する列をメーカー毎に変えたい

    お世話になります! 検索関数?で困っております。 メーカーに商品を発注する際 メーカー毎 送り先ごとにメーカーコードがあり そのメーカーコードを検索によって一つのセルに表示させたいのですが・・・ 例1 あいうメーカーでは ABCという顧客に対しては 123というコードがあって かきくメーカーでも、 ABCという顧客に対して いろは というコードが独自にあって 顧客の住所録の最終列当たりから各メーカー名を入力し、データを整理しています。 (顧客データは別BOOKになります!) 要は sheet1のA1のセルにはメーカー別顧客コードを表示させたい メーカー名 あいう 顧客名 ABC メーカー名が あいうなら 住所録のメーカー名あいう列(A列)の ABC顧客(行)のメーカーコードを検索する 以上の説明でわかりましたでしょうか? 初心者ですので、どのように説明をすれば伝わるのか 難しいのですが ご協力頂ければ幸いです! よろしくお願い致します!

  • SQL Server2008 Express の文字列検索について

    SQL Server2008 Express の文字列検索について 検索対象のフィールド内にスペースが入っている場合に  スペースを無視して検索をすることができるでしょうか? 例 検索文字列 山田太郎 検索対象 山田 太郎 or 山田太郎 上記2つのフィールド値を含むレコードが両方表示されるような方法はありますでしょうか。

  • 複数のセルの値を満たすレコードにある他の列の値を検索する

    一つのレコードにフィールドがいくつかあります。 例えば、そのうち、B列とD列の値が一致するとき、 H列の値を返す…というような関数はありますか。 VLOOKUPでは一つのセルしか見てくれないので検索できず、 困っています。

  • エクセルの関数での検索機能について

    Excel2000を使っているのですが、【Ctrl+F】キーを押して検索するのと同様の検索機能の関数はありますでしょうか? 現在、顧客管理のため顧客情報をまとめたエクセル表を作ってあり、「VLOOKUP関数」で検索機能を作ってあります。 しかし、それだと一つしか検出できないですし、かといって「オートフィルタ」を使用すると「▼」をクリックして表示された中からその都度探して選択しないといけません。 ですので、例えば「田中」と入力すれば氏名が田中の人にカーソルが移動するという機能を、度々【Ctrl+F】キーを押さなくても「田中」と入力するだけで出来てしまう方法があれば教えていただきたいです。 よろしくお願いします。