
エクセル2010のテンプレートのカレンダーで日にちが#VALUE!になります。
ダウンロードした物はMicrosoft office公式のカレンダーの構成 (任意の年)です。
http://office.microsoft.com/ja-jp/templates/TC01 …
数式を治さないといけないのかエクセルの設定なのか使い方をご教示お願いします。
私の環境はWindows7 Office Personal2010です。
よろしくお願いします。

No.5ベストアンサー
- 回答日時:
>どのように修正すれば良いのかご教授していただけると幸いです。
C4セルの数式が次のようになっています。
=IF(AND(YEAR(JanSun1)=$A$1,MONTH(JanSun1)=1),JanSun1, "")
この中でJanSun1と言う名前で値を代替していることが分かります。
「数式」タブに有る「名前の管理」を開くと幾つもの名前が定義されています。
JanSun1を選択して定義されている数式を確認すると次のようになっています。
=DATEVALUE("1/1/"&年カレンダー!$A$1)-WEEKDAY(DATEVALUE("1/1/"&年カレンダー!$A$1))+1
この数式のDATEVALUE関数の引数が問題の部分です。
シートが複数のとき各シートのA1セルにカレンダーの西暦年数が入力されていれば"年カレンダー!"は不要です。
日付を示す文字列を日数の計算可能なシリアル値に変換するのがDATEVALUE関数です。
2008年を例にすれば次のような計算がJanSun1で行われています。
=DATEVALUE("1/1/"&$A$1)-WEEKDAY(DATEVALUE("1/1/"&$A$1))+1
↓
=DATEVALUE("1/1/2008")-WEEKDAY(DATEVALUE("1/1/2008"))+1
↓
#VALUE!エラーとなる。"1/1/2008"は米国の日付表示のため"2008/1/1"に直す必要があります。
↓
=DATEVALUE("2008/1/1")-WEEKDAY(DATEVALUE("2008/1/1"))+1
↓
=39448-3+1 → 39446 → 2007/12/30
以上の動作状況を考慮してJanSun1の定義を次のように変更すれば1月のカレンダーが正常になります。
=DATEVALUE(年カレンダー!$A$1&"/1/1")-WEEKDAY(DATEVALUE(年カレンダー!$A$1&"/1/1"))+1
此処でシート名(年カレンダー!)は不要ですが定義範囲をブック全体にすると自動的にシート名が付加されます。
他の名前(2月~12月用)も同様に変更すればすべての月が正しく表示されます。

ありがとうございます。
出来ました。
その月の前後に前の月の日にちと次の月の日にちが
入ってしまいます。
表示しない方法は、ありますでしょうか?
No.6
- 回答日時:
>その月の前後に前の月の日にちと次の月の日にちが入ってしまいます。
何処を直したの?
私は名前の定義で使っている数式だけ直すように提言しました。
日付を表示するセルの数式を元のままにすれば当月のみ日付が表示されるはずです。
次の数式は1月のカレンダーの左上の数式です。
C4=IF(AND(YEAR(JanSun1)=$A$1,MONTH(JanSun1)=1),JanSun1, "")
右隣のセルは次の数式になっていますので順次1日加算して当月の日付であるか否かをIF関数で条件分岐しています。
1ヶ月分のマス目(セル)に順次1日加算した結果をチェックして当月に含まれない日付は空欄("")となるような数式であることが分かるでしょう。
D4=IF(AND(YEAR(JanSun1+1)=$A$1,MONTH(JanSun1+1)=1),JanSun1+1, "")
2月分については定義された名前をFebSun1に書き換えています。
3月分は定義された名前をMarSun1となっています。
このように順次定義された名前を替えることで各月のカレンダーを表示できるようにしてあるようです。
出来栄えとしては好ましいものではありません。
ありがとうございます。
理論は難しくてよくわからないのですが
入力の仕方は理解できました。
置き換えを使えばそんなに面倒でもないですね。
No.4
- 回答日時:
こんにちは。
#3さんの仰る通りですが、作者の基本的な考え方のミスだと思います。
コンパネをいじるのも嫌ですから、
一応、[数式]-[名前の管理]で、こちらは、
AprSun1:
=DATE(年カレンダー!$A$1,4,1)-WEEKDAY(DATE(年カレンダー!$A$1,4,1))+1
から、
SepSun1:
=DATE(年カレンダー!$A$1,9,1)-WEEKDAY(DATE(年カレンダー!$A$1,9,1))+1
まで、このように、DATEVALUE関数ではなく、DATE関数で全て直してみました。
こうすれば、日付設定に関係なく表示されるはずです。
ちょっと面倒ですが、根気よくやれば全部が直ります。
No.3
- 回答日時:
>エクセル2010のテンプレートのカレンダーで日にちが#VALUE!になります。
確かに#VALUE!エラーになります。
数式内の名前の定義が拙いのではないかと思われます。
英語(米国)版の日付フォーマットを元に名前の定義をしているようですから修正すれば使えるようになるでしょう。
貼付画像は1月分のみ名前の定義を修正した結果です。

ありがとうございます。
しかし、私の技量では、英語(米国)版の日付フォーマットを
修正する方法も解りません。
どのように修正すれば良いのかご教授していただけると幸いです。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
if関数の複数条件について
-
excel
-
エクセルシートの見出しの文字...
-
VLOOKUP FALSEのこと
-
エクセルでフィルターした値を...
-
エクセルの文字数列関数と競馬...
-
【マクロ】数式を入力したい。...
-
【画像あり】オートフィルター...
-
エクセルに写真が貼れない(フ...
-
【マクロ】【画像あり】関数が...
-
【画像あり】【関数】指定した...
-
Dir関数のDo Whileステートメン...
-
【マクロ】アクティブセルの時...
-
セルにぴったし写真を挿入
-
【マクロ】エラー【#DIV/0!】が...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】実行時エラー '424':...
-
表計算ソフトでの様式の呼称
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報