• ベストアンサー

エクセルでシートに入力した値を別シートに飛ばし、月別に集計する方法を教えてください

タイトルでは分かり辛かったとは思いますが、要約すると以下の通りです。 1.元シート(以下Aと呼びます)に毎日同じセル内に1回値を入力します。 2.その入力された値を別シート(以下Bと呼びます)へとリンクさせ、尚且つそのBシート内で1か月分の集計を取ります。 つまりAシートでは毎日同じセルに値を入力しますが、Bシートでは1列ずつ下に記録され1か月分の入力がされていく、そのような操作は可能でしょうか? Bシートのあるセルに”=Aシートの指定セル”を入力するとAシートで値を変更するたびに同じセル内で値が更新されてしまいます。 どなたか方法が分かる方お知恵をお貸し下さい。よろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

似たような質問は結構多くありますが、セルに値を入力したときにマクロを実行すると、間違えた場合、訂正した場合は、どうするかなどがあります。 やりたいことを、Sheet1のC1,C2,C3に入力して内容確認後、ボタンを押すと Sheet2のデータの最後の行の下に、横方向に記録していくということしたら。VBAで仕事を行うに定番のようなマクロです。 以下、試して、そちらの都合に合わせて編集してください。 Sub ボタン3_Click() GYOU = Sheets("Sheet2").Range("B65536").End(xlUp).Offset(1, 0).Row Sheets("Sheet2").Cells(GYOU, 2).Value = Range("C1").Value Sheets("Sheet2").Cells(GYOU, 3).Value = Range("C2").Value Sheets("Sheet2").Cells(GYOU, 4).Value = Range("C3").Value End Sub 補足説明 Range("B65536").End(xlUp).Offset(1, 0).Row  は エクセルで使用できる最大行65536行目のB列を上方向へ移動して、空白でない行を探す、その行から1行上へ移動した行番号を取得して、変数GYOUに入れる。 Sheets("Sheet2").Cells(GYOU, 2).Value = Range("C1").Value は、 シート2で、前のコマンドで探し当てた行の2列目にC1セルに値を入れるです。

keni11
質問者

お礼

丁寧な回答ありがとうございました。 一度こちらの方で入力、実行してみたいと思います。

その他の回答 (1)

回答No.1

不可能だと思います。 同じセルに入力しているのであれば、 無理じゃないですか? マクロを使用すればまた、違うでしょうが。

keni11
質問者

お礼

すいません。お礼を言わずに締め切ってしまいました。 2番目の回答者の方法で一度やってみようと思います。 ご迷惑お掛けしました。

keni11
質問者

補足

早々の回答、ありがとうございます。 おっしゃる通りマクロしかないようです。 質問を足すようで恐縮ですが、マクロでやる場合ではどうすればよいかお分かりになられるでしょうか?

関連するQ&A

  • エクセル 入力フォームのデータを別シートに書き込む

    エクセル 入力フォームのデータを別シートに書き込む方法 1.シート1のA2に日付、B2に文字列、C2に金額、D2に個数、E2に合計金額を入力する。 2.内容確認後、入力ボタンを押すと、 Sheet2の集計表リンクさせ、尚且つシート2内で1か月分の集計を取ります。 つまりシート1は入力シートで、同じセルに値を入力します(次回はデータが上書きされる)が、シート2では、集計表の1列ずつ下に新しく記録され1か月分の入力がされていく。 このような入力フォーム(マクロ)を作りたいと思っています。 初めて投稿するので、質問がよく分からないかもしれませんが、 よろしくお願いします。

  • エクセルで別シートの値を取得したいです。

    エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。

  • エクセルでの集計方法

    A列に商品名、B列に出荷した数量が入力された一枚のシートがあり、これが12ヶ月分=12枚のシートがあります。これら全てのシートを集計し、それぞれの商品が12ヶ月でいくつ出荷されたのかを集計したいです。 この場合は串刺し演算を応用するのでしょうか?・・・・ 初心者で申し訳ありませんが、最も効率的な方法をご教授いただければと思います。

  • 集計方法教えて下さい

    エクセルを使って集計したいので教えて下さい。 まず、シート”あ”のセルA1に9/1セルA2に9/2セルA3に9/3・・・・という風に日付が順番に延々入力されています。その隣の列( B,C,D・・・)にはその日使った金額が入っています。使った都度隣のセルに入力していきますので、ある日はB列だけ金額が入っている、またある日はB列から列Fまで金額が入っています。というように支払う毎に隣のセルに入力していきます。 集計シート”い”を用意して、そのシートのA1に9月、B1に10月、C1に11月・・・といったようにその月毎の集計金額を表示させたいのです。SUM関数を使って手動でセル範囲を選択しても良いのですが、なんとも芸の無い感じがするのでもっと簡単に出来ないでしょうか? 例えば、シート”あ”のA列全体を選択し、その中で9/1~9/30までの条件範囲でその隣にある金額を集計する。 あとは、その計算式の入っているセルの角をマウスでドラックしてビューとすれば、出来上がり。 わかる方教えて下さい。

  • エクセル 入力シートのデータを別シートに書き込む

    エクセル 入力シートのデータを別シートに書き込む 1.Sheet1のA2に数字、B2に数字、C2に数字、D2に数字、E2に数字、F2に数字、G2に数字、にを入力する。 2.内容確認後、入力ボタンを押すと、 Sheet2のF2にSheet1のA2の数字、 Sheet2のH2にSheet1のB2の数字、 Sheet2のI2にSheet1のC2に数字、 Sheet2のJ2にSheet1のD2に数字、 Sheet2のK2にSheet1のE2に数字、 Sheet2のL2にSheet1のF2に数字、 Sheet2のM2にSheet1のG2に数字が反映され、sheet2の入力されたデータが一列づつたされていく。 つまり。sheet1は入力シートで、同じセルに値を入力します(次回はデータが上書きされる)が、sheet2では、集計表の1列ずつ下に新しく記録されていく。 このような入力フォーム(マクロ)を作りたいと思っています。 わかりづらい質問で申し訳ありませんが教えていただけませんでしょうか。 よろしくお願いします。

  • エクセル 別シートへの集計方法について

    エクセル2007を使用し、顧客へのアプローチ進捗を管理しています。 その中で、進捗ステータスを入力するセルには(★、A~C、×)といった具合に入力し、 成約【★】になったものについては、別シートへ手入力しています。 この手入力の作業を無くすため、次のようにする方法はないでしょうか? 1)成約を示す【★】を入力した列のみ、成約一覧として別シートへ自動的に転記・集計    2)上記1に加えて、その列の一部のセルを指定する 進捗    担当  顧客名    会社名      所属部署  その他 ★    田中  猫山一郎  くろねこ飲料  営業     しろねこ販売よりご紹介 ×    山本  犬上二郎  しばいぬ土木  営業     純新規        ※実際の表は20列程度あり、転記・集計したいセルは10程度です 

  • EXCELで別シートに集計するやりかた

    エクセルで下記の様な生産日報をベースにした集計シートを作りたいのですが、いかんせん関数初心者なのでうまく出来ません。どなたか詳しい方ご教授をよろしくお願いします。 シート1 生産日報  A日付  B担当  C品目  D生産数   12/1   Aさん  製品1  200  12/1   Bさん  製品2  100  12/2   Cさん  製品1  100  12/2   Bさん  製品3  100    省略  12/31  Bさん  製品4  100  こんな感じで毎日下にどんどん増えていき1カ月で区切りの日報です シート2 生産集計表  A 製品名  B生産累計    製品1      300(←その日までに入力された製品1の生産数によって変動)  製品2      100  製品3      100  製品4      100  このように製品ごとのその日までの累計数が計算されてB列に自動で出る様な物を作りたいです。 解りにくいかもしれませんが、宜しくお願いします。

  • エクセル 複数シートの同一セルを別シートへ集計

    エクセルで複数sheetの同一セルを集計sheetへコピーしてきて一覧にし、集計するという作業を行なっています。 1~20のsheet(sheet数sheet名は変動します)を作り、一番右側に集計sheetがあります。 集計sheetのA5へsheet1のF10、A6へsheet2のF10・・・(内容は文字列) 集計sheetのB5へsheet1のG10、B6へsheet2のG10・・・(内容は数値) とコピーしていき、B30にはB5~B29の合計がSUM関数で入っています。 VBAで、集計sheetから左側のsheetの指定セルを一気に集計sheetへコピーしてくる方法はないでしょうか。 ただし集計sheetから左側のsheet21とsheet22は集計に入れたくないという式も教えて頂きたいです。 お時間のある方、ご教授下さい。 または別の質問で参考になるようなものがあればアドレスを教えて下さい。 説明が下手で申し訳ないですが、どうぞよろしくお願いします。

  • Excelでの別シート集計について

    Excelで月別、項目別で時間を集計するシートを作成しようとしています。 シート2ではシート1 F列コード別に集計してD列の時間データを月別に合計 シート3ではシート1 F列コードとG列コード別(Fが1001でGが1001、、、)に集計してD列時間データを合計、という表データにして抽出したいと考えています。 シート1には K欄に年月を表示  =IF(OR(A7="",B7="",C7=""),DATE(2100,12,31),DATE(A7+2000,B7,C7)) L列にF列コード+年月  =F7&(2000+A7)&B7 M列にG列コード+年月  =G7&(2000+A7)&B7 というところまでは設定したのですが、出力先となるシート2、シート3にはどのような設定をすればよいのか行き詰っています。 なにとぞ易しい回答をよろしくお願い申し上げます。

  • EXCELで別シートから値の一致しないデータを抽出する方法

    Sheet1のA列に A1 123 A2 456 A3 789 のデータが入力されており、Sheet2のB列に B1 666 B2 123 B3 888 B4 999 B5 456 B6 888 のデータが入力されている場合に、 下の表のように、Sheet1のA4以降のセルにSheet2のB列から ・Sheet1のA1~A3に一致しないデータ ・Sheet2のB列で重複しないデータ ・降順 の3点の条件で抽出する方法を関数で教えてください。 よろしくお願いします。 Sheet1 A1 123 A2 456 A3 789 A4 999 <-ここからSheer2のデータでA1~A3以外の値でSheet2の重複をさけて降順で表示させたい A5 888 A6 666

専門家に質問してみよう