- ベストアンサー
エクセルの数式について質問です
すこし特殊なカレンダーを作っているのですが 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以上ブランク 宜しくご指導お願い致します。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
NO5です。 A3に=IF(A1=MONTH(DATE(YEAR(TODAY()),$A$1,$A$2)+ROW(A1)),$A$2+ROW(A1),"")を設定、下方向にコピーで如何でしょうか。
その他の回答 (6)
- keithin
- ベストアンサー率66% (5278/7941)
>スタートですが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日目まで表示する可能性があるので,そのセル範囲までコピー貼り付けておく必要がありますね。 また勿論,月末日を超えたら空白を自動的に計算することも織り込み済みです。
お礼
ありがとうございます。 完璧です 勉強になりました。
- mu2011
- ベストアンサー率38% (1910/4994)
要は翌月はブランクなればよいのであれば、月が変わったらブランクすれば良いのではないでしょうか。 例えば、=IF(A1=MONTH(DATE(YEAR(TODAY()),A1,A2)+1),A2+1,"") とすれば閏年も対応できます。
お礼
ありがとうございます。 希望通りにできました。が 説明が足りず、申し訳ありませんが もう一つ条件があります。 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)
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)))
お礼
早急な回答ありがとうございます。 No5様の回答がしっくりきました。
補足
ありがとうございます。 希望通りにできました。が 説明が足りず、申し訳ありませんが もう一つ条件があります。 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)
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))
お礼
早急な回答ありがとうございます。 No5様の回答がしっくりきました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
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))
お礼
早急な回答ありがとうございます。 No5様の回答がしっくりきました。
- keithin
- ベストアンサー率66% (5278/7941)
>条件(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))
お礼
ご教授ありがとうございます。 スタートですがA2、A3、A4、A5、A6、A7の可能性があります
お礼
ありがとうございます。 完璧です。