• 締切済み

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

ファイル "個人.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

  • 複数のエクセルブックを一覧にすることはできますか?

    200個くらいの同一形式のエクセルを一覧にしたいのですが、 アクセスがない為、エクセルでなんとかできないかと、悩んでおります。 データは1つのフォルダの中に、 1.xls 2.xls ・ ・ ・ 200.xls と200個あり、それぞれA1:N20の範囲の中のセル内容を、 __|_A列_|_B列_|_C列_|・・・|_?列 _| 1行 |_1.xls_|_A1 _|_B1 _|・・・|_N20 _| 2行 |_2.xls_|_A1 _|_B1 _|・・・|_N20 _| 3行 |_3.xls_|_A1 _|_B1 _|・・・|_N20 _| 上記のように、 A列にファイル名を入れて、B列以降に1つのブックの内容を入れたいです。 (A列へのファイル名は、なくても最悪OKなのですが・・・。) 説明が足りないかもしれませんが、どなたか教えてください。 よろしくお願い致します。

  • エクセル(マクロ) 特定セルのファイル間コピペ

    マクロで下記内容の処理を行いたいと思っております。 どのようなコードにすればよいかご教授よろしくお願い致します。 1.A.xlsを開く 2.B.xlsを開く 3.B.xlsの特定セルの値をコピーする。(特定セルを仮にB4、C7、D9とする) 4.A.xlsのC列にあるファイル名リストから「B.xls」というファイル名の入ったセルを検索する。 5.仮に5行目に「B.xls」というファイル名があれば、同じ行にある特定列 (行は固定で、例えばE5、F5、G5とする)に3.でコピーしたB4、C7、D9の値を張り付ける。 ※B4はE列、C7はF列、D9はG列に対応するものとする 6.B.xlsを閉じる 7.C.xlsを開く 8.C.xlsの特定セルの値をコピーする。(特定セルはB.xlsと同じB4、C7、D9) 9.A.xlsのC列にあるファイル名リストから「C.xls」というファイル名の入ったセルを検索する。 10.仮に7行目に「C.xls」というファイル名があれば、同じ行にある特定列 (行は固定で、例えばE7、F7、G7とする)に8.でコピーしたB4、C7、D9の値を張り付ける。 ※B4はE列、C7はF列、D9はG列に対応するものとする 11.C.xlsを閉じる 12.D.xlsを開く 以下、同じ処理を繰り返す。

  • エクセルでマッチング

    2つのエクセルファイルの内容をマッチングさせたいんですけど、 例えば、aaa.xlsとbbb.xlsというのがあって、 aaa.xlsのA列とbbb.xlsのA列にファイル名、 bbb.xlsのB列にパッケージ名が格納されていて、 aaa.xlsのA列の1行目から順に、bbb.xlsのA列と 同じファイル名が存在するかマッチングさせていき、 マッチした場合にマッチした行のパッケージ名を aaa.xlsのB列に表示させたいんですけど、 関数なりマクロなりを使ってなんとかならないでしょうか?

  • [Excel]別ファイルの項目内容の抽出方法

    初めまして。閲覧ありがとうございます。 今回Excelについて質問させていただきます。 Excelファイルごとに保存されている表([file1]、[file2]、[file3]、、、)があります。 この表を別ファイルに条件ごとに並べ変えて一覧化したいのですが知恵が無くまったく作業が進みません。 大変恐縮ですが、どなたか方法をご教示していただけますでしょうか。 [File1.xls]    A    B   1 商品   りんご     2 納品日  9/3    3 原価   50     4 数量   100 [File2.xls]    A    B   1 商品   みかん     2 納品日  9/10    3 原価   30     4 数量   30000 [File3.xls]    A    B   1 商品   すいか    2 納品日  9/1    3 原価   850     4 数量   200 ≪上記3ファイルを一覧化≫ [一覧化.xls]    A    B      C     D 1ファイル名 [File1.xls] [File2.xls] [File3.xls] 2 納品日   9/3      9/10     9/1       3 商品    りんご    みかん   すいか    4 数量    100      30000    200     5 原価    50       30     850 この様に仕上げたいです。 [file1]、[file2]、[file3]A行の項目と[一覧化]A行の項目の順序が違います。 [一覧化]1列目B行、C行、D行…にファイル名を入力すると簡単に一覧の作成ができればいいのですが…。。 初心者なので、説明不足&能力の無さが目立つと思いますが、 どうかよろしくお願いいたします。

  • フォルダを指定し、複数のエクセルファイルの情報を別ファイルに保存したい。

    エクセルのマクロで以下の実装を行いたいと思っています。 -------------------------------------------------------------- 1.あるフォルダを指定 2.そのフォルダの中に入っているエクセルファイルの特定列複数行(行数不明、データがなくなるまで)の情報を抜き出す 3.2で抜き出した情報を別ファイル(テキスト形式)に保存 -------------------------------------------------------------- ・2で指定するフォルダには複数ファイルがあります ・3で保存するファイル名は2で開いたファイル名と同じ名称にしたい(拡張子は別) フォルダの状態は以下のようになっています。 editor.xls ←マクロを組みたいエクセルファイル L folderA    L A1.xls    L A2.xls    L A3.xls      : L folderB    L B1.xls    L B2.xls    L B3.xls      : L forlerTextfile    L A1.txt ←作りたいファイル    L A2.txt    〃    L A3.txt    L B1.txt    L B2.txt    L B3.txt      : 分かりづらくて申し訳ありませんが、どなたかご教授いただけないでしょうか。 宜しくお願いいたします。

  • エクセルマクロ 次のようなプログラム教えてください

    エクセルのマクロで、次のようなことをしたいと思っていますが、 素人でわかりません。 教えていただけますか。 ---------------------------------- o動かしているファイルをa.xlsとします。  a.xlsは、3行目からA列に名前、B列~D列にデータが入っていて、  各行ごとのファイルを作りたい。(行数は決まっていない)  なお、セルE1にある文字が入っている。 o各ファイルは、原紙としてgensi.xlsとして保存されているファイルに、  a.xlsのB~D列のものを入力したものを作りたい。  (B~D列のデータは、gensi.xlsのそれぞれセルC7・C8・C9に入力する)   gensi.xlsは、a.xlsと同じフォルダにあります。 o作成場所は、「C:\date」の中に、セルE1にある文字のフォルダ、A列に  ある名前のフォルダに作りたい。 (セルE1の文字のフォルダは、マクロを初めて実施するときは無いと思います  が、2回目からは存在すると思います。A列の名前のフォルダはマクロ実施時  にはありません。作成するファイル名は、A列の名前と同じ(フォルダ名と同じ).xls にします。) o実行ボタンを3つ作って、1つは今選択されている行のフォルダ・ファイルを作る。  2つ目は数字を入力させて、今選択されている行から入力した数字の行までを一括  で作成する。  3つ目は、3行目から現在入力されている行すべてを一括で作成する。 ------------------------------- 上記のことをしたいと思っています。 よろしくお願いします。 駄文ですみません。 なお、エクセルは古いバージョンでエクセル2000です。

  • エクセルのマクロについての質問です。

    ファイルA.xls __A__B__C 1_______1 2_______5 3_______7 4_______4 5_______5 6_______6 ファイルB.csv __A__B__C 1_1__5 2_5__6 3_7__7 ファイルC.csv __A__B__C 1_6__5 2_7__8 3_6__8 のような3つのファイルがあったとして ファイルA.xlsからマクロを実行して __A__B__C 1_1__5__1 2_5__6__5 3_7__7__7 4_6__5__4 5_7__8__5 6_6__8__6 ファイルB.csvをファイルA.xlsのA列とB列に ファイルC.csvをその下の最終行に貼り付けたいと思うのですが どのようにすればいいのでしょうか? 注意点としては、 (1)今は例として3行、3行の6行ですが、実際は1000行以上あり 毎回行数は変わります。 (2)ファイルA.xlsのC列には実際は関数が入っていて、 ファイルB.csvとファイルC.csvを張り付けた情報を計算して表示する ようになっています。

  • excel2000マクロ抽出方法

    2つのファイルがあります。ブック名A.XLS シート名 WORK              ブック名b.XLS シート名 SORT              ブック名A.XLS シート名 WORKに下記のデータが入っています。 AD 1300G A227550 000PA505(C列2行目) 200112(F列)200201(G列)200202(H列)200203(I列)200204(J列)200205(K列)→1行目固定データ AD 1300G A227550 000PA533(C列3行目)   ブック名b.XLS シート名 SORTに下記のデータが入っています。 AD 1300G A227550 000PA505(A列2行目)200112(E列)200201(F列)200202(G列)200203(H列)200204(I列)200205(J列) →1行目E列~J列のデータは都度変わっている AD 1300G A227550 000PA533(A列3行目)    データ抽出条件  ブック名A.XLS シート名 WORKの F列~K列の1行目の列データとブック名b.XLS シート名 SORTの  E列~J列の1行目の列データが同じで、ブック名A.XLS シート名 WORKのC列の2行目以降のコードと  ブック名b.XLS シート名 SORTのA列の2行目以降のコードが同じだったら  ブック名b.XLS シート名 WORKの E列~J列の同じ行にデータを入れる。違うときは、  ブック名b.XLS シート名 WORKのデータはそのままにする。 上記の条件を満たしたマクロの記述の仕方を教えてください。 以上よろしくお願いします。

  • エクセルVBAのプログラム

    A.xlsからB.xlsのファイル(最初はA..xlsのみが開いています)へのデータ転送をしたいのですが、プログラムが組めません(>n<)  すみませんが誰か助けてください。 行いたい作業は以下の通りです。 ※デスクトップにあるB.xlsを開く ※A.xlsのセル「A1~A5」をコピーしてB.xlsのAの列の列で空欄の行を見つけて、列と行を入れ替えて貼り付ける(もしB.xlsのA10までデータが入力されていたら、貼り付ける場所はA11~F11になります) ※B.xlsは作業終了後自動保存して閉じる その際に ※A.xlsのセル「A1」にはデータ名が記入されているのでB.xlsのAの列にその名前があれば、そこに上書きする形にしたい。 ※A.xlsのA2のセルには「55,23」のように二つの数字が「,」でつながって入力されているので、B.xlsに貼り付けるときには、二つのセルにわけてそれぞれの数字を貼り付けたい。 お手数おかけしますがよろしくお願いいたします。

  • 【VBA・マクロ】csvファイルの操作方法

    実験データ(csvファイル)をマクロを使用して編集・操作したいのですが、 データ量が多すぎ(65536行を超えている)て 「すべて読み込めませんでした」と出てしまいます。 そのためデータを一度ワードパッドで開き、必要なデータのみを抽出して 順番にエクセルシート(sheet1)に貼り付けたいと思っています。 多少はマクロを勉強して簡単な操作はできるのですが、 ワードパッドへの操作方法がわかりません。 よろしくお願いいたします。 使用エクセルバージョン:エクセル2000      1列目 2列目 3列目 4列目 1行目  A   C   良品   E 2行目  B   D  不良品   F ※良品となっている行のみのデータをエクセルへ貼り付けたいです。

専門家に質問してみよう