• 締切済み

個人情報格納ファイルの便利な利用方法

ファイル "個人.xls" に1行1名の個人情報(B列に氏名、C列に住所、等)が数100名分(数100行)記入されています。このファイルを常時開いたままの条件で良いのですが、 ・いろいろなEXCELファイルやWORDファイルを編集中に、個人.xlsを利用したいのです。具体的には、渡辺と記入し、"渡辺"を選択後、何か簡単な操作(例:何番かのファンクションキーを押すとか、プルダウンメニューから選択する等)を行うと、"個人.xls"の渡辺A男 さんの行が、目立つように(例:他の行と色を変えて)表示され、また何か別の操作を行うと、今度は渡辺B男 さんの行が表示されて、簡単に、"渡辺B男"の文字列を、編集中の箇所にペーストする、ということを行いたいです。これと全く同じことができなくても、似たようなことができればOK。やり方を教えてください(マクロの作成が必要でしょうか)。また、"個人.xls"がたとえばACCESSのファイルにすべきあれば、ACCESSファイル前提でも結構です。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! たびたびごめんなさい。 >セルの位置を限定せず。渡辺と入力しある簡単な操作を行うと、個人.xlsがウインドウの重なりの点で最上位に現れ、該当候補行が色が変わって表示される・・・ とありましたので再び顔を出しました。 「セルの位置を限定せず」という点が問題だと思います。 Excel(Word)等にとってはこちらがどのような文字を入力すれば人名なのか?という判断はできないので こちらである程度の操作は必要になってくると思います。 一例ですが、もう一度↓のように表を作ってみました。 A2セルに氏名の一部を入力すると表の中で一致するものに色がつくという方法です。 当方使用のExcel2003での場合ですが 作業列のC2セルに =IF($A$2="","",IF(COUNTIF(D2,"*"&$A$2&"*"),ROW(A1),"")) という数式を入れ、オートフィルで下へずぃ~~!っとコピーします。 そして、D2~F列のデータの最後まで範囲指定し メニュー → 書式 → 条件付書式 → 「数式が」を選択し 数式欄に =$C2<>"" と入力し、書式 → パターン で「好みの色」を選択しOK これでA2に入力した物と部分一致するものに色が付きます。 これをコピー&ペーストする方法くらいしか思い付きません。 尚、別Sheetのセルに「石」と入力しそれをこのSheetのA2セルに コピー&ペーストすれば同様の動きはしてくれるはずです。 以上、あまりお役に立てないかもしれませんが、 この程度でごめんなさいね。m(__)m

rick_t
質問者

お礼

ありがとうございました。実現したい方法とは異なりますが、計算式は大変勉強になります。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 参考になるかどうか判りませんが・・・ ↓の画像のような感じで表を作ってみました。 Sheet2に個人データがあり、Sheet1のA2セルに何か文字列を入力すると ヒットするものをプルダウンリストに表示できるようにしています。 まず、Sheet2に作業用の列とリスト表示ようの列を準備します。 作業列E2に =IF(Sheet1!$A$2="","",IF(COUNTIF(A2,"*"&Sheet1!$A$2&"*"),ROW(A1),"")) という数式を入れて、オートフィルで下までコピーします。 次にリスト用の表を範囲指定し(あまり多く範囲指定するとリスト表示させた場合、空白ばかりが目立ちますので、同姓の数の最大値くらいでOKかと思います) 名前ボックスに、仮に「リスト」と入力します。どんな名前でも構いません。 (メニュー → 挿入 → 名前 → 定義 からでもできます) そのF2セルに =IF(COUNT($E$2:$E$100)>=ROW(A1),INDEX($A$2:$A$100,SMALL($E$2:$E$100,ROW(A1))),"") という数式を入れ、オートフィルで下へコピーします。 Sheet1のB2セルを選択し、 メニュー → データ → 入力規則 → リストを選び、元の値の欄に =リスト (先ほど名前ボックスに入力したもの) としてOK 最後にC2セルに =IF($B$2="","",VLOOKUP($B$2,Sheet2!$A$2:$C$100,COLUMN(B1))) という数式を入れ、列方向へオートフィルでコピーすると 画像のような感じになります。 これでA2セルに名前の一部でも入力するとヒットするものがリスト表示できるはずです。 尚、B2~D2セルをそのままコピー&ペーストするとリスト機能も一緒に貼りついてしまいますので、 どこか別のセルに =B2 として列方向へオートフィルでコピーすればB2~D2そのままが表示されますので それをコピー&ペーストするほうが良いと思います。 以上、長々と書きましたが 参考になれば幸いです。 尚、的外れなら読み流してくださいね。m(__)m

rick_t
質問者

お礼

大変具体的で丁寧な回答ありがとうございました。計算式大変参考になりました。 >いろいろなEXCELファイルやWORDファイルを編集中に、個人.xlsを利用したいのです。 個人.xlsを利用したいEXCELファイル(WORDファイルは低優先度ですが)は様々で、限定されていません。いろいろな用途で次々に新しく作るEXCELファイルで利用したいです。それも、セルの位置を限定せず。渡辺と入力しある簡単な操作を行うと、個人.xlsがウインドウの重なりの点で最上位に現れ、該当候補行が色が変わって表示される(またはEXCELの通常の検索結果で表示される表示になる)のがベストなのですが、難しいでしょうか。

回答No.1

>具体的には、渡辺と記入し、"渡辺"を選択後、何か簡単な操作(例:何番かのファンクションキーを押すとか、プルダウンメニューから選択する等)を行うと、"個人.xls"の渡辺A男 さんの行が、目立つように(例:他の行と色を変えて)表示され Excelの機能のひとつである「検索と置換」をご承知の上での質問でしょうか? "個人.xls"においてCtrl+Fで「検索と置換」画面を表示して"渡辺"を入力して「すべ検索」すれば、該当セル情報が画面の下に一覧表示されます。一覧表示された行をクリックすれば、当該セルがアクティブになります。

rick_t
質問者

補足

回答ありがとうございます。ファイル(たとえばA.xls, B.doc)を編集しているときに利用できる方法を知りたいのですが、その場合、"個人.xls"のファイルをほとんど意識せずにしたいのです。具体的には、マウスなどで"個人.xls"を選択することなしに、行いたいです。さらに、検索対象は氏名が記入されているC列のみとしたい(住所の列に渡辺という文字があってもそこにヒットしないようにしたい)です。

関連するQ&A