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

調べて似たような質問もあったのですが、希望の内容のがなかったので質問させて下さい。

Excel2010を使用しています。

Excelでシート毎に月の請求書(今年の4月~来年の3月分)を作成しています。
1年(12ヶ月分)まとめて請求する為、シート1に平成25年4月と入力したら
シート2(平成25年5月の分)~シート12(平成26年3月の分)まで『年、月』の変更を自動できる方法はありませんでしょうか?
日付は必要ないのでユーザー定義で日付を表示しないようにシート1で設定しました。

自分なりに調べてシート2の平成25年5月にする分は
=DATE(YEAR(シート1の平成25年4月の場所),MONTH(シート1の平成25年4月の場所)+2,)
にすればシート2は平成25年5月と変更できましたが、
シート3以降もやりたいのですがこのやり方ですとシート毎に
MONTHの数字を+2から+3、+4、+5、・・・・と入力を変更していかないといけないので手間がかかります。

全シートを複数選択して一度にMONTHの数値を増やして設定する方法はありませんでしょうか?
又はもっと別のわかりやすい方法などがございましたらお教え頂ければ有難いです。

ちなみにシート名は○月と登録しています。

今回の分は手打ちで入力しましたので急ぎではないです。
暇なときにでも教えて頂ければと思います。

会社で使用している為、帰宅後Excelを使用できませんので返信など遅れる場合がございます。

A 回答 (5件)

例えば各シートのA1セルにお望みの表示をさせるとしたら初めにシート見出しで4月~3月までをShiftまたはCtrlキーを押しながらクリックします。

これで同じ作業グループが構成されます。
A1セルには次の式を入力します。

=IF(AND(SUBSTITUTE(TRIM(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,10)),"月","")*1>=4,SUBSTITUTE(TRIM(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,10)),"月","")*1<=12),DATE(2013,SUBSTITUTE(TRIM(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,10)),"月",""),1),DATE(2014,SUBSTITUTE(TRIM(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,10)),"月",""),1))

その後にA1セルを右クリックして「セルの書式設定」の「表示形式」の「ユーザー定義」で種類の窓には ggge"年"m"月" を入力してOKします。
その後にシート見出しで右クリックし「作業グループ解除」を選択します。
    • good
    • 5
この回答へのお礼

A1セルを本来自分で表示させたいセルの数字に置き換えてやったら出来ました!
26年1月~3月もちゃんと25年から26年に変わっていました!
今後の仕事に活躍させたいと思います!
有難うございましたm(_ _)m

お礼日時:2013/04/16 12:04

+2から+12した方がはるかに簡単ですが。




>Excel2010を使用しています。

シート2のA1に
=EDATE(Sheet1!A1,1)
シート3のA1に
=EDATE(Sheet1!A1,2)
 :


まぁどーしてもでしたら
Sheet1のA1に年/月/日を記入(書式は随意)しておき、Sheet2からSheet12までのA1に
=EDATE(Sheet1!A1,SUBSTITUTE(RIGHT(CELL("filename",A1),2),"t","")-1)
のように記入しておきます。

かならずブックは事前に一回保存しておかなければいけません。
    • good
    • 0
この回答へのお礼

複数の場所に同じ方法で書類を作っているので・・・
できれば1シートを変えただけで全部一気に変わってくれると、
今後の仕事も早くできるかなと思ったので(;_;)
2つ目のやり方ですと#VALUE!と出てしまい・・・
わかりませんでした(>ェ<;)

お礼日時:2013/04/16 12:00

 すみません、お間抜けの#2です。



 私はシート名を1~12にしたんですが、愚かにも関数ではSheet1を指定してました。最初のシートをSheet1(もしくはお持ちのブックの最初のシート名)にしておけば大丈夫です。

 もし最初のシートのシート名を「1」にするなら、関数は以下のようにすればできました。

=DATE(YEAR(1!$A$1),RIGHT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31),2),DAY(1!$A$1))

 この関数は、

1.新規ブックなら必ずいったん保存して開き直すこと、
2.関数入力時に関連づけるブックを聞いて来るので、間違いなく編集中のブックを選択すること、
3.さらに関連づけるシートを聞いて来るので、間違いなく最初のシートを選択すること、

が大事です(フリーのOfficeは、……まあいいかorz)。
    • good
    • 1

 一気に設定する方法ですが、シート名に制限を加えれば、できなくはないようです。

ブックごとに仰る方法とどちらがいいか、非常に迷うような気もします。

http://detail.chiebukuro.yahoo.co.jp/qa/question …

 上記でシート名を1~12にし、

>=DATE(YEAR(Sheet1!$A$1),MONTH(Sheet1!$A$1),RIGHT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31),2))

という関数を、

=DATE(YEAR(Sheet1!$A$1),RIGHT(MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31),2),DAY(Sheet1!$A$1))

にすればできそうなんですが、こちらではちょっと上手く行っていません(どうしても1900年になってしまう)。

 なお、私はMSのはOffice2000しか持っておらず、以降はフリーのOpen OfficeかLibroOfficeを使っていますが、フリーの方では全く上記関数は使えず、エラーになってますorz。

 もう少し、Excel2000で粘ってみようかと思いますが、質問者様の方ではすんなり動くかもしれないと思い、とりあえずご報告だけいたしておきます。
    • good
    • 0
この回答へのお礼

このやり方がいまいちわかっていませんでした・・・
もう一度やり直してみたら出来ました!
けれど、今年の4月~来年の3月まで順番なので、このやり方ですと26年の1月~3月と出したいのですが25年のままでした。
このやり方も覚えたので今後の参考にさせていただきます!

お礼日時:2013/04/16 11:55

>全シートを複数選択して一度にMONTHの数値を増やして設定する方法はありませんでしょうか?


ないこともないですが、12枚でしたら
>MONTHの数字を+2から+3、+4、+5、・・・・と入力を変更していかないといけないので手間がかかります。
のほうが分かりやすいし、一度設定すればその後の設定の必要がないのではないでしょうか?

>=DATE(YEAR(シート1の平成25年4月の場所),MONTH(シート1の平成25年4月の場所)+2,)
月末でなくてよいなら
=("平成25年"&MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,3)&"1日")*1
とすることは可能ですが、わかりにくくないですか?
    • good
    • 0
この回答へのお礼

このようなやり方もあるんですね!
でもこのやり方ですと来年また作る時に、コピーして貼付けしないとですよね?
来年もまた作るので25年を26年に1シートで変えるだけで全部変わる方法が良かったですが、この方法もメモして今後の参考にさせていただいきます。
ありがとうございました!

お礼日時:2013/04/16 11:36

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

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