<閏年問題 出題者解答例>
嫌い&苦手な日時の問題、、、
故に今回は、長くても良いから他の方と被らない式(考え方)を・・・
と言う少々勝手なローカルルール
勿論ですが、ただルールを守ればと言うなら
=IF(TEXT((C3&-1)+59,"d")-1,"閏年","平年")
でも良いのですが、、、わたしとしてはこれでは面白く無い
と言う事でわたしの解答例は長いですが
=IF(COUNT(0/FREQUENCY(FIND(TEXT(C3&-ROW(1:12)&-ROW(1:12),"aaa"),
"日月火水木金土"),ROW(1:7)))=5,"平年","閏年")
◆さすがに「何をしてるんだろう」、「それで出来るの」という解答ですね
◆そのようなものではありませんが・・・・
34=IF((C3&-5)-(C3&-1)=120,"平年","閏年")
39=IF(TEXT(DATE(C3,,91),"d")-1,"閏年","平年")
39=IF(GCD((C3&-7)-(C3&-1),7)-1,"閏年","平年")
44=IF(WEEKDAY(C3&-7)=WEEKDAY(C3&-1),"閏年","平年")
50=IF(WEEKNUM((C3&-10)-WEEKDAY(C3&-1))=40,"閏年","平年")
投稿情報: maron | 2013年1 月 5日 (土曜日) 午後 08時06分
おーーー
からくちさん・・・わかりにくいです・・・成功です。よかったねーーー
私のは、、、、
わかりにくそうで、、わかりやすいだろなーーー・・・・・
=IF(TEXT((C3&-1)-(C3)-INT((C3-11200)/SQRT(16))+INT((C3)/100)-INT((C3)/400),"aaa")="土","閏年","平年")
・・・・・ごめーーん、、苦しい式で、、、、ぜんぜん、、自慢できん。。。、、、・・・・
投稿情報: ジョー3 | 2013年1 月 5日 (土曜日) 午後 08時06分
35は、、、
=IF(YEAR((C3&-1)+365)=C3,"閏年","平年")
違反してないかなーーー
30は、、、
違反99%だから、、、ださない・・・
投稿情報: ジョー3 | 2013年1 月 5日 (土曜日) 午後 08時12分
角田さんから預かった物です。
**********************************************
こんにちは。
とりあえずは、こんなところで・・・
年と月と日数と週
37 =IF(YEAR((C3&"/1")+365)=C3,"閏年","平年")
36 =IF(MONTH((C3&"/5")-90)=1,"平年","閏年")
40 =IF(((C3&"/5")-(C3&"/1"))=121,"閏年","平年")
48 =IF(WEEKDAY(C3&"/1")=WEEKDAY(C3&"/7"),"閏年","平年")
**********************************************************
投稿情報: くまぷー | 2013年1 月 5日 (土曜日) 午後 08時16分
=IF(MONTH(DATE(C3,1,121))=5,"平年","閏年")
=MID("A閏平",MONTH(DATE(C3,1,60)),1)&"年"
どちらも38ですが・・・
こんなのでいいのだろうか?
投稿情報: くまぷー | 2013年1 月 5日 (土曜日) 午後 08時20分
Excelで閏年を見分ける方法は基本的には2つしか知りません、、
シリアル値の利用か、西暦(年)から算出する方法です。
からくちさんの98、一見してもサッパリわかりませんねー、、、
<シリアル値編>は短い式狙いで…
1900年のバグを無視して34
=IF(MONTH((C3&-5)-90)=1,"平年","閏年")
※バグ回避はこんな感じでしょうか?
=IF(MONTH((C3+(C3%=19)&-5)-90)=1,"平年","閏年")
<西暦(年)編>はユニーク賞狙いで…
文字列関数だけを使って、
最初に出てくる小数点(ドット)の位置で判別。
64
=TEXT(FIND(".",RIGHT(LEFT(C3,LEN(C3%))/400,9-6)&1%),"[=5]平年;閏年")
投稿情報: む印 | 2013年1 月 5日 (土曜日) 午後 08時27分
いや~~、、、沢山ありますね~
始め
=MID(REPT(" 平閏",99),SUM(TEXT((TEXT(C3&-1,"bbb")-{542,543})
&-1,0)*{1,-1}),1)&"年"
こんなインチキな回答でもと思ったのですが・・・
わたしの解答例は
1月1日・2月2日・・・・12月12日の
12日の曜日を集計しますと
閏年と平年の違いがハッキリと現れました
それを使っただけです
投稿情報: からくち | 2013年1 月 5日 (土曜日) 午後 08時36分
>いや~~、、、沢山ありますね~
そそ、、、繁盛しましたね、、良かった良かった。
投稿情報: ジョー3 | 2013年1 月 5日 (土曜日) 午後 08時39分
>1月1日・2月2日・・・・12月12日の
無作為みたいな作為・・・・・
おら、、、素直すぎた。
投稿情報: ジョー3 | 2013年1 月 5日 (土曜日) 午後 08時53分
>12日の曜日を集計しますと
「へぇ~」、やっと面白さが理解できました、、、
一応…、私の64は62でも出来る
=TEXT(FIND(".",RIGHT(LEFT(C3,LEN(C3%))/400,3.5)&1%)-5,"平年;閏年")
のですがTEXTらしさの方を選びましたd
投稿情報: む印 | 2013年1 月 5日 (土曜日) 午後 09時10分
似たのはたくさんあるけど、ズバリがないので出します。
37=IF(YEAR(DATE(C3,,397))=C3,"閏年","平年")
投稿情報: ni | 2013年1 月 5日 (土曜日) 午後 09時10分
あらら、、ぶった・・・・いや、、、
ブッタさんも、、、登場だっけ、,,
投稿情報: ジョー3 | 2013年1 月 5日 (土曜日) 午後 09時11分
>似たのはたくさんあるけど、ズバリがないので出します。
おーーいろいろあるのね、、、つかれるぐらい、、、
投稿情報: ジョー3 | 2013年1 月 5日 (土曜日) 午後 09時12分
>つかれるぐらい、、、
ではもう1つ、、、基本インチキですが、、、
=IF(YEARFRAC(C3&-1,C3&-9,2)=0.675,"平年","閏年")
投稿情報: からくち | 2013年1 月 5日 (土曜日) 午後 09時56分
YEARFRAC かぁ~、Act/360 は AddinBox でも弄ってなかったなぁ~
しかし、C3&"/1" しか知らなかったけど、C3&-1 かぁ~
-1でも&演算で文字列扱いされて、いけるんだね♪
ここの達人に Microsoft MVP の日本サミットとかで、厳選ネタ&珠玉回答集
で講演させたら絶対ウケると思う♪
投稿情報: 角田 | 2013年1 月 5日 (土曜日) 午後 11時02分
>ここの達人に Microsoft MVP の日本サミットとかで、厳選ネタ&珠玉回答集
>で講演させたら絶対ウケると思う♪
それは面白い!
たしか、sakudaさんがMVPだったから
適任だと思う・・・(^o^)
投稿情報: くまぷー | 2013年1 月 6日 (日曜日) 午前 08時34分
私はしゃべるのダメだから角田さんの方が良いかもw
昨日はひどい目にあいました。熱はたいしたことなかったんですが、吐いちゃって、ぐったりで帰って来てそのまま寝ちゃいました。
起きたらまあ大分良くなってましたので、これから拝見します。
投稿情報: y sakuda | 2013年1 月 6日 (日曜日) 午前 08時54分
最初に思いついた、40 で翌年の1月1日が365日後かどうかで判定
40
=IF((C3+1&"/1")-(C3&"/1")-365,"閏年","平年")
平年の場合、今年の1月1日と翌年の1月1日の累積日数が必ず奇数になることを利用したタイプ
43
=IF(ISODD((C3+1&"/1")+(C3&"/1")),"平年","閏年")
56
=IF(ISERR(-(AVERAGE(C3+1&"/1",C3&"/1")&".1")),"平年","閏年")
一番短くなった(多分みなさんと同じ)で、365日後が同じ年かどうかで判定
37
=IF(YEAR((C3&"/1")+365)=C3,"閏年","平年")
40と37は他の方何人かとかぶっているようですが、シリアル値の合計の偶数、奇数を使った方はいらっしゃらなかったようですね。
投稿情報: y sakuda | 2013年1 月 6日 (日曜日) 午前 09時38分
sakudaさん、もしかして、全国流行中のノロウィルス ですか?
めちゃくちゃ、ツライ と聞いてますが・・・
ひたすら、トイレ往復で嵐が過ぎるのを耐えるしかないとか・・・
お大事に
ついでに、過去152問の中で、
「この問題がなかったら、ここまで来なかった」
「この問題のノウハウがあったから、ここまで来れた」
「これから参加したい人に、この問題はやっておいた方が良い」
という問題は何ですか?
今回の「 C3&-1 」なんかも、
単純ではあるけれど、普通に扱ってる内は絶対出て来ない発想と思う。
「配列数式」発想集なんて、それだけでも『本』になるでしょうね。
武藤さん経由で売り込んでみたら? (笑)
投稿情報: 角田 | 2013年1 月 6日 (日曜日) 午前 10時48分
>全国流行中のノロウィルス ですか?
違うでしょ。
吐いたことは吐いたのですが、一晩寝たらまだ微熱はありますが、PCの前座ってるw
>今回の「 C3&-1 」なんかも、
実はこれでできるの忘れてました。
ただ、どっちにしろ短縮がメインになっちゃってますから省略形と配列数式が多くなるわけで、普通は知っていてもそんなことやるべきではないと思います。
これはあくまでも上級者?の遊びであって、それこそ「良い子はマネしちゃいけません」だと思いますよ^^;
投稿情報: y sakuda | 2013年1 月 6日 (日曜日) 午前 11時44分
からくちさんの苦手の(誰が信じてる?)日付問題、、、
面白かった。
エクセルの癖、
技術、
それを使いこなす皆さん凄いです。お知り合いになれて、、嬉しいです。
わたしは、たまにアイデアで、勝負できるぐらい・・・・
90%は皆さんに歯が立ちません。
わたしにとって、ここは、、、憩いの場所なのだ・・・・
・・・・・・・・・・・・・・・・・・
よい子もくるといいと、、おもう。
投稿情報: ジョー3 | 2013年1 月 6日 (日曜日) 午後 04時57分
>よい子もくるといいと、、おもう。 ×2
今回ので云えば禁止関数なしで
標準的な解法も示しておけば良かったかな~?
投稿情報: くまぷー | 2013年1 月 6日 (日曜日) 午後 06時12分
>「C3&-1」形式
ここではじめてやったのは第8回y sakudaさん出題の
カレンダー作成問題だったと思います
http://kumapooh.typepad.jp/blog/2009/03/post-3e9c.html
一部既定の表示形式で表した数字や日付の文字列は計算対象となることは分かってましたので
$B1&-$C1&-7と「西暦年&-月&-日」でやってみたら出来たので使ってみましたが、
minさんは、$B1&"/"&$C1でその月の1日が表せることをご存じで、
それを$B1&-$C1に置き換えられると教えて頂きました。
それ以来ここでは日付の計算には「C3&-1」形式で行うようになったという次第です^^
投稿情報: む印 | 2013年1 月 6日 (日曜日) 午後 09時36分
>「C3&-1」形式×2
◆最短は、38=IF((C3&"-5")-(C3&"-1")=120,"平年","閏年")、だったんですが、
>◆む印さんの、「出来たのは34文字ですが」を参考にもう一度試してみたら、34になりました
◆む印さんの34の回答をヒントに、試しに"を取っても式が成立しました
◆いろいろ教えていただいてます
投稿情報: maron | 2013年1 月 6日 (日曜日) 午後 09時55分
>「C3&-1」形式
なんとなく1月を示す文字列くっつければ良いのは覚えてたんですが、-1までは思い出さなかったです。
そこでもう字数的には負けてる^^;
投稿情報: y sakuda | 2013年1 月 6日 (日曜日) 午後 10時15分
>教えて頂きました。
のぞいてみたら・・・
む印さん良くそんな昔のことを覚えていますねえ。
単純かつ適当にやってみました。
96{=MID("平閏平閏",SUM(N(CHOOSE(ROW(1:5),GCD(C3*25,100),GCD(C3,100),GCD(C3*25%,100),,)=100))+1,1)&"年"}
あっているのか?
投稿情報: min | 2013年1 月 6日 (日曜日) 午後 10時25分
>単純かつ適当にやってみました。
単純ではないと思いますがw
何をやってるのかさっぱり分からないです。
投稿情報: y sakuda | 2013年1 月 6日 (日曜日) 午後 10時55分
>単純ではないと思いますがw
1. 西暦年が4で割り切れる年は閏年
2. ただし、西暦年が100で割り切れる年は平年
3. ただし、西暦年が400で割り切れる年は閏年
これを単純に式にしただけです。
投稿情報: min | 2013年1 月 6日 (日曜日) 午後 11時03分
>あっているのか?
>これを単純に式にしただけです。
どうやら単純にやりすぎたようです。
ということで修正するとちょっと増えそう。
投稿情報: min | 2013年1 月 6日 (日曜日) 午後 11時35分
ああなるほど、4を使わないように細工してるわけだ^^
投稿情報: y sakuda | 2013年1 月 7日 (月曜日) 午前 01時05分