• 締切済み

VLOOKUPを使ってシート間のデータ検索をし貼付けをしたのですが、うまくいきません。

シート見出しに『リスト』『チエックシート』を作成しました。 『リスト』 1   A      B      C      D 2   建物番号   号機     建物名称   確認日 3   100123    001     Aビル      4   100222    001     Bビル 5   100222    002     Bビル 6   100333    001     Cビル本館 7   100333    002     Cビル別館 8   ・      ・      ・ 9   ・      ・      ・ 『チエックシート』 1 A     B       C      D 2  建物番号  建物名称    確認者    確認日 3   100123   Aビル     山田     2007年9月12日 4   号機     5   001 6 他の確認数十行 7    8   建物番号  建物名称    確認者    確認日 9   100222   Bビル     山田     2007年9月29日 10   号機       11   001    002 12   他の確認数十行 13 14   建物番号  建物名称    確認者    確認日 15   100333   Cビル本館   山田     2007年9月29日 16   号機 17   001 18   他の確認数十行 19 20   建物番号  建物名称    確認者    確認日 21   100333   Cビル本館   山田     2007年9月29日 22   号機 23   002 24   他の確認数十行 質問 (1)『チエックシート』1ページ目のA3に建物番号を入力すると、  B3に「=VLOOKUP(A3,リスト!A:C,3,FALSE)」と設定している為、  『リスト』よりの検索結果「Bビル」と表示する。・・・・これは思い通りですが、4ページ目のA21に建物番号を入力しても、  リスト内の現場名の一番若いものが、B21に表示する。  号機に付随した、「Cビル別館」と表示させたい。 (2)『チエックシート』各ページに「建物番号」「号機」を入力しているのだ が、「確認日」を『チエックシート』の号機毎の「確認日」に自動反映させたい。 (3)『チエックシート』各ページの「確認日」:D3,D9,D15,D21をコンボボックスにし、1ページ目をコピーし2ページ目以降に貼り付けたのですが、 2ページ目以降のコンボボックス:コントロールの設定:コントロール:リンクするセルが1ページ目のままであり、機能を果たせない。 2ページ目だけを個別に(コンボボックス:コントロールの設定:コントロール:リンクする)をE9と変更したら、機能を果たすようになったが、コピー→貼付けで、このような無駄な操作を省略したい。

みんなの回答

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

(1) > リスト内の現場名の一番若いものが、B21に表示する。 > 号機に付随した、「Cビル別館」と表示させたい。 Vlookupの正しい動きです。 付随した別館を表示させたいなら、号機の情報も含めて検索対象、検索キーにしなければなりません。 (2)『チェックシート』の縦方向の情報を全て横方向に記述すればこちらに対してVlookupを利用する事が可能になります。 (3)コンボボックスを作った状態のシートをコピーして増やしていけば可能だが、データの内容はコピー元と同じになる。 (2)の作り変えと合わせて実施してはいかがでしょうか?

oyazi35230
質問者

お礼

早々なご回答ありがとう 下記の方法を『=VLOOKUP・・・』等でお願いします。 (1)付随した別館を表示させたいなら、号機の情報も含めて検索対象、検 索キーにしなければなりません。 (2))『チェックシート』の縦方向の情報を全て横方向に記述すればこち らに対してVlookupを利用する事が可能になります。 (3)コンボボックスを作った状態のシートをコピーして増やしていけば可 能だが、データの内容はコピー元と同じになる。

関連するQ&A

  • VLOOKUP?sheet1は固定で

    sheet1にこういったリストがあったとします。 (「,」は列が変わるという意味です。) 08/02/01 (金),20,A 08/02/02 (土),15,A 08/02/03 (日),32,A 08/02/04 (月),10,A 08/02/05 (火),2,A 08/02/06 (水),0,A 08/02/07 (木),5,A 08/02/08 (金),8,A 08/02/09 (土),9,A 08/02/01 (金),38,B 08/02/02 (土),4,B 08/02/03 (日),55,B 08/02/04 (月),1,B 08/02/05 (火),2,B 08/02/06 (水),8,B 08/02/07 (木),21,B 08/02/08 (金),4,B 08/02/09 (土),1,B 08/02/01 (金),8,C 08/02/02 (土),6,C 08/02/03 (日),5,C 08/02/04 (月),1,C 08/02/05 (火),5,C 08/02/06 (水),3,C 08/02/07 (木),4,C 08/02/08 (金),52,C 08/02/09 (土),2,C 長さは2/1-2/9固定でなく、例えば1/28-5/1かもしれません ただ、AもBもCも同じ長さとします。 また、このシートは触りたくないです。 でsheet2にて 2/2-2/8(任意です。)とした場合 なんらかの式を入れることで A,72 B,95 C,76 と、2/2-2/8の合計値を出すようなことはできますでしょうか? どうぞよろしくお願いいたします。

  • VLOOKUPで複数シートの検索方法

    エクセルで勤務表を作成しているのですが 勤務形態が100種類以上あり、番号付けしています。 勤務形態により、始業時刻が異なり、また、平日・土曜・日祝によりそれぞれの勤務形態で始業時刻が3種類有ります。 平日・土曜・日祝の3種類の勤務形態シートを作成しています 勤務表には勤務番号を入力し指定のセルへ勤務時間を参照する関数がわかりません。。。 平日でA番はA時~ B番はB時~ C番はC時~ 同じA番でも土曜ならD時~ また同じA番でも日祝ならF時~ そこで 1日 A番A時~ 2日 C番C時~ 3日 B番B時~ 4日 A番D時~ (土曜) 5日 A番F時~ (日祝) 平日・土曜・日祝の勤務番号の時間は固定でローテーションです 平日シート    A     B 1 1111  10:00 2 2222  11:00 3 3333  12:00 4 4444  13:00 土曜シート    A     B 1 1111  10:30 2 2222  11:30 3 3333  12:30 4 4444  13:30 日祝シート    A     B 1 1111  10:45 2 2222  11:45 3 3333  12:45 4 4444  13:45 3種類のシートから 勤務表シート    A        B     C 1 1日(月)    1111  10:00 2 2日(火)    2222  11:00 3 3日(水)祝   1111  10:45 4 4日(木)    4444  13:00 5 5日(金)    2222  11:00 6 6日(日)    2222  11:45 このように表示したいのですがいい方法はないでしょうか? よろしくお願いします。

  • エクセルでリストに対応するデータを別シートの表

    エクセルでリストに対応するデータを別シートの表に参照したいです。 「表シート」のB2にリストを作って、 (リストは「一覧表シート」のA,B,Cが入力されているセルを参照しています。) Aを選択すると101の下の段(B11)に、 「一覧表シート」のAの列101の111が入力されるようにしたいです。 Bを選択すると222、Cを選択すると333が入力できるようにしたいです。 この「表シート」の表がややこしいのですが、 建物の部屋番号に対応しているため、3階2階1階という順になっています。 関数で対応できるものでしょうか? 分かりにくい表ですが、よろしくお願いします。

  • if関数とVLOOKUP関数について

    if関数とVLOOKUP関数について エクセル2003で以下のような表を2枚 (シート1とシート2です)作成しています。 上段がシート1で、左上「NO」からA1セルに なっています。 下段がシート2で、特別番号が付番される 人の対象者リストで、「氏名」 がA1セルです。 図が乱れてすいません。 シート1のB列の売上日、C列の氏名は 別ファイルから貼り付けています。 シート2は、特別番号を付番する人の 氏名リストですが、ここでは、便宜上 小文字のアルファベットにしています。 ここでしたい処理ですが、売上日及び氏名を シート1に貼り付けた際に、特別番号対象者 (シート2のリストに挙がっている人) が入ってきたとき、自動的にシート1の A列のNOの列に「特別番号」 との文言を表示させたいのです。 実際に数字を表示するのではなく、 「特別番号」の文字列を表示させたいです。 IF関数とVLOOKUP関数でできると思うのですが よくわかりませんでしたので、教えてください。 NO 売上日 氏名 1 1月1日 A 2 1月2日 B 特別番号 1月3日 a 特別番号 1月4日 b 特別番号 1月5日 c 3 1月6日 D 4 1月7日 E 特別番号 1月8日 e 特別番号リスト(シート2) 氏名 住所 a 東京都 b 大阪府 c 神奈川県

  • 2sheet間のVLOOKUPのデータの転記

    sheet1 sheet2 A1 B1 C1 D1   E1  A1  B1  C1 D1  E1  F1 姓 名 会社 メルアド   アドレス姓 名  会社  メルアド TRIM(B1&C1&D1&E1) ・  ・  ・         ・    ・   ・  ・    ・ ・  ・  ・         ・    ・   ・  ・    ・ ・  ・  ・         ・    ・   ・  ・    ・ 上記の様にデータがありsheet2のアドレスをsheet1のE1に転記したいと思っています。 現在、Sheet1でのE1に=Vlookup(TRIM(A1&B1&C1&D1),Sheet2!A1:F100!A:A,0)と記述していますが、#NAMEなどのエラーが出てしまいます。 どうしたらデータの転記が出来るでしょうか? 何卒、宜しくお願い致します。

  • VLOOKUPで

    Excel2000を使っています。 Sheet1のB列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,2,0)) Sheet1のC列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,3,0))を入れてあります。 Sheet2のA列にはコード番号、B列には氏名、C列には住所が入っています。 Sheet1のA列に番号を入力すると、B,C列に氏名、住所が表示される表を作りましたが、Sheet2にデータを追加したら番号を入力しても、追加したメンバーについては、エラー表示(#N/A)が出てしまいます。 コード番号は頭にゼロが付くので、Sheet1のA列は文字列、Sheet2はすべて文字列にしてあります。 最初はうまくいってたのですが、後から追加した分だけがエラーになります。他のリストからデータをコピーし、値のみを貼り付けてだめだったので、手入力してみたのですがやはりだめでした。検索範囲を超えていることは絶対にありません。 どうしてもわからないので、質問させていただきます。 心当たりございましたらよろしくお願いいたします。

  • エクセルのVLOOKUPに関して

    お世話になっております。 VLOOKUP関数になるのか他の関数になるのか分からないのですが ご教授よろしくお願い致します。 A1セル      A2セル      A3セル 店番号      商品名       担当 1         ア          山口 2         イ          大山 3         ウ          斎藤 1         エ          中村 1         オ          山口 上記のような情報がシート1にあり、 シート2のA1セルに店番号を入力した時に シート2のB列に同じ店番号を持つ商品名をB1、B2、B3...セルへとリスト化し、 C列に担当をC1、C2、C3...セルへとリスト化したいのですが、 どのような関数を使用すれば可能となりますでしょうか。 よろしくお願い致します。

  • VLOOKUPでお願いします

    VLOOKUPは初めてです。 (シートA)     A       B     C  1  コードNO.   名前   電話番号 2  0011112    佐藤   1111-3333 3  0022222    鈴木   1234-5544 4  1155444    山田   5566-1133 5  0333777    山下   8877-4477 (シートB)     A       B     C  1  コードNO.   名前   電話番号 2  0022222     3  0333777    シートAが元データです。 シートBのA列に他からコピーしたコードNO.を貼り付けると自動的に シートAからに該当する名前と電話番号をシートBのB列C列に表示させる。 どうか宜しくお願いいたします。

  • EXCELでシート名を他のシートにあるリストから取得するには?

    sheet(1)には、名称のリスト(A(a)・B(b)・C(c)・・・)があり、sheet(2)には、アンケート用紙があります。 このsheet(2)をsheet(1)にある名称リストの分だけ、コピーし、コピーされたsheet(3)以降のシート名称をsheet(1)にある名称から順に取得して(コピーされたシート名称をA・B・C・・・と名付け)、さらに、 名付けられたシート上のある、一つのセルの値をsheet(1)のリスト(a・b・c・・・)を参照するものとしたいのですが、マクロをくめないでいます。 VAB初心者には難しいでしょうか。以下のように組んでみましたが・・・ Sub Macro1() Dim i As Long For i = 2 To 20 Sheet(2).Copy After:=Sheet(i) Range("F:L").Select ActiveCellR1C1 = "=Sheet(1)!R[i]C[-4]" Sheets(1).Range(Cells(i,"B").Value.Select Selection.Copy Sheets(i).Range("F1:L1").Paste Sheets(i).Name = Sheet(1).Cells(i, "A") Next i End Sub

  • シート間の計算

    シートAとシートBで名称が一致する物の値を足したり引いたりする事は可能でしょうか? シートAにテレビ100000があり、シートBにテレビ80000が合った場合、どこかのセルにシートAとBのテレビの値を足した値を1発表示する事って出来ますか? テレビのほかにも洗濯機やエアコンやらもあるので、名称は固定ではないですが、AとBに同じ名称の物はあり、行番号は同じです。

専門家に質問してみよう