« 第143回 孫と旅行計画 | メイン | 第144回 簡単な数遊び »

2012年11 月 3日 (土曜日)

コメント

くまぷー

今、ちょっと外で飲んで帰って来ました。
公開が遅れてすいません (^^ゞ

maron

◆多くて済みませんが、
1-56
=337+DAY(DATE(C3,3,))-NETWORKDAYS(C3&"-1",DATE(C3+1,1,))
★EXCEL2010
1-50
=NETWORKDAYS.INTL(C3&"-1",DATE(C3+1,1,),"1111100")
2-41
{=SUM(N(WEEKDAY(DATE(C3,ROW(2:13),))=1))}

jyo3

>337+DAY(DATE(C3,3,))-・・・・・・
へーーーー、、、すごい・・・・・・

からくち

=LOOKUP(SUM(MOD(C3&-{1,12}&-{1,31},7)),{0,1,2,3,4},{1,2,1,1,0})+104
=SUM((SUM(MOD(DATE(C3,{1,12},{1,31}),7))={1,0,2,3})*{2,1,1,1})+104
=(MOD(C3&-1&-1,7)<2)+(MOD(C3,4)=0)*(MOD(C3&-1&-1,7)=0)+104
=TEXT(SUM(MOD(C3&-{1,12}&-{1,31},7)),"[=1]2;[<4]1;!0")+104
=COUNT(FIND(SUM(MOD(A1&-{1,12}&-{1,31},7)),{1,2031}))+104
=MID(1211*10^9,SUM(MOD(C3&-{1,12}&-{1,31},7))+1,1)+104
=COUNT(FIND({0,1},MOD(C3&-{1,12}&-{1,31},7)))+104

2はジョー3さんと全く同じでした

>大丈夫か心配ですが、、、
2016
2044
2072
2112
2140
2168
2196
2208
2236
2264
2292
2304
2332
2360
2388
2416
2444
2472
2512
2540
2568
2596
2608
2636
2664
2692
2704
2732
2760
2788
2816
2844
2872
2912
2940
2968
2996
お調べください

jyo3

>お調べください
半分ぐらい調べました。・・・・・・
その分は、、良かったみたい。です、、

jyo3

あ、、、そうそう、、、
2003での
> {=SUM(N(YEAR(ROW(A:A)*7+{0,1})=C3))}
は、、、
2007以降では、、

A:A  を
1:57500
ぐらいに変えたいです。

で、
4文字多くなります。

jyo3

あ、、、厳密には間違えた。
>2007以降では、、

XLSXファイルではと、、、言う方が正確ですか?

まあ、、、
65536行でなく
100万行の時はと、、、言った方が良いでしょうか?

100万行は
2万年ぐらいでエクセルの1万年程度の倍になりますからね、、、

100万÷365×7・・・・の、、試算、、、

jyo3

からくちさん
??????+104
の形・・・すごいですね、、、

わたしは、、、その形は2個だけでした。


からくち

>良かったみたい
失礼致しました
わたしの式は全て間違いですので
無かったことにしてください

min

ジョー3さんの1問目
気がつかなかったなあ。。
さすがです。

問題1は
42
=(MOD(C3&-1,7)<2)-OR(MOD(C3&-{1,4},7))+105
これでいいのかと思った。。
しかし、だめでした。

これならいいのだろうか?
49
=OR(MOD(C3&-{1,10},7)<2)-OR(MOD(C3&-{1,4},7))+105

問題2は
ジョー3さんとおんなじでした。

ジョー3

>気がつかなかったなあ。。
理屈的には、、絶対間違えが、、ないはず・・・と、思った、、、
7の倍数は、、土曜日
+1で、、、、日曜日

それを並べて、・・・該当年と合ってる個数・・・
完璧!!と、思いつつも、、、読みぬけが・・・常のジョーだから、、、
不安でいっぱいだった。

toi

今帰ってきました。
問2はmaronさんと同じ
問1 は59が精いっぱいでした。
{=COUNT(FIND(C3&"S",TEXT(DATE(C3,1,ROW(1:366)),"yyyddd")))}

ジョー3のさっぱり分かりません。明日考えます。
からくちさんの全部分からないので、理由は解明してませんが、2968で全部フェイルしました。
minさんの42も同じくその時こけましたので理由は同じかもです。

む印

急に夕方から買い物に付き合わされて先ほど帰ってきました、、

>{=SUM(N(YEAR(ROW(A:A)*7+{0,1})=C3))}
ああ、、そうでした、、、シリアル値の土曜始まりの利用、、
これ、今日仕事中にチラッと浮かんだに、相談を受けてたら
すっかり忘れてしまってました、、(><)
…でももし覚えていてたとしても、この式には至れなかったと思いますが^^;

きょうは結局、手が付けられず最短は合計88(49+39)のままです。
問題1
49:{=COUNT(0^(MOD(C3&-COLUMN(A:L)&-ROW(1:31),7)<2))}
59:{=SUM(N(C3&{"土","日"}=TEXT((C3&-1)-1+ROW(1:366),"yyyaaa")))}
60:=104+(MOD(C3&-1,7)<2)+IF(DAY((C3&-3)-1)=29,WEEKDAY(C3&-1)>5)

問題2
39:{=SUM(N(MOD(DATE(C3,ROW(2:13),),7)=1))}
78:{=SUM(2,-(MOD(C3&-1,7)=IF(DAY((C3&-3)-1)=29,{1,4,9,9},{0,2,5,6}))*{1,1,1,-1})}
2007以降限定
69:=IFERROR(IF(FIND(DAY((C3&-3)-1)-27&MOD(C3&-1,7),1012152416)=9,3,1),2)

う~ん、minさんの49
MOD(C3&-{1,10},7)<2 や MOD(C3&-{1,4},7) 
って、よくこんな法則思いつくもんですねー、、、旨いな~!


y sakuda

済みません。toiとなっているのは私です。

y sakuda

む印さんと良く似たのつくりましたが、60でした。
{=SUM(N(C3&{"土","日"}=TEXT(DATE(C3,1,ROW(1:366)),"yyyaaa")))}

む印

似たことやってたのに
>FIND(C3&"S"・・・"yyyddd"
y sakudaさんのこれは思いつかなかったです、、

む印

maronさんの式をこちらしきに変えると、、50文字
=337+DAY((C3&-3)-1)-NETWORKDAYS(C3&-1,(C3+1&-1)-1)

しかし、NETWORKDAYSって使ったことがなかったです、、

最初、WORKDAYで何とかならないかやってみましたが
余計ややこしくなって諦めました、、、

りす

49=104+(MOD(DATE(B3,1,),7)>4)*(DAY(DATE(B3,3,))=29)
39{=SUM(N(MOD(DATE(C3,ROW(2:13),),7)=1))}

y sakuda

失礼ながら、りすさんの49はダメでしょう。うるう年以外で105になる、つまり12月31日が土日の平年の判定が漏れてます。
これに近いのが私が最初にやった方式ですが、68どまりでした。
=104+(MOD(C3&"/1",7)<2)+(MOD((C3&"/1")+1,7)<2)*(DAY(DATE(C3,3,))=29)

y sakuda

ジョー3の36やっと意味が分かった^^
凄い!

jyo3

最初は、
????/1/1から????/12/1てことで、
365の場合
土土・・・+1
日日・・・+1
366の場合
金土・・・+1
土日・・・+2
日月・・・+1
それを式に、の作戦だった。(ほとんどの方が同じ?)
・・・・・
しかし、80文字以上で、その短縮にいやになって、、、
諦めた・・・・で、外から眺めて・・・・

土と日をいっぱい作って、、、
そう、、、
土と日だけをいっぱい作って・・・その中から、、????年のだけを
数えるという、、、アイデアにたどり着いた朝だった。

だから、、諦めたのが・・・良かったみたい。

jyo3

3が、、抜けてた。
>  ????/1/1から????/12/1てことで、
   ????/1/1から????/12/31てことで、
・・・・・・・・・

y sakuda

>土と日だけをいっぱい作って・・・その中から、、????年のだけを
Modの逆を行ったのが素晴らしいです。
まともにやると、うるう年の場合に1月1日等の曜日の判定をやり直さなければらならいので、どうしても長くなり70文字前後になっちゃいます。

jyo3

>まともにやると、・・・どうしても長くなり70文字前後になっちゃいます。
わたしは、別手法に逃げましたが、みなさん・・・それを追求して、50前後に、、
納めちゃって、、凄いです。

って、ことで、、ありがとうございました。

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

アカウント情報

(名前は必須です。メールアドレスは公開されません。)

2024年8 月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

TOP メニュー