Hatena::Groupnadesiko

99円のへたれ学習帳

2009-04-27

「エクセルでカレンダー」の解答

| 22:31

4月25日の勉強会の後半で行った演習の模範解答と解説です。

仕様

・エクセルのシートに2009年のカレンダーを作る
・A列に年、B列に月、C列に日、D列に曜日を入れる

の1

エクセル起動
エクセル新規シート
DATE=「2009/01/01」
DATE<「2010/01/01」の間
  T=DATEを"/"で区切る
  "A"&回数へT[0]をエクセルセル設定
  "B"&回数へT[1]をエクセルセル設定
  "C"&回数へT[2]をエクセルセル設定
  "D"&回数へDATEの曜日をエクセルセル設定
  DATE=DATEに"0/0/1"を日付加算

2009年だけなら、ループは「365」でも大丈夫ですが、閏年などの対応を考えて、1日ずつ日付を増やしていって、2010年になったら終了、とするとよいでしょう。

比較演算子は文字列も比較できるということを利用すると、すっきり書けます。

セルの幅を変更するにはどうすれば良いか、という質問がありましたが、以下のようにすればよいようです。

"A1"をエクセル選択
20にエクセル選択列幅設定

幅を自動設定するときには、以下のようにすればよいようです。参考(環境依存?詳しい人教えてください)

"A1"をエクセル選択
"%oca"のエクセルキー送信

RombyRomby2011/07/11 07:00A mintue saved is a minute earned, and this saved hours!

gzyzqbfgzyzqbf2011/07/11 17:58ciOtl6 <a href="http://nwhokschyemm.com/">nwhokschyemm</a>

olsqwlqzolsqwlqz2011/07/12 21:02m0KR0L , [url=http://rurwkorozbyx.com/]rurwkorozbyx[/url], [link=http://ljxtvxnmpumz.com/]ljxtvxnmpumz[/link], http://teqhrkmonkwf.com/

rchkuqgrchkuqg2011/07/13 18:19hbKNVd <a href="http://kmwvuwqyotbd.com/">kmwvuwqyotbd</a>

rglnxrfrglnxrf2011/07/14 22:41SKboZ8 , [url=http://loaktnyybsee.com/]loaktnyybsee[/url], [link=http://kopvbltwsbyo.com/]kopvbltwsbyo[/link], http://slfrjaqmwnqg.com/

2009-04-25

「ナベアツ算」の解答

| 23:02

4月25日の勉強会の後半で行った演習の模範解答と解説です。

仕様

・1から100まで数を表示する
・3の倍数の時と3が含まれるときは数字の横に「アホ」と表示する

の1

100回
  もし、回数%3=0ならば
    「{回数} アホ倍数」を表示
  違えばもし、回数で3が何文字目ならば
    「{回数} アホ含」を表示
  違えば
    回数を表示
表示ログを言う

これがいちばん分かりやすいのではないでしょうか。

「~」構文で繰り返します。反復した回数は「回数」に入ります。

3の数を判定するには、演算子「%」で割り算の余りとればよいでしょう。

3が含まれる場合の判定には「何文字目」を使います。この命令の返値は文字列の位置で、これは1から始まり、見つからなかったときは0が返されます。

もし」は条件が0以外の時に実行されますので、3が見つかれば(つまり、1や2ならば)「「{回数} アホ含」を表示」が実行されるということになります。

の2

100回
  回数を継続表示
  もし、回数%3=0ならば
    「 アホ倍数」を継続表示
  違えばもし、回数が「*3*」に一致ならば
    「 アホ含」を継続表示
  改行を継続表示
表示ログを言う

回数を先に表示させたい時は、「表示」を使うと自動的に改行されてしまうので、改行がされない継続表示」を使います。しかし、このままでは改行されないので、ループの最後で「改行継続表示」としています。

こちらでは回数に3が含まれるかどうかの判定に「一致」を使っています。ほかには「出現回数」も使えますね。

回数%3=0」が日本語っぽくなくてイヤだ、というときは以下のように関数を定義すると「回数が3の数」と書けます。

●倍数(XがYの)
  (X%Y=0)で戻る

 

以下、chocoさんのご要望によりTOPOZOさんのスーパーテクニック(笑)をご紹介します。解読してみてください。

3が含まれる数の判定法
 ・(区切(回数,3)!=回数)
 ・(行数(置換(回数,3,"{~}_"))-1)

miyako_hechimamiyako_hechima2009/04/27 22:42勉強会お疲れ様でした。糸瓜です。
コメント感覚で書けるのがいいですね、なでしこは。

XannonXannon2011/07/10 18:37That's the best awnser of all time! JMHO

nmsgihkwlnmsgihkwl2011/07/11 22:18wmr1ac , [url=http://fidpdpdhiaku.com/]fidpdpdhiaku[/url], [link=http://xpcioqxkqnxn.com/]xpcioqxkqnxn[/link], http://bzfnolpdomez.com/

lptnrcjlptnrcj2011/07/12 18:18Ke5W4u <a href="http://ujxszbufzlnd.com/">ujxszbufzlnd</a>

tnnlkrnsstnnlkrnss2011/07/14 00:15zxiETa , [url=http://mcxnpwthcndr.com/]mcxnpwthcndr[/url], [link=http://hvhqytiaodko.com/]hvhqytiaodko[/link], http://qptwualjqdux.com/

GeraldaGeralda2012/11/27 14:58The expertise shines through. Thanks for taking the time to aenswr.

kaxynktvkaxynktv2012/11/30 12:59pAtNDS , [url=http://bhggcxmcfbkf.com/]bhggcxmcfbkf[/url], [link=http://xlbkqhvekqyk.com/]xlbkqhvekqyk[/link], http://ggbnfilhvmqs.com/

treskywtreskyw2012/11/30 20:366bD1fT <a href="http://juxyqqsluuwc.com/">juxyqqsluuwc</a>

jwwsmigjwwsmig2012/12/02 02:22Aqvpfo , [url=http://pusziglgtsxm.com/]pusziglgtsxm[/url], [link=http://ggeazndzqdgz.com/]ggeazndzqdgz[/link], http://ucynmulmccsa.com/

2009-03-01

OldNadesikoを更新

| 21:06

http://wbot.net/old_nadesiko/

久しぶり(半年ぶりくらい?)にOldNadesikoのスクリプトを更新しました。

・・・といっても見た目も使い勝手も特に変わらず。

いままでファイルの更新を手動でやっていたので、の自動化が主です。

サーバー側はPHPで書いてありますが、ローカル側のスクリプトはなでしこで書きました(^ ^

2009-02-20

OSCですね

16:03

OSC東京が本日と明日開催のようですが、所用で明日も行けませんorz

残念です。こりゃ夏に関西に遠征するしかないですか(^ ^;

TinaTina2012/09/13 01:58Yo, good looikn out! Gonna make it work now.

bsdfmthonuebsdfmthonue2012/09/14 00:52ESMWbs <a href="http://ekmyrjjvrhgk.com/">ekmyrjjvrhgk</a>

czwzepykpfwczwzepykpfw2012/09/14 05:26dtS8wj , [url=http://cibetanfyhyd.com/]cibetanfyhyd[/url], [link=http://fcypobyqxvtz.com/]fcypobyqxvtz[/link], http://cndfpfmtvdiz.com/

owduqkcdirowduqkcdir2012/09/16 10:20N3amCl <a href="http://pmjewcqlgans.com/">pmjewcqlgans</a>

2008-10-31

サマータイム対応するには・・・

| 21:41

どう書く?orgネタ。

http://ja.doukaku.org/213/nested/

ただ時引けばいいんじゃねえの?とか思っていたら、サマータイムまで対応しないといけないんですね・・・

システムのタイムゾーンを変更してローカル時刻取得、というBash的な実装も考えましたが・・・なでしこでこれをやるのは外道かも・・・

いいライブラリがないものでしょうか

AhmedAhmed2012/03/27 08:34Good to see real expertise on display. Your cotnribuiotn is most welcome.