• ベストアンサー

エクセルで他のブックを参照(列⇒行にコピー)

エクセルで、他のブックにあるデータを参照したいのですが、 ブックAで縦方向にならんでいるデータをブックBの横方向にコピーを簡単に行う方法はありますか? 「ブックA」 A1~A12に名前(結合しています) B1~B12に月(1月~12月) C1~C12に勤務時間 D1~D12に残業時間 Aさん 1月  190    10       2月  150    12      ・   ・    ・      ・   ・    ・      ・   ・    ・     12月  200    30 Bさん 1月  170    13      ・   ・    ・      ・   ・    ・ 「ブックB」 勤務時間 横方向に1月~12月まで 残業時間 横方向に1月~12月まで             1月   ・・・  12月 Aさん 勤務時間  190      残業時間  10 Bさん 勤務時間  170      残業時間  13 「ブックA」に勤務時間と残業時間を入力すると「ブックB」に反映されるようにしたいです。 INDIRECT関数を使ってみたのですが、「ブックA」を常に開いていないとエラーになってしまいます。 「ブックA」を閉じた状態でも「ブックB」に値を反映させる方法はありますか? よろしくお願いします。

  • _kuma
  • お礼率100% (5/5)

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

  • ベストアンサー
  • engine55
  • ベストアンサー率31% (28/89)
回答No.1

閉じた状態では、値は反映されません。 ファイルの全体が分からないので質問しますが、ブックを分けるのはなぜでしょうか。問題がなければ、ブック内で処理された方が、楽だと思います。(ファイルサイズが大きくなるのと、再計算で処理が重くなるのが我慢できれば。)

_kuma
質問者

お礼

ご回答ありがとうございます。 ブックAには、他のデータも入っていたので そのままブックを分けた状態で反映できないかな~と思い質問させたいただきました。 おっしゃるとおり同じブックで処理したほうが楽ですね。 ブックAの勤務時間の表だけ、ブックBに移してみたら、 ちゃんと表示されました(^^) ありがとうございます。

その他の回答 (1)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

ピボットテーブルはいかが? ブックAの1行目にタイトルをつける。 「名前」「月」「勤務時間」「残業時間」 ブックAのA列からD列まで選択し、挿入→名前→定義 名前欄に「勤務表」と入れ「追加」を押す。 ブックAを保存して閉じる。 ブックBの空白のシートで、データ→ピボットテーブル 外部データソース→「次へ」 データの取り出し Excel Files* を選び「OK」 ブックAを選び「OK」 勤務表を選び、「>」を押し「次へ」「次へ」「次へ」「完了」 フィールドが取り出されました、となるので「次へ」 既存のワークシート、=$A$3 レイアウト 行に名前、列に月、データに勤務時間と残業時間をドラッグ データの個数:勤務時間となっていたら、それをダブルクリックし、合計を選び「OK」 残業時間も同様 「OK」「完了」 以上でほぼご希望の結果が出ていると思います。 合計とか空白とかは、不要なら消せます。 やってみてください。簡単ですから。 頑張ってくださいヽ(^。^)ノ

_kuma
質問者

お礼

ご回答ありがとうございます。 ピボットテーブルを試してみたのですが、外部データの取り出しのところで、「この機能はインストールされていません」と出てきてしまいました。 インストール用のCDを探してみたのですが、見つかりません(>_<) せっかくアドバイス頂いたのにすみません。 今回は、ブックAの勤務時間の表をブックBに移して、同じブック内で処理する方法を取りたいと思います。 ありがとうございました。

関連するQ&A

  • Excel VBAにてデータのある列の指定とブック間コピーについて

    初めまして。Excel VBA初心者です。よろしくお願いします。 以下の表の状態で、たとえば、B列の2行目からデータが使用されている行(以下の例では40行目ですが、ブックの内容により行数が変化します)まで、別のブックにコピーする方法があれば教えて頂きたいです。 すみませんが、よろしくお願いいたします。 A B C D E ------------------------------- 1 あ い う え お 2 い う え お か     ・     ・ ・ 40 a b c d e

  • -excel-違うブックの文字列を含む行の抽出

    商品の価格を一括で変更できる方法を探しているのですが見つからず困っています。 全ての商品データが載ってるブックAがあります。価格を変更する商品のIDと値下げ後の値段が載っているブックBがあります。ブックAの商品価格をブックBの値下げ後価格に変更したいのですが、関数か、マクロなど何か良い方法はないでしょうか? 最悪価格は手動で変更するとしてせめてブックBのIDと合致するセルを持つブックAの行を抽出する方法はないでしょうか?抽出した行は別ブックにまとめてくれるとなお助かります。 ちなみにブックAには7000行、ブックBには1000行のデータがあります。 ブックA(商品データ) A列・・・・・・    F列・・・・・・・・ ID         価格 1234        2500 2345        3200 3456        1200 4567        3000 5678        1800 ブックB(価格変更データ) A列        B列 ID         価格 2345        2600 5678        1500 ↓ ブックA(商品データ)もしくは新規ブックC A列・・・・・・    F列・・・・・・・・ ID          価格 1234        2500 2345        2600 3456        1200 4567        3000 5678        1500 といった感じです。どなたかお知恵をお貸しください。よろしくお願いいたします。

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • EXCELで値を他のbookに反映

    シート名 7月1日     出勤 退社 Aさん 9:00 18:00 Bさん 9:00 17:00 Cさん 8:00 20:00  : このようなbookがあって、シート1枚に1日分でひと月ごとのbookになっています。 もうひとつのbookが シート名 Aさん     出勤 退社 7月1日 9:00 18:00 7月2日 9:00 18:00  : となっていて、シートは、Aさん、Bさん、Cさん・・・と人数分あります。例えば上のbookの7月1日のシートのAさんの出勤、退社時間を入力すると下のbookの7月1日のAさんのシートの出勤、退社の部分に値をそのまま反映させられることはできますか?1個1個だとリンク貼り付けやコピーでできるのですが、それだと両方打ち込むのとあまり変わらないので他に方法があったら教えて下さい。宜しくお願いします。

  • 行を列で参照する

    Sheet1に横6列で並んでいるデータがあります。 列は6列固定で、行はその時によって変動がありますが、少ない時でも500行はあります。 それを、 Sheet2のA列に参照させたいのです。 Sheet1 Sheet2 A1 →A1 B1 →A2 C1 →A3 D1 →A4 E1 →A5 F1 →A6 A2 →A7 B2 →A8 C2 →A9 . . . という感じに表示させたいです。 よろしくお願いします。

  • ボタン入力で他ブックのセルへコピー

    ブックBシート炉の1月1日の横にある入力ボタンでブックAシート総括の日付のマッチ(ブックBのA3とブックAのA2)したらブックBの1月1日のB3:C7がブックAのA1:B7にコピーしたいのですがどなたかVBAコードが解る方お願いします。 同様に順に1月2日の横にある入力ボタンでブックAへコピーしたいのですが。

  • 行、列の挿入がリンク先に反映できないでしょうか

    ブック1のシート1に下記の書き込みがあります   A    B    C    D 1 扉   123  456 2 床   789  012 3 天井  345  678 4 このA1~D4を別のブック2のシート1に「リンク貼り付け」しました。 保存後、ブック1の2行目に下記のように挿入してもブック2には反映されないようです。   A    B    C   D 1 扉   123  456 2 食堂  111  222 3 床   789  012 4 天井  345  678 再度リンク貼り付けせずに反映できる方法は無いでしょうか?使用ソフトはExcel2003です。よろしくお願いします

  • Excel VBAの違うBOOKへのコピーについて

    お世話様です excel vbaのコピーについての質問です C:\Documents and Settings\tanaka\デスクトップ\a というbookの中にあるsheet1のa1のデータ(以後a-a1と表記)を C:\Documents and Settings\tanaka\デスクトップ\b というbookの中にあるsheet2のc1にコピーしたい、と言った場合、 (以後b-c1と表記) それぞれのbookをactiveにしないとだめでしょうか (つまり、違うbookのファイル間でのコピーの際の質問なのですが) 私にはその方法しかわからず、この後 a-a11をb-d3へ、a-e11をb-s18へというアットランダムコピーが続くのですが、非常にコードも長く、時間がかかる処理になってしまいます。 どうか教えていただけると助かります 宜しくお願いします

  • エクセルの行にあるものを列にする数式

    エクセルの数式を使って、行に入っているものを別のシートの列に入力することについて質問です。 例(シートA)    A  B  C  D 1  月 火 水 木 2  10 20 30 40 ABCDが列番号、1,2が行番号です。 このように入力したシートがあります。 そして、違うシートには下のように入力したいのです。 例(シートB)    A  B  C  D 1  月 10 2  火 20  3  水 30 4 木 40 (ずれてしまってすみません) シートBの『10,20,30,40』のところに数式を入れたいのですが、シートAに入力した時に、シートBにそのまま反映されるようにしたいのです。 ちなみに、シートBのB1(10となっているところ)に『=シートA!A2』と入力して、それをシートBのB列全体にコピーすると、シートAのA列部分を縦によんでしまうので、反映されません。 シートAでは横によんでいって、それをシートBでは縦に表示する、というところです。 このような説明でわかりましたでしょうか? $マークも使って絶対値もやりましたが、それでもダメでした。 いい方法をご存知のかた、よろしくお願いいたします。

  • ブック間の参照~計算

    いつもお世話になっています。 A、B、Cの3つのブックの中の、A1、B1、C1には、小計が算出されています。 これらのA1~C1の合計を、別ブックDのD1に計算したいのですが、どうすれば宜しいでしょうか? 宜しくお願いします。

専門家に質問してみよう