• ベストアンサー

「エクセル」で、「アクセス」のようにデータを呼び出したい

「Excel2000」を使用しています。 少し、ややこしいのですが… たとえば住所録で、 「sheet1」の 1行目にリストのタイトルが入っていて、 A2、A3…に通し番号、 B2、B3…に名前、 C2、C3…に住所、 D2、D3…に電話番号 が入っているとします。 その時、「sheet2」の (たとえば)A2に 「sheet1のA2」に入っている通し番号を入力すれば、 その行に入力されている名前や住所や電話番号が、 任意のセル(たとえばD10、C8、C9)に表示される… といったことは可能でしょうか? こういったことは「Access」が 得意なんだと思いますが、なんとか エクセルで出来ないものでしょうか? マクロなどを使うのでしょうか? マクロはほとんど触ったことがないのですが、 チャレンジしてみますので お教え願えませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.1

VLOOKUPやHLOOKUPを使用してみては? Sheet2のA2に通し番号をいれるとします。 名前をB2に表示するとして、 B2に以下のような数式をいれます。 =VLOOKUP(A2,Sheet1!A2:D5,2) 一番左の「A2」は参照する値です。 真ん中は、表(Sheet1)の範囲指定 右の「2」はその表の何列目に求めたい値が入っているかです。 例の状態だと 1:通し番号 2:名前 3:住所 4:電話番号 となります。

mami0810
質問者

お礼

うまくいきました! 回答、ありがとうございました(^-^)。

mami0810
質問者

補足

出来ました! ただ、そうすると 数式を入れたセルの下4行ほどが なぜか結合してしまうのですが…。 「セルの書式設定」で「結合」の チェックを外すと分かれますが、 それでもセルの枠線が消えたままに なってしまいます。 「ツール」の「オプション」の 「表示」で、「枠線」のチェックは 入っているのですが。 どのようにすれば、 枠線がまた表れるのでしょうか? また、一つのセルだけに 表示させることが出来るのでしょうか?

その他の回答 (3)

回答No.4

>数式を入れたセルの下4行ほどが >なぜか結合してしまうのですが #1さんの式をコピー・貼り付けしたのではないですか? 「形式を選択して貼り付け」で「テキスト」を選択すれば、 結合されずにできますよ。

mami0810
質問者

お礼

そうです! テキストの貼り付けでうまくいきました。 回答、ありがとうございました(^-^)

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.3

>数式を入れたセルの下4行ほどが >なぜか結合してしまうのですが えっ・・・ VLOOKUP関数いれたからって勝手にセル結合はしませんよ。 数式をいれる列をあらかじめ範囲選択して、  編集-クリア-書式 をやってみてください。

mami0810
質問者

お礼

そうするとうまくいきました。 回答、ありがとうございました!

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 VLOOKUP関数で出来ます。 例えば名前なら、 =VLOOKUP($A$2,Sheet1!$A$2:$D$100,2,FALSE) となります。 関数の詳細はヘルプで。 過去ログや検索サイトで検索してもたくさん見つかると思います。

mami0810
質問者

お礼

うまくいきました! 回答、ありがとうございました(^-^)。

mami0810
質問者

補足

出来ました! ただ、そうすると 数式を入れたセルの下4行ほどが なぜか結合してしまうのですが…。 「セルの書式設定」で「結合」の チェックを外すと分かれますが、 それでもセルの枠線が消えたままに なってしまいます。 「ツール」の「オプション」の 「表示」で、「枠線」のチェックは 入っているのですが。 どのようにすれば、 枠線がまた表れるのでしょうか? また、一つのセルだけに 表示させることが出来るのでしょうか?

関連するQ&A

  • 「エクセル」で「アクセス」のようにデータを呼び出したい(2)

    「Excel2000」を使用しています。 NO.608938で質問を させて頂いたのですが、 それを踏まえた新たな疑問が 出てきたので、前回の質問文を引用させて 頂きます。 >たとえば住所録で、 >「sheet1」の >1行目にリストのタイトルが入っていて、 >A2、A3…に通し番号、 >B2、B3…に名前、 >C2、C3…に住所、 >D2、D3…に電話番号 >が入っているとします。 >その時、「sheet2」の >(たとえば)A2に >「sheet1のA2」に入っている通し番号を入力すれば、 >その行に入力されている名前や住所や電話番号が、 >任意のセル(たとえばD10、C8、C9)に表示される… >といったことは可能でしょうか? …との質問に、VLOOKUPを使う方法を 教えて頂いたのですが、さらにもう一歩進んで… たとえば同一人物(名前、住所等同じ)に 同じ通し番号をつけた場合に、 その人が受け持っている 複数の得意先の名前(E2、E3…)や 住所(F2、F3…) を、Sheet2にまとめて表示させることは 出来るのでしょうか? 分かりにくい説明ですみませんが… たとえば、番号「1」番の「田中太郎」さんが A2、A3、に入力されていて、 E2に「○○商事」、E3に「○○物産」(Fに住所) となっていた場合、Sheet2に「1」と入力して 「田中太郎」さんを呼び出すと同時に、 得意先の一覧と住所も表示させることは 出来るでしょうか? 「同時に」でなくても構わないので、 何か良い方法がありましたらお教え下さい。

  • Excel シート間のデータの照合

    Excelで、シート間のお客様データ(だいたい各1万件)を照合します。下記は現在の照合方法ですが、これでは時間がかかるうえ手作業が多く発生しミスにつながります。頻繁に行う作業なので、関数でも、マクロでも、とにかくもう少し簡単にできる方法がありましたら、どうぞご教授ください。よろしくお願いします!! 【目的】 シート「sheet2008」には2008年度のデータ。シート「sheet2007」には「sheet2008」と同じ形式の2007年度のデータが入っています。シート「sheet2008」に、そのお客様の2007年度の担当営業マンを表示させたいのです。 【例】 列A(電話番号): 011-231-1112 列B(名前):佐藤 一郎 列C(住所):北海道札幌市中央区北1-1-1 列D(担当営業マン):鈴木 新規の列(2007年度の担当営業マン):鈴木  ・「sheet2008」「sheet2007」はほぼ同じデータですが、一部のお客様は名前が変わっていたり、住所が変わっていたりします。  ・「sheet2007」にないお客様が「sheet2008」にあったり、その逆があったりして、各シートのデータ件数は一致しません。  ・名前が同じでも住所が違うデータ、電話番号が同じでも担当営業マンが違うデータは別者として扱います。  ・「顧客ID」のような“必ずユニークな情報”は存在しません。 【現在の照合方法】 (1)「sheet2008」の各列の前に空白列を挿入する。  (データの1行目はタイトル行…B1:電話番号/D1:名前/F:住所/H:担当営業マン)  (データの2行目以降はデータ)     列A(空白行):     列B(空白行): 011-231-1112     列C(空白行):     列D(名前):佐藤 一郎     列E(空白行):     列F(住所):北海道札幌市中央区北1-1-1     列G(空白行):     列H(担当営業マン):鈴木 (2)「sheet2007」を列Aの電話番号で昇順に並べ替える。 (3)「sheet2008」の電話番号が「sheet2007」にあるかを調べる。     A2:「=IF(B2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,1,0)),"○","▲")」 (4)(3)で調べた「sheet2008」の電話番号と同じ行にある名前/住所が「sheet2007」にあるかを調べる。     C2:「=IF(D2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,2,0)),"○","▲")」     E2:「=IF(F2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,3,0)),"○","▲")」 (5)電話番号/名前/住所がすべて一致するデータについて、「sheet2007」にある担当営業マンの値を列Gに表示させる。     G2:「=IF((AND(A2="○",C2="○",E2="○"))=TRUE,(VLOOKUP($B2,Sheet2007!$A:$D,4,0)),"▲") (6)"▲"やエラー値で表示される計算結果について、目視で確認する。 (終了)

  • 別シートのデータを抽出して並べ替えたい

    シート1のA列だけに1行飛ばしで名前、住所、電話番号のデータが入っています。ついでに、次の情報との間は2行飛ばしになっています。    A         B ―|―――――|―――――― 1|名前a  | 2|     | 3|住所a  | 4|     | 5|電話番号a| 6|     | 7|     | 8|名前b  | といった感じです。 このデータを下のように、シート2に綺麗に並べ替えたいのですが…     A      B         C ―|―――――|―――――|―――――――| 1| 名前a | 住所a | 電話番号a | 2| 名前b | 住所b | 電話番号b | 3| 名前c | 住所c | 電話番号c | ひとつずつコピペで移そうと考えていたのですが、データが何百件と増えてしまったため困っています。 簡単にできる方法があれば教えてください。 よろしくお願いします。

  • エクセル並べ替え教えてください

    エクセルに詳しい方教えてください、お願いします。 シート1のA1セルに名前B1に住所C1に・・2行目以降も同じようにデータを入力し 各列の最後に移し変えたい行データに○を入力したものを、丸印の行データのみを、シート2の1行目から順番に移し変えが出来るようにしたいのですが    A    B    C    D    E 1 名前  住所 電話  データ   ○ 2 3                      ○ 4 1行目と3行目の○をつけた行データを別のシートの1行目、2行目と順番に移し変える方法を教えてください。 よろしくお願いします。

  • エクセルのマクロについて教えてください

    シートが3つあります。Aシートはデータが打ち込んであり、Bシートは計算を行い、Cはその結果を返します。今、Aシートの各データには頭に通し番号がふってあり、Cシートの入力エリアにその番号を打つと、vlookupでAシートのデータの中身を引っ張ってきて、それでBシートにて計算が行われています。で、その結果が再びCシートに返されます。 ところで、その計算結果をAシートの該当データに貼り付けていきたいのですが、いちいちCシートでコピー、Aシートの該当行に形式を選択して貼り付け、とやっているのですが、これをCシートで入力した通し番号とAシートの通し番号を突合して一致したところの○番目のセルに結果を貼り付ける、といったマクロは可能でしょうか。教えてください。

  • EXCEL2003でマクロを作りたいのですが教えて下さい。

    エクセル2003を使っています。 マクロの初心者なので、 下記のようなマクロの作り方を詳しく教えて下さい。 他にも簡単な方法があればお願いします。     <シート1>               <シート2>   A     B   C  D    A    B  C  D 1 名前 郵便番号 住所 金額   1 名前     2    以下、データ          2 郵便番号 3                    3 住所    ・                   ・ 10                   10           金額                          <シート1>にはA1~D1までデータがあります。(50行) <シート2>の1ページ目に<シート1>の1行目のデータを入れたいです。 <シート1>は全部で50行のデータがあり、 <シート2>は1~10行までを1ページとし、50ページ作りたいです。 いろいろ調べてみたのですが、わからなかったので 説明不足かもしれませんが、よろしくお願いします。

  • 条件にあったデータを抽出する関数またはマクロ

    エクセルの関数またはマクロで以下のようなことをしたいと思っています。以下のような表を「Sheet1」に作成しています。 A社 住所1 電話番号1 B社 住所2 電話番号2 C社 住所3 電話番号3 D社 住所4 電話番号4 「Sheet2」にて、A1に“A社”と入力すると、B1に住所、C1に電話番号が表示されるようにしたいのです。INDEXやVLOOKUPなどでやってみたのですが、うまくいきません。ご指導をお願いいたします。

  • マクロによる条件での行の入力と削除

     初めまして、よろしくお願いします。  次のような二枚のシートがあります  シート1      A  B  C   1     2       ・      99      100 23    101 25   102 31   103 34  104 43  105 44  106 49  107 50  108 55  109 60  110  111  ・  ・  シート2      A  B  C   1     2       ・      99      100 23  1 2 3   101 25  4 5 6 102 31  7 8 9     103 34  0 1 2  104 43  3 4 5     105 44  6 7 8 106 49  9 0 1 107 50  2 3 4 108 55  5 6 7 109 60  8 9 0 110  111  ・  ・ シート1とシート2のA列に入っている数字が通し番号です。シート2では加えてその通し番号のデーター数字がB列、C列、D列に入っています。 のこシート1の通し番号31が削除、代わりに通し番5番と51番を追加し、  シート1      A  B  C   1     2       ・      99      100  5 101 23    102 25     103 34  104 43  105 44  106 49  107 50  108 51 109 55  110 60  111  112  ・  ・ マクロを実行すると  シート2      A  B  C   1     2       ・      99      100  5 101 23  1 2 3   102 25  4 5 6    103 34  0 1 2  104 43  3 4 5     105 44  6 7 8 106 49  9 0 1 107 50  2 3 4 108 51 109 55  5 6 7 110 60  8 9 0 111  112  ・  ・ シート2がこように通し番号31が入っていた行番102行が削除され、新たに通し番5番が行番100に、51番が行番108に挿入追加されるマクロを教えていただきたく、よろしくお願いします。

  • ExcelのVBAでデータをツリー構造にしたい

    Excelのあるシート「シート1」に親子関係が記されたデータがあります。 列の親には親の名前が、子にはカンマ区切りで所属する子の名前が記されています。 <シート1> 親 子 A1 A2,B1,B2,B3 B1 C5 A2 C1,C2,C4 B2  C1 C2 C3 C4 B3 D1,D3 D1 D2 D3 D2 これを下のシート2のようなツリー構造で親子関係を表現したいです。 1、2、3、4はそれぞれ列で、セルの行と列を変更することで、 ツリーの親子構造を表現します。 <シート2> 1 2 3 4 A1   A2     C1     C2       C3     C4   B1     C5   B2   B3     D1     D3       D2 条件は以下のようになります。 a.シート1の記述順は順不同だが、一番上の行は必ず、一番上の親が来る。 b.一番上の行の親以外は、必ず親を持ちます。逆を言えば、「A1」以外には必ず親が存在し、親をたどると必ず「A1」になります。 そんなに難しくないかとは思うんですが、循環関数を作って考えるのが、今の眠い頭でできなくて…。

  • Excelユーザーフォームでのデータ検索

    現在Excelマクロの勉強中ですが、ユーザーフォームでテキストボックスを4個とコマンドボタン1個を作成し、テキストボックス1にコードを入力してコマンドボタンを押すと、ワークシート(ワークシート名、住所録)に作成されたデータのA列からコードを検索(データは2行目から始まる)し、一致したデータのB列にある「名前」をテキストボックス2、C列の「住所」をテキストボックス3、D列の「電話番号」をテキストボックス4に表示する。 というマクロが書けず困っています。 わかる方教えてください。

専門家に質問してみよう