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

エクセルの関数については簡単なものしかわからない者です。

実は、借入金の支払予定表というかシミュレーションをしようと思いその表を作成しているのですが、借入実行月や返済回数等を入力した時点で金利と元金の返済予定を数十ヵ月にわたり表示させたいのです。

調べたところ「=DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))」という計算式で表示できることがわかりました。

ところが確かに今年については
 2013/10
 2013/11
 2013/12
と表示されるのですが、年が変わると
 #NUM!
#NUM!

とエラー表示になってしまいます。

これがきちんと 2014/01、2014/02..2020/01...と連続した年月が表示されるようにできないものでしょうか?

ご指導よろしくお願いします。

A 回答 (12件中1~10件)

テストしてみましたが、それでうまく行くはずです。



ですので、原因は式にはありません。どこかでデータ参照が
くるってる(例えばA1セルが日付データでないとか)可能性が
大きいのですが。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

実はA1セルに日付入力する時点から思うようにいかず苦労していました。

例えばセルの書式設定を「yyyy/mm」にした状態で「2013/08」と入力すると「1900/09」と表示されるため、シリアル値 41500で打ちこんでようやく「2013/08」と表示できた!と喜んでいました。

そのうえで質問させていたような現象になっています。

2013年中は12月まで表示されていますから、A1セルが「日付データではない」ということではないと思うのですが..

引き続きご指導よろしくお願いします。

お礼日時:2013/08/28 16:46

右クリックしてセルの書式設定をいろいろ変えてみては

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

ご指導ありがとうございます。

いろいろ試しているのですが、上手く行かないのです。

どこかに問題があるのでしょうね。

お礼日時:2013/08/28 17:03

例えばA1セルに2013/10と入力して下方に2013/11・・と並べるのでしたらA2セルには2013/11と入力してからA1セルとA2セルを選択して右クリックし、「セルの書式設定」の「表示形式」で「ユーザー定義」を選び種類の窓には yyyy/mm と入力してOKします。


その後にA1セルとA2セルを選択してから下方にドラッグコピーすればよいでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

確かに別シートで試すとご教示のようになり日付を変えてもちゃんとなるのですが、なぜか作業中のシートにその部分をコピーして日付を変えると1905/〇..と日付が遡ってしまい上手く行きません。

それに頭の日付はシミュレーションしたいのでコピーではなく関数で行きたいのです。

お助け下さい。

お礼日時:2013/08/28 17:01

数式でなくても、A1を選択し下にフィルコピー→オートフィルオプションで「連続データ(月単位)」を選べば月だけ増えた日付データになりますので表示形式をお好みに変えてみては如何でしょうか?


まぁ、エラーが出ているみたいですし、A1がシリアル値だったらの話ですが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

下の皆さんへのお礼の通りなのですが、シリアル値だから上手く行かないのでしょうか?

とすると、べた打ちで日付が打てない要因を解消しなければいけないということでしょうか?

お助け下さい。

お礼日時:2013/08/28 17:13

回答No3です。



例えばA1セルに2013年10月と入力することで数式バー上では2013/10/1のように表示されていることでしょう。

例えばA3セルから下方に2013年10月から連続した年月を表示させるのでしたら次の式をA3セルに入力して下方にドラッグコピーすればよいでしょう。

=TEXT(DATE(YEAR(A$1),MONTH(A$1)+ROW(A1)-1,1),"yyyy/mm")
    • good
    • 0
この回答へのお礼

度々のご回答ありがとうございます。

ご教示いただいた数式を張り付けて試してみましたが、やはり年代わりで#NUM!が出てしまいます。

参りました..

お礼日時:2013/08/28 20:15

>確かに別シートで試すとご教示のようになり日付を変えてもちゃんとなるのですが、なぜか作業中のシートにその部分をコピーして日付を変えると1905/〇..と日付が遡ってしまい上手く行きません。



この原因はエクセルのオプションの設定によるものです。

すなわち、Alt+T,Oのショートカット操作でエクセルのオプション画面を出し、エクセル2007以降なら、「詳細設定」の一番下の「式入力を変更する」のチェックを外してください。

#Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、ご質問の際には必ずバージョンを明記するようにしましょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご指摘の通り、式入力変更で日付入力ができました!

ですが、年が変るとエラー表示になる現象は解消されません...

お礼日時:2013/08/28 19:53

例えばA1セルに2013/10/1と入力します。


A1セルを下へオートフィルで数行コピーすると日単位でコピーされます。
オートフィルのマークをクリックするとメニューから連続コピー月単位が選べます。
既にコピーされたセルは月間隔に変化していますので更に下方へ必要なだけコピーすれば目的通りになります。
コピーが終わったら選ばれた状態のままでセルの書式を決めてください。
表示形式はユーザー定義でyyyy"/"mmとすれば希望通りになります。
関数を使う必要はありません。
A列の値はシリアル値で計算対象にできますのでローンの返済計画の試算表に使えます。
「エクセルで年月を連続で表示させる関数」の回答画像7
    • good
    • 0
この回答へのお礼

ご丁寧な回答ありがとうございます。

確かにオートフィルを使えば何十カ月でもきれいに並んでくれるのですが、文字列としてコピーされますよね。

ですが融資の実行月を変えることで以下の返済月も変わるようにしたいので、関数が必要だと思うのですが..考えすぎでしょうか?

お礼日時:2013/08/28 20:08

ちょっと横入りさせていただきますね。



私が気になったのは
> 例えばセルの書式設定を「yyyy/mm」にした状態で「2013/08」と入力すると
> 「1900/09」と表示されるため
という補足の部分なんですが・・・

なるほど、再現できました。
「=2013/08」と入力したりしていませんか?
2013÷8=251.625 ですから、これを日付に直すと「1900/9/7 15:00」です。
これを「yyyy/mm」で表示してやると、「1900/09」ですからね。
つまり、「入力の仕方がちょっとおかしかったかもしれない」ですね。

という具合に、“原因”を探って、知っておくのも重要ですよ。
“解決策”だけ知っても、どのような時にどんな策なのかわからないと意味がないです。



さてさて、落ち着いて“最初から”手順通り、やり直してみましょう。

まず、A1セルに「表示形式:yyyy/mm」を設定し、
そのうえで「2013/8/14」(かな?シリアルで「41500」らしいですので)と入力。
イコール「=」も要りませんし、引用符「””」で囲う必要もありません。
ワークシート上で「2013/08」と表示されているのを確認しましょう。

翌月分はA2セルから下に羅列、と仮定して、
A2セルに式「=DATE(YEAR(A1),MONTH(A1)+1,DAY(A1))」を入力しましょう。
「2013/9/14」が正しく表示されているのを確認し、
ここにも「表示形式:yyyy/mm」を設定してやりましょう。
以下のセルには、“A2セルだけを選択した状態で”フィルしてやります。


これできっと思惑通りの表示をしてくれると思いますよ。



※表示形式を整えるのは「最後の仕事」と思いましょう。
 途中で「結果があっているかわからない式・値」に対して表示形式を設定すると
 合っているかどうかすらわからずに絶対に混乱しますから。
 「式の結果が思惑通りなのを確認してから表示形式を設定する」ほうが確実ですよ。
    • good
    • 0
この回答へのお礼

ご丁寧な解説ありがとうございます。

自分では「=」を付けずに入力してもEnterを押すことで「=」が付いた状態になっていました。

でもこの現象はNo.6さんのご指導で解決しました。

そのほかは、何度皆さんからご指導をいただいたようにやり直しても、年代わりで化けちゃうんです。

同じブックの中の別シートでは、数式をフィルするだけできれいに何十ヵ月でも表示されるんですけどね..

お礼日時:2013/08/28 20:01

>ですが、年が変るとエラー表示になる現象は解消されません...



この部分はオプションの詳細設定から「計算方式を変更する」のチェックを外してください。
    • good
    • 0
この回答へのお礼

度々の回答ありがとうございます。

確かに直りました!が、逆に他のところの式がエラー表示になってしまいました。

でも皆さんのおかげでどうにか解決しました。ありがとうございました!

お礼日時:2013/08/29 00:24

>確かにオートフィルを使えば何十カ月でもきれいに並んでくれるのですが、文字列としてコピーされますよね。


文字列ではないですよ。
期間の計算ができるシリアル値です。
表示形式が年/月の表現になっていますが表示形式を「標準」にすると2013/10は41548です。
1=1900/1/1 で、1日は整数の1になり1900/1/1+41547日=2013/10/1と言う計算です。

>考えすぎでしょうか?
見た目だけで文字列と判断しただけの誤解です。
    • good
    • 1

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

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


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