エクセル 日計表から月計表への自動入力方法

このQ&Aのポイント
  • エクセル2007を使用して、日計表の数字を月計表に自動入力したいです。日計表に入力した数字が、月計表の対応する日にちの欄に反映される仕組みを作りたいです。マクロは難しいので、関数だけを使用した方法が望ましいです。
  • 現在、仕事で毎日日計表と月計表に同じ数字を2回入力しています。それを1回の入力で済ませる方法を探しています。具体的には、日計表に入力した数字を自動的に月計表に反映させたいです。
  • 日計表と月計表は異なる様式で作られており、月計表は複数のシートで構成されています。参照する月計表が月替わりで変わるため、vlookup関数などを使用する際に指定するシートを毎回変更する必要があります。マクロを使用しないで、関数だけを使用して解決したいです。
回答を見る
  • ベストアンサー

エクセル 日計表から月計表に自動入力

エクセル2007です。自分の拙い知識ではできません。教えてください。 仕事で毎日様々な書類をとりまとめ、その件数を日計表に入力、印刷したらそれを表紙にして毎日決裁をとっています。 さらにその件数を月計表(月別リスト)に入力し直し、月ごとの集計を行っています。 つまり毎日、同じ数字を入力する作業を2回(日計表と月計表)行っているわけです。 そこで入力を1回で済ませたく、日計表の数字をそのまま月計表に反映させられないかと 思っています。 Sheet1に日計表、Sheet2以降が月計表となっており、4月・5月・6月・・・3月と1年分が続きます。 日計表と月計表は様式は全く異なっています。 月計表は先頭行が項目、1列目が日にちです。 理想は’日計表に入力したら、それが月計表のその日にちの欄に反映される’ことです。 ・・・が、難しそうなので、逆パターンで、先に月計表に件数を入力、その数字を日計表に 取り込む方法でもいいかなと考えましたが、vlookupによる参照を考えましたが、 月計表が複数あるので月替わりに参照シートの指定をいちいちやり直すのか??? (自分だけが使うわけではないのでそれは困る)・・・など、いろいろとお手上げになってしまいました。 文章での説明だけで分かりづらくてスミマセン。 マクロは全然わかりませんので、関数だけでできれば・・・と思います。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

日計表に入力することで月計表には自動的に表示させることが関数を使ってできます。 例えば次のようにすればよいでしょう。 シート1ではA2セルから下行に日付を入力していきます。B1セルからC1・・・と横の列には項目名を入力します。 毎日のデータは日付と項目にちなんだセルに入力します。 そこでシート2、シート3・・と月ごとのシートを作るわけですがシート2からシート13までを用意して、シート見出しのところでSheet2をクリックしたのちにShiftキーを押しながらシート見出しのSheet13をクリックします。この操作でシート2からシート13までが同じ作業グループとなります。 シート2が画面にあるわけですがそこでA1セルには4月用のシートですから2012年4月と入力します。数式バー上では2012/4/1と表示されますね。 そこで1日から30日までの日付をB1セルから横の列に表示させることにしますが、その操作は次のようにします。 B1セルには次の式を入力して右横方向にドラックコピーします。 =IF(MONTH($A$1+COLUMN(A1)-1)=MONTH($A$1),$A$1+COLUMN(A1)-1,"") B1セルからAF1セルまでを範囲として選択して右クリックし「セルの書式設定」から「表示形式」のタブの「ユーザー定義」で種類の窓には d"日" と入力します。 これでA1セルの年月に応じた末日までが表示されます。 次にA2セルから下方にはシート1の1行目で使用していると同じ項目名を入力します。 B2セルには次の式を入力してAF2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR($A2="",COUNTIF(Sheet1!$A:$A,B$1)=0,COUNTIF(Sheet1!$1:$1,$A2)=0),"",INDEX(Sheet1!$A:$J,MATCH(B$1,Sheet1!$A:$A,0),MATCH($A2,Sheet1!$1:$1,0))) これでA1セルに入力された2012年4月に関連するデータがシート1から転記されることになります。 最後にシート1の画面に戻ります。これによってシート2からシート13までの作業グループが解消されます。 次にシート3ではA1セルに2012年5月と入力すれば関連するデータがシート1から転記されます。以下同様に各シートのA1セルに年月を入力すればよいでしょう。 シート1に入力される日付に応じて関連するシートに自動的にデータが転記されます。 なおシート見出しはSheet2を4月のように変更しても何らの問題もありません。各シートのA1セルの年月だけがシートのデータに関係していますので。

ao_sakana
質問者

お礼

早いご回答、丁寧にお答えくださいまして、本当にありがとうございます。 式を見ると難しそうですが、職場に戻ったら、試してみます。

ao_sakana
質問者

補足

今回は、私のわかりにくい質問に、一早く具体的な方法を示していただいたKURIMITOさんをベストアンサーにさせていただき、いったん締め切らせていただきます。 みなさま本当にありがとうございました&またよろしくお願いします。

その他の回答 (2)

回答No.3

シートの構造、ファイルの構造がさっぱり分からないのですが、例えば「日計表」のA1、C1、E1セルに2012、8、11と入力されていて、シート「2012年8月」にある「11日」のデータを拾いたいなら、VLOOKUP関数の引数にそれらの参照セルの番地を混ぜればいいと思います。当然、シートの作りによって、数式の書き方は様々に変わってきます。VLOOKUPでないほうがいいこともあります。 >理想は’日計表に入力したら、それが月計表のその日にちの欄に反映される’ことです。・・・が、難しそうなので、逆パターンで、先に月計表に件数を入力、その数字を日計表に取り込む方法でもいいかなと考えましたが、…… お勧めの方法は、「日計表」と「月計表」は様式とのことなので、「日計表」と「月計表」はそれぞれ1シートしか用意しないということです。そして、データを入力するシートをデータベースとして、そこから様式にデータを拾うことです。件数だけでなく、日付とか、毎日変わるコメントなどもあるのであれば、それらの入力もデータベースに。様式の2シートは様式なので保護し、その中の日付などのセル以外は、編集しないことにする。 数千行以内かつ数十行以内といった小さなデータベースであれば、1シートだけ用意すればいいでしょう。つまり、月ごと、日ごとにシートを分けたりせず、毎日、シートの下に向かってレコード(データが入力されている行)を増やしていくのです。 >月計表が複数あるので月替わりに参照シートの指定をいちいちやり直すのか??? 何らかの方法で指定をしないことには、特定データを拾うことは不可能ですよね。ですから指定しないということはあり得ないわけですが(*)、ごく簡単な、誰にでもできる方法で指定すればいいでしょう。例えばこの回答の冒頭に書いたように、年月日だけ入力しさえすれば、その日の関係データが全て参照されるようにしておくという具合に。後は紙に印刷でもPDF化でも、好きに管理すればよい。 *TODAY関数などで完全自動化というのもなくはないですが、それはそれで柔軟性に欠けることが多いです。 >(自分だけが使うわけではないのでそれは困る) こういった諸条件もできるだけ詳しく書いてくださらないと、後出しの条件を理由に、皆さんの優れた回答が否定され、そうでない回答にベストアンサーが付けられるということが多発しています。他にも条件があるなら、たくさん書いてください。 VLOOKUPの式の書き方を質問されるなら、できればこの質問はいったん閉じてください。必要な情報を十分に書いた上で別途、質問し直してください。Excelのバージョンは書いてくださいましたが、シート名とか、表頭の項目名とか、セルの結合の有無とか、省略せずにきちんと書いてください。ご質問が具体的でないと、曖昧な回答しか集まりません。質問文に次のような感じで載っていると、何をすればいいかもっとはっきりすると思います。   A   B   C 1 日付 件数 コメント 2 3   ※別シートがあれば、その分も。 画像の添付でも、文字が細かくなければまあいいです。ただ、上のようにテキストで書いてあればコピーできるので、回答者としてもラクです。 お考えのことを全て実現していくには、様々なテクニックを覚えていく必要があります。いっぺんに完成させようとせず、何度でもインターネットで検索してください。こういったQAサイトで質問されることがあってもいいでしょう。少しずつ調べて作っていってください。

ao_sakana
質問者

お礼

No.1の方に補足説明を投稿している間にご回答くださり、遅くなりすみません。 先にもっと具体的に説明しないといけなかったんだなと反省しています。 MarcoRossiItalyさんのご意見の中に作り方のヒントがたくさんあるように感じました。 いったん閉じて、質問内容を整理して再投稿したいと思いますので、よろしくお願いします。 No.1のJazzCorpさん、No.2のKURUMITOさんも、本当にありがとうございました。

回答No.1

>Sheet1に日計表、Sheet2以降が月計表となっており、4月・5月・6月・・・3月と1年分が続きます。 普通日計表は日付があって1ヶ月分を溜めるものでは?(そちらの月計表?) 日計表といっているのは入力作業用ですね? 日計表は不要では? 年次は集計しない? >日計表と月計表は様式は全く異なっています。 月計表は先頭行が項目、1列目が日にちです。 どう違う?、縦横入れ替え? 転記処理を簡単にするには形式を合わせることが先決。 項目とレイアウトを具体的に...

ao_sakana
質問者

補足

早速ご覧いただき、ありがとうございます。 そうなんです。形式を合わせればもっとラクなのかなと思うのですが、 日計表は毎日の決裁用で、書類の束の表紙につけるための決まった様式なので、 変更することができないんです。日々報告書といったほうがいいでしょうか。 その日計表の形でとっておく必要はないので、データとして数字だけを月計表(月別リスト)に再入力しています。 ちなみに年計表は月計表の合計欄を読み込んで、最終シートに集計できるようにしてあります。 ------------------------------- Sheet1    日計表 Sheet2~13 月計表(12月分) Sheet14    年計表 ------------------------------- 日計表のレイアウト   件数 金額 A  1 (自動計算)  B  5 C  9 月計表(○月)のレイアウト 日 A B C 合計 1  1 5 9 (自動計算) 2 3 ・ ・ ・ 31 簡単に言うとこんな感じです。 ------------------------------- 件数の数字を入力するだけですが、日計表と月計表に2回入力しているという 何とも無駄な作業をしている気がしています。

関連するQ&A

  • excelで日計表と月計表を作りたい

    excelで日計表と月計表を作りました。 同じファイル内に1枚が月計表、残り31枚が日計表です。 日計表に値を入力すると月計表に反映するようにしたのですが、一部が上手くいきません。 皆さんのお知恵をお貸し下さい…。 具体的に言うと、 ●結果がAだったものの件数 ●結果がBだったものの件数 ●その合計 以上を日計表に記入し、 月計表で集計したいのです。 ポイントは、 ○月計表で、未来の日付の欄は空欄にし、 月末に出す平均値に反映させたくない (つまり、今日が20日だとすると20日までの 平均値が行末に出るようにしたい) ということです。 文章で説明すると分かりにくいですが、宜しくお願いします。

  • 月計表と日別受注表を連動させてエクセルで作成したい

    エクセルの関数を使った表を作成したいのですが、知識がなくお尋ねします。 ちなみにエクセル2010です。2007でも作成可能です。 各営業所の受注数を月別で集計し、それとは別に受注のあった日のみ 受注数と累計を一覧にしたいと思います。 Sheet1に日別受注数、Sheet2に月計表を作成し、○年○月分受注として ファイルを作成したいと思います。 例えば12月3日の時点で受注があった場合、月計表に営業所別の受注数を 入力するだけで日別受注数が自動的に入力されるようにしたいです。 受注がある日とない日があるので、受注があった日だけ入力して作成する ことになります。 累計の行は月計表の合計をリンクさせればいいのだと思いますが、 日ごとの受注数をどのようにしたら自動入力にできるかが分かりません。 日別受注数に日付を入れたら月計表のその日の数字が自動的に 入力されるようなことができたらい一番便利そうです。 こだわりはないので、別の方法でもまったく構いません。 【Sheet1 日別受注数】 12月3日 営業所別受注数 第一営業所 第二営業所 第三営業所 合計 受注数  0       1       0       1   ←この行が自動入力 累計    1       3       2       6   ←この行が自動入力 【Sheet2 月計表】 第一営業所 第二営業所 第三営業所 合計 12月1日   0       0       0       0 12月2日   1       2       2       5 12月3日  0       1       0       1 12月4日   0       0       0       0 ~ 12月31日 0       0       0       0 合計     1       3       2       6 説明不足で分かりにくかったら申し訳ありません。 エクセルにお詳しい方にお知恵を拝借したく、よろしくお願いいたします。

  • 急にエクセルで作った日計表が開かない

    W7使用していますエクセル2010 後期高齢者故パソコン初心者です。他人に依頼して作ってもらった日計表が突然昨夜から一旦は開くのですがすぐにマイクロソフトエクセルが動作を停止しましたと出て問題発生したため閉じます。と出て昨日まで機嫌よく日計表に数字を打ち込めたのに昨日夜から思うに任せなくなりました どうかお助けいただきたいです。 PCも古いW7であるし買い替えを思案中なのですが…。

  • Excelでの日計表の作り方を教えてください。

    シート1の横A~G 縦は30~40ぐらいの表に毎日数字を入力したら、別シート2の同形式の表に累計されるようなものを作りたいのですがどうやればよいか教えてください。 例えば  シート1の A1に 5 を入力 シート2の A1に 5を 表示  続いて   シート1の A1に 3 を入力 シート2の A1に 8を 表示 のような表です。 よろしくお願いします。 

  • エクセルで日計と累計の自動計算するには?

    初心者です  Sheet1(1日) Sheet2(2日)…… Sheet31(31日)     1 A   B     A   B ……    A   B      2 8   8     8   16 ……   8   ?  上記のように各シートA2(日計)入力すると前日分までの累計が当日 累計B2へ毎日自動で足される……最終1月分(Sheet31)  過去回答に有るのですがコマンド入力など初心者では難しいので  簡単な方法(毎日前日分入力すればいいんでしょうが…)ないですか

  • エクセル VBAで入力確認

    入力フォームに入力した日にちが、「月別」ワークシートに既に入力されて いる場合にメッセージダイアログ「error」を表示するようにしたいと 思っています。 ワークシートの参照は下記です。 Select Case 月.Value Case Is = 4 Worksheets("4月").Activate 新しいデータの入力は下記です。 Dim r As Long r = Range("B65536").End(xlUp).Row Set targetCell = ActiveSheet.Cells(r, 1) ワークシートの参照の次に日にちの確認を入れればいいと思うのですが、 やり方がわかりません。 ちなみに月別シート「C列」に日にちが入ります。 よろしくお願いします。

  • エクセル2003で、入力した数値のまとめを自動で

    エクセル2003で、仕入金額をとにかく打ち込んだシートがあります。別シートに打ち込んだデータを元に仕入先別に合計金額を出す方法はありますでしょうか 図の様に”仕入記入台帳”に記入していくのですが仕入先の件数はどんどん増えます(新規で買う場合もあるので) そして別シートの”仕入先別集計”に合計を出したいのです 全て入力完了後に≪ツール≫→≪集計≫で集計すればいいのはわかっていますが、 とにかく仕入記入台帳にどんどん入力していき、その集計がどんどん仕入先別集計表に反映させるようにしたいのです 仕入記入台帳は1月(つき)1シートで管理していますが、記入する行数はだいたい500行くらいです 仕入先の件数はだいたい50社くらいです 何か良い方法はございませんでしょうか お分かりの方いらっしゃいましたらご教授宜しくお願い致します

  • win7エクセルピボット機能日付入力形式につて

    ◇仕様機器 Win7 エクセルピボット機能 ◇前提 ●Win7エクセルピボット機能を使い集計を日計(日日毎)、月計(月毎)に纏めたい。 日計問題なく目的が達せられますが、日計をベースにして月計を作成する場合、入力した年月日の形式が関連して、対応が出来ない趣旨の表記が出ます。 (例えば1~6月間の日計表を基にして1~6月の月別合計表を作る場合) ●これの対策として記入している日日の形式を「日付」、「標準」等種々変更してみましたが結果は同じで対応が出来ない趣旨が出ます。 ◇教ええ戴きたい内容 日付をどのような形式で入力すれば目的が達せられるか、教えて戴ければ幸いです。

  • エクセルで特定の値を入力すると自動的に振り分け

    例えば、シート1に以下のような入力するセルがあるとします。     A        B     1   日付     ( 4/29)  2   項目     ( 給料) 3   収入     (100,000)  4   支出       5   備考    (5月分一部前借り) 普段はB列は空白になっています。 またシート2、シート3・・・以降は「月別」に分かれています。(シート2は4月用、シート3は5月用) もし、B1の日付が4月だった場合、シート2の部分の特定各セルにB2~5までの内容も反映させられるようにしたいです。 同じく、B1に5月と入力された時点で、シート3の特定各セルにB2~5までの内容も反映させられるようにしたいです。 この様なことは可能なのでしょうか? 表現の仕方が分かりづらいかもしれませんが、どなたかご協力頂けないでしょうか。 よろしくお願いいたします。

  • エクセルを利用して、日計と累計を毎日作成する方法

    日計表などの作成にあたって、例えばエクセルのセルA1には日々の金額を打ち込んで、セルB1には、累計額を表示する表を作成したいのですが、どのようにすれば、毎日シートを出して今日の日計を打ち込めば自動的に累計が、前日残に加算されるようにできるか教えてください。前日のシートをいちいちコピーせずに今日の金額を入力すれば、昨日までの累計に加算される資料の作成です。

専門家に質問してみよう