• ベストアンサー

エクセルの数式について質問です

すこし特殊なカレンダーを作っているのですが A3セルに入る数式をお尋ねしたいです。 基本、A3セルはA2セル+1 条件(1)A3セルはA1セルが1,3,5,7,8,10,12の場合32以上ブランク、 条件(3)A3セルはA1セルが4,6,9,11の場合31以上ブランク 条件(4)A3セルはA1セルが2の場合29以上ブランク 宜しくご指導お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.7

NO5です。 A3に=IF(A1=MONTH(DATE(YEAR(TODAY()),$A$1,$A$2)+ROW(A1)),$A$2+ROW(A1),"")を設定、下方向にコピーで如何でしょうか。

ryu14goo
質問者

お礼

ありがとうございます。 完璧です。

その他の回答 (6)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.6

>スタートですがA2、A3、A4、A5、A6、A7の可能性があります カレンダーですから当然,既に回答で織り込み済みです。 もう一度説明すると, A1に年 B1に月を記入するとして A2にスタート「日付」を1,2,3の数字で記入したいのだとして A3には =IF(MONTH(DATE($A$1,$B$1,$A$2+ROW(A1)))<>$B$1,"",$A$2+ROW(A1)) と記入したあと,そのA3セルを下向けにつるつるっとコピーして入れておきます。 いわずもがなですが最大31日目まで表示する可能性があるので,そのセル範囲までコピー貼り付けておく必要がありますね。 また勿論,月末日を超えたら空白を自動的に計算することも織り込み済みです。

ryu14goo
質問者

お礼

ありがとうございます。 完璧です 勉強になりました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

要は翌月はブランクなればよいのであれば、月が変わったらブランクすれば良いのではないでしょうか。 例えば、=IF(A1=MONTH(DATE(YEAR(TODAY()),A1,A2)+1),A2+1,"") とすれば閏年も対応できます。

ryu14goo
質問者

お礼

ありがとうございます。 希望通りにできました。が 説明が足りず、申し訳ありませんが もう一つ条件があります。 A3セルがブランクになった場合 A4セルもブランクにしたいです。 A1セルが12の場合 例1 A1 12 ←数値入力 A2 19 ←数値入力 A3 20 ←数式 A4 21 ←数式 A5 22 ←数式 例2 A1 12 ←数値入力 A2 30 ←数値入力 A3 31 ←数式 A4 ブランク ←数式 A5 ブランク ←数式 何度も申しありませんが 宜しくお願い致します

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.4

A1セルは1~12のみとすれば、以下でしょうか。 =IF(AND(OR(A1=1,A1=3,A1=5,A1=7,A1=8,A1=10,A1=12),(A2+1)>=32),"",IF(AND(OR(A1=4,A1=6,A1=9,A1=11),(A2+1)>=31),"",IF(AND(OR(A1=2),(A2+1)>=29),"",A2+1)))

ryu14goo
質問者

お礼

早急な回答ありがとうございます。 No5様の回答がしっくりきました。

ryu14goo
質問者

補足

ありがとうございます。 希望通りにできました。が 説明が足りず、申し訳ありませんが もう一つ条件があります。 A3セルがブランクになった場合 A4セルもブランクにしたいです。 A1セルが12の場合 例1 A1 12 ←数値入力 A2 19 ←数値入力 A3 20 ←数式 A4 21 ←数式 A5 22 ←数式 例2 A1 12 ←数値入力 A2 30 ←数値入力 A3 31 ←数式 A4 ブランク ←数式 A5 ブランク ←数式 何度も申しありませんが 宜しくお願い致します

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

32以上ブランクの意味がA3セルの値が32以上という意味でしたら次の式になりますね。 =IF(COUNT(A1:A2)<>2,"",IF(OR(AND(A2>=31,OR(A1=1,A1=3,A1=5,A1=7,A1=8,A1=10,A1=12)),AND(A2>=30,OR(A1=4,A1=6,A1=9,A1=11)),AND(A2>=28,A1=2)),"",A2+1))

ryu14goo
質問者

お礼

早急な回答ありがとうございます。 No5様の回答がしっくりきました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1及びA2に数値のデータがなくからの時はA3セルは空白にするとの条件ではA3セルに入力する式は次のようになります。 =IF(COUNT(A1:A2)<>2,"",IF(OR(AND(A2>=32,OR(A1=1,A1=3,A1=5,A1=7,A1=8,A1=10,A1=12)),AND(A2>=31,OR(A1=4,A1=6,A1=9,A1=11)),AND(A2>=29,A1=2)),"",A2+1))

ryu14goo
質問者

お礼

早急な回答ありがとうございます。 No5様の回答がしっくりきました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>条件(4)A3セルはA1セルが2の場合29以上ブランク 閏年の配慮を忘れています。 A1に年 B1に月を記入するとして A2にスタート「日付」を1,2,3の数字で記入したいのだとして A3には =IF(MONTH(DATE($A$1,$B$1,$A$2+ROW(A1)))<>$B$1,"",$A$2+ROW(A1))

ryu14goo
質問者

お礼

ご教授ありがとうございます。 スタートですがA2、A3、A4、A5、A6、A7の可能性があります

関連するQ&A