- ベストアンサー
エクセルで前月データを簡単にコピーする方法
- エクセルでユニフォームの在庫管理表を作成する際、前月のデータを簡単にコピーする方法を探しています。
- 月初有高のセルに前月の表の当月残高を入力したいが、一つずつ式を入力するのは時間がかかるため、効率的な方法を知りたい。
- エクセル初心者でも使える前月データのコピー方法を教えてください。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
基本の操作について、アドバイスです。 その前に気になる点が2つ。 ひとつは個人的に > 種類ごとにコード番号を付けて、sumifを使った 制服の在庫管理でSUMIF関数をどのように使ったのか、 それが非常に気になります(笑)。 もうひとつ、 > コピーをするのは時間がかかりすぎる 範囲指定してコピーして貼り付けるだけだと思うのですが、 それも惜しいくらいお忙しいのでしょうか? それとも、単純にコピー貼り付けできないくらい 複雑なレイアウトなのでしょうか? > Sheet1!B3をコピーし、隣に続くセルにオートフィル とありますから、不可能ではないと思うのですが。 さて、本題。 ひとつお試しいただきたいのですが、 > 会社の表は・・・ と言わず、とりあえず、手と画面を動かしてみてください。 当月をSheet2、前月をSheet1とし、まるっきり同じレイアウトとします。 Sheet1のB3セルから列方向に「残高」があり、 これらをSheet2のB2セル以降、列方向に持っていきたい場合・・・ まず、Sheet2のB2セルから必要分、範囲指定します。 その状態で Sheet2のB2セル:=Sheet1!B3 とし、Ctrl+Enterで確定します。 Enterキー単独ではなく、Ctrl+Enterです。 そうするとC2セル以降はどのようになるでしょう? 通常は、範囲内に相対参照で同じ式が入っているはずです。 これが出来ないのであればエクセルの設定の何かがおかしいようなので、 修復または場合によって再インストールが必要かもしれません。 ところで・・おそらく、ですが・・ その作り方だと、きっと2~3か月後に「めんどくせー」となります。 できたシートをコピーしてお使いになるのであろうと思うのですが・・・ ・・まぁ、やってみればわかります(笑)。 それは今回のご質問とは別件ですので、割愛します。 基本的には3番さんのご意見に同意。 この世の中には 「エクセル(等)でシステムを組んで稼いでいる人」 もいらっしゃる、というのは忘れてはいけないのです。 なので私も「基本操作についてのアドバイス」にとどめます。 ご理解くださいませ。
その他の回答 (7)
- imogasi
- ベストアンサー率27% (4737/17069)
私も#3さんのご意見に賛成する。 ほかに、まず質問の標題がわかりにくい。 「多数月のデータの中から前月データを抜き出したい」(抜出し問題)という風に取れたが、どうもそうではないらしい。 前月分のデータが(行的に)固まっているなら、コピーして貼り付けではだめなのか。だめな場合があるが、どういうケースにぶつかったのか。シートのセルの関数の数式の問題か?まず、はっきり標題にそのことを書くこと。 シート名の入った関数式は、コピーして貼り付けても、シート名の部分は自動で変化しない。 この仕事の全シートについて、毎月、ある決まったセルにシート名を入れる約束の仕組みにして、 INDIRECT関数でシートの指定を変化させるのが、定石かと思う。 しかしあるシートであちこちのシートのセルにいろんなシートのセルを参照しているとそういう手は使えない(使いずらい)かも。 具体例を交えて、質問文をしっかり書いて質問すること。 式のシート部分(!の前)のシート名を置換でうまく行かないか考えること。 >エクセル初心者にもできそうな方法はないでしょうか 実際に使う人は質問者じゃないということか。 余りエクセルに詳しくない人に、新シートに繰り越しなどやらせるべきでないだろう。 質問者もこの程度の質問をするレベルで、会社の基幹の処理を(それもエクセル関数で)やるというのは、どういう了見か。(特別の対策を講じておかないと)エクセルのシートなどデータを1セルでも誤って書き換えたら、1巻の終わりといったものだ。 ーー 毎月分を別シートにする出納帳などで、前月繰り越しを行う場合のよく起こる問題か。 https://oshiete.goo.ne.jp/qa/8277714.html Googleで「エクセル 別シート 前月繰り越し」で照会すれば出てくるよ 。ここにも触れてあるがVBAでやればできるがむつかしい点もありそう。
- Chiquilin
- ベストアンサー率30% (94/306)
> エクセル初心者にもできそうな方法はないでしょうか? それなら月毎にシートを分けるのをまず止めるべきかと。 「前月のシート」が流動的になるのは いちいち月別にシート を分けるからでしょう。 集計はピボットテーブルで月毎にグループ化すればいいので すから全部1つのシートに入力した方が効率的です。
お礼
ご回答ありがとうございます。 おっしゃる通り、いちいち別シートに分けるのと、sumifで面倒なのを作るよりはピボットの方が良かったかもしれません。 そもそもエクセルの知識がないのでこれくらいしかとっさに思いつかず、取り急ぎ(にしては面倒な方法でしたが)容量の悪いものを作ってしまいました。 なので何か良い方法をという質問にした方が良かったなと思いました。 ピボットはずいぶん昔に2回ほどしか使ってなく、しかもあまり理解できてない状態ですごく単純な表を作った事がある程度だったので思いつきませんでした。 もう一度調べてみます。 大変参考になりました。 ありがとうございました。
- msMike
- ベストアンサー率20% (364/1804)
「エクセル初心者にもできそうな方法」を尋ねる前に、「エクセル初心者にも」分かる書き方を心掛けてください。 》 一つに式を入れて後コピーしても相対参照になりませんでした その「一つの式」を示すこと! 「コピーしても」→何処「セル名(範囲)」から何処にを具体的に! 「相対参照になりません」→絶対参照のままだったってこと?
補足
ご回答ありがとうございます。 まずシート1に一月の品物の出し入れのわかる入出荷表を作りました。 左端列に日付、上の見出し行に品名、コード、仕入先、仕入数量、出荷先、出荷数量としました。 シート2にsumifの式を入れた物の在庫表を作りました。 縦列は前月残、当月仕入、当月残高のみ、上の見出し行に品物の種類をずらっとサイズごとにコードを振って並べました。(この辺でsumuifにすべきじゃないだろうなという気はしました) シート3(翌月の在庫表)の前月残高に、前月の在庫表の当月残高の行をコピーしようとし、=シート2(前月の在庫表)の当月残高セルとしました。 それを横にオートフィルでコピーしようとしたら相対参照にならず、最初に張り付けたセルと同じ番号のセルがコピーされ続けるので困っていました。 大変分かりにくい質問で申し訳ありません。
- okok456
- ベストアンサー率43% (2748/6360)
$ が付いていませんか? =Sheet1!$B$3 と$を付けるとコピーして貼り付けると全て=Sheet1!$B$3になります。 余談(ご存じかもしれませんが効率を良くするために) 他のブック、シートのセルをコピーする場合「整列」を利用して両方のブック、シートを表示しています。 参考URL http://www.724685.com/weekly/qa130703.htm https://www.microsoft.com/ja-jp/atlife/tips/archive/office/tips/047.aspx ショートカットキー コピー:Ctrl +C 貼り付け:Ctrl +V などを使います。 他にも http://www.relief.jp/docs/000099.html 「形式を選択して貼り付け」 http://www.becoolusers.com/excel/paste-values01.html リボンを自分用にカスタマイズできます。 http://excel-hack.com/beginner/quick-access-toolbar/ Excel2010以降なら https://allabout.co.jp/gm/gc/313419/ https://liginc.co.jp/220293
お礼
ご回答ありがとうございます。 コピーできないところを見ると絶対参照になってたのではないかと思います(すみません、慌ててパニック状態だったのであまり記憶が定かではありません) いろいろと参考になりました。 ありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
会社の仕事は営利目的の行為になりますので社内で解決するか有償で専門家に依頼すべきことです。 無料配布のフリーソフトも営利目的には無料で使えないとされています。 此処への相談も「職場の」と言う文言を省くことで営利目的を隠す効果があります。 また、Excelのバージョンが提示されていないため、Excel 2003以前とExcel 2007以降では使える関数が異なりますので回答が無駄になることもあります。 更に、表の形や模擬データが無いと数式の検証ができませんので的外れになるかも知れません。 この質問を締め切って改めて質問することをお薦めします。
- Nouble
- ベストアンサー率18% (330/1783)
ROW()と、いう 関数が、ありまして 此れが、記載された セルの、行ナンバーを 教えて、くれます 此れは お役に、立つ と、思いますよ? 此れを、使って 例えば =IF(ROW()=〇〇,××,△△) 注釈 〇〇には 繰り越し数が、書かれる 行ナンバーを、 ××には 全月末、繰り越し数 への、参照を、 △△には 繰り越し数、記載行 で、ない場所の 処理を、 各々、 書いて、ください そして 此の、セルを 下に、フィル ください あくまで 例、ですので 処理内容に、ついては ご自身で 適正な、ものに 誂えるか 別途 ご質問、ください 但し、其の際は 公開可能な「例に」 置き換えて セルの、位置関係を 示して、頂けた 方が 回答が スムーズ、ですよ 如何で、しょうか?
お礼
先ほどネットで少し調べてみました。 まだちゃんと理解できてないので、もう少し試してみます。 使ったことのない関数で大変参考になりました。 ありがとうございました。
- FEX2053
- ベストアンサー率37% (7991/21371)
お隣のシートのセルは =シート名!セル名 で参照できますが?? 1か月の処理を1枚のシートで処理し、前月の繰り越しを当月の シートの特定セルに参照させるとうまく行くと思います。
補足
ご回答ありがとうございます。 =シート名!セル名を一つ一つ入れていると時間がかかりすぎるので、一つのセルに=シート名!セル名を入れて、その後に続くセルにオートフィルでコピーしようとしても、うまくコピーされなかったので困っています。 例えば、一番最初のセルに=前月残高のセルSheet1!B3をコピーし、隣に続くセルにオートフィルでコピーするとSheet1!C3とはならず、最初のセルと同じSheet1!B3がコピーされるので困っています。 どうしてこうなるのでしょうか?今試しに家のエクセルでやってみたら、隣のセルにはちゃんとSheet1!C3となっているのでコピーすればできそうなのですが、会社の表はできないのです。…
お礼
ご回答ありがとうございます。 今日回答を見てCtrl+Enterで確定後コピーしたところ、ちゃんと相対的になっていました。 そもそもなぜ相対参照にならなかったのかわかっていません。参照したセルに式が入っていたらそうなってしまうのでしょうか? 今日提出だったので大変助かりました。ありがとうございます。 その作り方だと、きっと2~3か月後に「めんどくせー」となります。>全くおっしゃる通りで、作りながら「こんな容量の悪い表ないよね、でも調べる時間もないし後で何とか修正したいな」と思っていました。 それに関しては、もう少し分かるように別に質問させていただきたいと思います。 分かりにくい質問にもかかわらず、丁寧に教えてくださって本当にありがとうございました。
補足
今更ですが、↑の方の方への補足でで少し説明させていただきました。 これでもわかりにくいとは思いますが… 説明が下手で大変申し訳ありませんでした。