音楽歴35年・FLAKE RECORDSの店主DAWAの選ぶセンス光る注目曲ご紹介!

Excelについて質問です。

A.xlsに入力したものをB.xlsに自動的に反映されるようにしたいです。

 ABCDE
1
2
3
4
5

これのA列とD列のみを反映したいんです。
また行は毎日増えていくので、A.xlsで更新していく度に
B.xlsも勝手にA列とD列だけ抜き出して自動的に更新されていくようにしたいです。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

違うSheet間のデータの反映と違うファイル間でのデータの反映を混同した回答が出てますが、素直にVBAでコードを書いていけばできます。



A.xls,B.xlsではなくA.xlsmとB.xlsmになりますが、Aファイルでの処理が終わったらBファイルを開いて希望の処理をするというのが妥当なやり方のような気がします。

上記の処理をマクロで書いてAファイル上からマクロを実行するようにすれば良いと思います。

>A.xlsで更新していく度にB.xlsも勝手にA列とD列だけ抜き出して自動的に更新されていくようにしたいです。

ASheetの結果をBSheetに自動で反映するなら簡単ですが。
    • good
    • 6

こんな方法はいかがでしょう


1)専用フォルダを作成。
2)専用フォルダ内にA.xls、B.xlsを入る。
3)A.xls、B.xlsを開く
http://www.becoolusers.com/excel/window-arrange. …

4)A.xls、のA列をコピー、B.xlsのA列に「形式を選択して貼り付け」で「リンク貼り付け」
 をします。
http://www4.synapse.ne.jp/yone/excel2010/excel20 …
添付画像も参考に

4)同様にA.xls、のD列をコピー、B.xlsのD列に「形式を選択して貼り付け」で「リンク貼り付け」
 をします。

これでA.xls、のA,D列にB.xlsのA、D列がリンクし、A,D列を変更するとB.xlsのA、D列も自動的に変更されます。

B.xls A1のセルには =[A.xls]Sheet1!A1 と言った数式になっています。
同様に  D100のセルには =[A.xls]Sheet1!D100 と言った数式になっています。

注意:専用フォルダーから出すとリンクが働かなくなります。
「Excel 別ファイルに自動的に反映させ」の回答画像3
    • good
    • 5

Bのどこかに


=[A]Sheet1!A1
と入力して下方向にコピー

またべつのどこかに
=[A]Sheet1!D1
と入力して下方向にコピー

ほかに
Aの列を丸ごとコピーしてBに貼り付けるときに「リンク貼り付け」を選択することでもできます。

VBAでFor Nextを駆使するよりお手軽だと思うのですが。
    • good
    • 2

>>A.xlsに入力したものをB.xlsに自動的に反映されるようにしたいです。



VBAを勉強して、プログラムをエクセルに組み込めば可能になりますよ。
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

QExcelでファイルを越えて連携できるのでしょうか

Excel2010なのですが、同じファイルであればシートをまたいであるセルを参照出来ますが、
別ファイルの、あるシートのあるセルを参照するというような事は出来ないのでしょうか?
ほんの初歩的なマクロは学んだのですが、そういうファイルをまたいでの設定は無かったように思いますが、マクロとか使えば出来るのでしょうか?
例えばプログラミングなどであるinclude()などあればファイルを参照出来るのでしょうが。

Aベストアンサー

エクセルの数式では,
='c\test\[book1.xls]Sheet1'!A1
といった数式で多ブックの値を参照し計算に利用できます

参照元ブックを開いておいて
=[book1.xls]sheet1!A1
のように数式を作成し,参照元ブックを保存して閉じると,自動で閉じたブックを参照する式に書き換わります。エクセルの操作になれていないときは,こちらの手順を行った方が間違いがありません。




マクロでは別のブックを「開いて参照する」のが原則です。
sub macro1()
 dim w as workbook
 set w = workbooks.open("c:\test\book1.xls")
 msgbox w.worksheets("シート名").range("セル番地")
 w.close false
end sub


開きたくないご相談はしばしば見かけますが,労多くして功少ないの典型と言えます。

方法1:開いているところを見せない
sub macro2()
 dim w as workbook
 dim x
 application.screenupdating = false
 application.calculation = xlcalculationmanual
 set w = workbooks.open("c:\test\book1.xls")
 x = w.worksheets("Sheet1").range("A1")
 w.close false
 application.calculation = xlcalculationautomatic
 application.screenupdating = true
 msgbox x
end sub

方法2:エクセルに閉じたブックの値を取ってこさせる
sub macro3()
 dim x
 range("A1").formula = "='C\test\[book1.xls]Sheet1'!A1"
 x = range("A1").value
 range("A1").clearcontents
 msgbox x
end sub

方法3:4.0マクロ関数を使う
色々制約があるのでお薦めしませんが,下記など参考に。
http://www.moug.net/tech/exvba/0060037.html

エクセルの数式では,
='c\test\[book1.xls]Sheet1'!A1
といった数式で多ブックの値を参照し計算に利用できます

参照元ブックを開いておいて
=[book1.xls]sheet1!A1
のように数式を作成し,参照元ブックを保存して閉じると,自動で閉じたブックを参照する式に書き換わります。エクセルの操作になれていないときは,こちらの手順を行った方が間違いがありません。




マクロでは別のブックを「開いて参照する」のが原則です。
sub macro1()
 dim w as workbook
 set w = workbooks.open("c:\test\book1.xls")
...続きを読む

Q『エクセルファイルを別のエクセルファイルに反映』

こんにちは。初心者です。

エクセルファイル「購入品-1.xls」があります。そのファイル内には各業者から購入したリストが複数入力してあります。業者A~業者Zまであるとします。「購入品-1.xls」を更新すると、業者Aのリストだけを、別のエクセルファイル「購入品-2.xls」に反映されるようにしたいのですが、どうすればよろしいでしょうか?

ご回答宜しくお願いします。

「購入品-1.xls」のSheet2のF列が業者を判別する部分で、A列~M列までを「購入品-2.xls」のSteet1に反映したいです。

エクセル2003です。

Aベストアンサー

別ブックのデータを【抽出して】取り出したいということですよね。

[フィルタオプション]とか[マクロ]とか[数式](!)とか
いろいろなアプローチがありますが、
サンプルデータを処理するだけならともかく、
実際に運用するとなると初心者にはハードルが高い面があります。

というわけで、
[データベースクエリ]あるいは[外部データの取り込み]をオススメしておきます。

■Excel(エクセル)基本講座:データベース クエリ(データ抽出)
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter2.htm

■Excel豆知識41:エクセル:外部データの取り込み
 (パラメータークエリの利用):条件によるデータの抽出
http://www11.plala.or.jp/koma_Excel/contents6/mame6041/mame604101.html#TOP

以上ご参考まで。

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

Qエクセルで別ファイルのデータを読み込み自動入力させたいのですが

【顧客リスト】というファイルのsheet1に、A列を氏名、B列を住所、C列を年齢の欄として複数行入力しています。
【見積書】というファイルのセルE20に氏名を入力すると、【顧客リスト】A列から同じ値の行を探し出し、その同行のB列の値を【見積書】のE21に自動的に入力されるようにしたいと思っています。
どなたかご回答の程、よろしくお願いいたします。

Aベストアンサー

常に、【顧客リスト】と【見積書】の両方のファイルが開いているという条件で、

【見積書】のE21に
=INDEX([顧客リスト.xls]Sheet1!$B$2:$B$*,MATCH(E20,[顧客リスト.xls]Sheet1!$A$2:$A$*,0))
で良いかと。なお式中の"*"には、【顧客リスト】の際下段の行数を入れてください。

解説ですが、
まずMATCH関数で【見積書】セルE20の値が、【顧客リスト】のA列の何行目にあるかを検索し、その値をINDEX関数に入れて、B列の値を表示する方法です。

QExcelで入力したデータを他のシートにも反映したいです

Excelでシートに入力したデータだけを他のシートに表示させたいです・・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。

シート1
 Å列    B列 C列    
キャベツ     玉   1
りんご     個   2
オレンジ    個
バナナ     本   10
きゅうり    本
ニラ     Kg  20.5

シート2
 Å列    B列 C列
キャベツ     玉  1
りんご     個  2
バナナ     本  10
ニラ     Kg  20.5

↑のように。シート1に入力したデータを入力した行ごと表示させたいです。

Aベストアンサー

》 なにぶん初心者なもので…

関数を一切使用しない方法(フィルタオプションの設定)をご紹介します。

Sheet1
1   A    B   C
1 品名   単位 数量
2 キャベツ 玉    1
3 りんご  個    2
4 オレンジ 個
5 バナナ  本   10
6 きゅうり 本
7 ニラ   Kg  20.5
8

添付図は[フィルタオプションの設定]を開始する Sheet2 を示しています。
([データ]→[フィルタ]→[フィルタオプションの設定]の手順を実行します)

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

QEXCELで入力したものが違うシートにコピーされるようにするには・・

EXCELで、あるシートで入力した数値や文字が違うシートにそっくりコピーされるようにしたいのですが・・・
違うシートに同じ数値や文字をいちいち入力するのがめんどうだったので・・・(あと、入力間違えをすることもあると思ったので)
どなたか教えてください。宜しくお願い致します。

Aベストアンサー

同じブック間でも違うブック間でも、
リンク貼り付けという方法があります。

多分ご質問では、最初のページに「2006年」と入力したら
次からのページの同じ場所に「2006年」と表示させたい、と、こんな感じではないでしょうか?

あるシート(貼り付け元)の範囲を選択し、コピーします。
違うシート(貼り付け先)の1セルを右クリックし、形式を選択して貼り付けで出た窓の下に
「リンク貼り付け」ボタンがありますから、それを押して下さい。

あるシートに入力した文字が違うシートに表示されます。
ただし書式は、違うシートのセルの書式の通り表示されます。
また、あるシートのセルに何も入力されていなければ、
違うシートの該当セルには「0」と表示されます。
この「0を表示しない方法もありますので、
具体的にどのシートのセル番地からどのシートのセル番地、という風に書いてください。
1つのセルのみ貼り付ける場合と、2つ以上の範囲を貼り付ける場合で
貼り付けられ方が微妙に違います。

さて、上手に貼り付けられたら、違うシートに貼り付けられたそのセルを、
また別なシートに次々にコピーしていきます。
1回リンク貼り付けをしたら、このように使いまわすことができます。

あまりにも情報が少ない中回答させていただいたのですが、
上記の中で当てはまる部分があったでしょうか?

実際貼り付けてみて、その後を報告してください。

同じブック間でも違うブック間でも、
リンク貼り付けという方法があります。

多分ご質問では、最初のページに「2006年」と入力したら
次からのページの同じ場所に「2006年」と表示させたい、と、こんな感じではないでしょうか?

あるシート(貼り付け元)の範囲を選択し、コピーします。
違うシート(貼り付け先)の1セルを右クリックし、形式を選択して貼り付けで出た窓の下に
「リンク貼り付け」ボタンがありますから、それを押して下さい。

あるシートに入力した文字が違うシートに表示されます。...続きを読む

Qエクセルで、別Bookの同じデータを自動的にコピーする

自分で考え解決できるほどのスキルが無いので、ここをよく利用しています。皆さんよろしくお願いしますm(_ _)m

エクセルです。2つのBookがあります。それぞれにデータ(文字)が入っていますが、その一部を自動的にBook2から
Book1にコピーしたいのです。

★☆★
Book1のあるセルのデーター(文字)と同じデータが入っている、Book2のセルと同じ行で別の列にあるデーターを、
Book1のデータと同じ行で別の列にコピーしたい。
★☆★

このような事が、自動的に出来るんでしょうか? ちなみに、マクロは・・・私には難しいですm(_ _)m

Aベストアンサー

質問の意図が掴みにくいですが
様は他のブックに対してVLOOKUPが使用できるか、と言うこと?
で、あれば出来ます
参考にしてください

Book1のC3へ
=VLOOKUP(B3,[Book2]Sheet1!$D$5:$F$14,3,0)

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング