プロが教える店舗&オフィスのセキュリティ対策術

商品別売上表のようなもので、『累計表2から累計表1を引いて、当月を出す』 時に
毎月sheet名を変更しなくても済むようにできるでしょうか?

sheet1が(sheet名:10月)10月までの累計
sheet2が(sheet名:11月)11月までの累計 が入っています。
sheet3に11月単月分を表示させたいので、sheet2(11月)-sheet1(10月)の式が入っていますが

翌月に同じ作業をするとき、sheet1(10月)を削除して新たに12月累計シートを持ってきて
”12月ー11月”と、また式を入れなおしています。
シートを削除しても、常にシート2からシート1を引いた結果がシート3に出るようにしたいのですが
どうしたら良いでしょうか?

A 回答 (4件)

1.シート名自体を変えない


つまり、シート3(単月計算用)にある数式は、常に、=Sheet2!A1-Sheet1!A1

2.数式を一気に置換する
#2さんの関連リンク

3.INDIRECT関数の活用
たとえば、A1セルに「10月」、B1セルに「11月」と書いてあるとして、
他のセルに、
=INDIRECT(B1&"!A1)-INDIRECT(A1&"!A1")
とすれば、11月のA1セル-10月のA1セル の数値となります。
http://www.relief.jp/itnote/archives/001697.php

それ以降はシート名のセルを書き換えれば全部変わりますのでラクです。
#2さんの後半部分もこれを指していると思います。
    • good
    • 0
この回答へのお礼

№2さんの後半部分の解説(INDIRECT関数の活用)とてもよくわかりました。この方法であれば、sheetの削除をして新たなsheetを追加しても大丈夫!とやってみたのですが、sheet3(単月算出用)で=INDIRECT(B1&"!A1)-INDIRECT(A1&"!A1") の数式のコピペができない(対象セルがダブルコーテーションでテキスト扱いになっているため)のが難点でした。
元々累計用のためのsheetだったため、2ヶ月並べて単月算出するには向いていないのが欠点だという事がわかりました。
でもこの方法が希望に一番近かったので、ベストアンサーに選ばせていただきます。
ありがとうございました。

お礼日時:2017/02/27 23:42

Excelの仕様に合わせてシートを作成するようになさった方が


いいと思います。いちいちシート名を変えるということ自体
が無駄な作業です。

今の仕様でやるなら「前月」「当月」シートを作って 基本は
その2シートだけでデータ管理をすればいいでしょう。

10月累計のデータを前月に。
11月累計のデータを当月に。
それぞれ貼り付ければいいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。元の累計sheet1、2がそもそも単月を算出するために作られていないので、値のコピペに向いていないのです。
元の累計表を作り直しします。

お礼日時:2017/02/27 23:41

関連情報があります。

使ったことがないのでご参考程度に。
http://www.moug.net/tech/exopr/0030013.html

私が良くやる方法は上記ではなく、その計算式が入ったシートに、
対象シート名を特定セルに記入しておき、
そのセル記入名を参照して計算式を組み上げることです。
そのセルを書き換えれば、一斉に計算式も参照シート名が変わります。
ご参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます。教えて頂いたような方法を探していました。やってみます。

お礼日時:2017/02/27 23:36

シートのコピーではなく、シート全体のセルをコピペすれば良いのでは?

    • good
    • 0
この回答へのお礼

ありがとうございます。元の累計sheet1、2がそもそも単月を算出するために作られていないので、セルの行列が決まった表になっていないのです。累計のシートがあるから、2ヶ月の間で差し引きすれば単月が出る と作ったため、値のコピペに向いていないのです。
コピペできるように、元sheetを作り直す事にします。

お礼日時:2017/02/27 23:36

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

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


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