mugaxのなんでも情報局

いろんな分野について発信していきます。

2022-01-01から1年間の記事一覧

サプライズは損!

プレゼントを渡すときに、いわゆるサプライズで渡すのは損である。 脳の報酬系が刺激されることによって人は嬉しい気持ちになるのだが、報酬系は利益を得たときだけでなく、利益の予告によっても刺激を受けるのである。 つまり、事前にプレゼントを渡すと予…

FizzBuzzの作り方 in Python

最近の大学では、文系学部でもプログラミングを学ぶ授業が必修科目になっていたりするようだ。 受験数学が嫌いでなかった人には、そう難しいことではないはずだ。初歩的なコードを書いて、プログラミングとはどういうものかを知るのが目的であることが多いか…

予備校文化in1998

1998年4月某日、俺は日本武道館にいた。代々木ゼミナール、略して代ゼミの入学式に出席していたのだ。 代ゼミで過ごした1年間は人生で一番充実していたといっても過言ではない。もちろん、精神的にきつかったのは事実だが、目標に向かってひたすら努力すると…

挿入ソート(Insertion sort)を理解するキーワード

プログラミングの世界には、いろいろなソートアルゴリズムがある。バブルソート、選択ソート、挿入ソート、マージソート、ヒープソートなどである。 それぞれのコードの書き方の具体例はインターネット上にあふれているので、知りたいときは検索すれば済む。…

PygameZeroを攻略するキーワード

PygameZeroはPythonでゲームを作るためのライブラリである。PygameZeroを使えば、2Dゲームを簡単に作ることができる。 しかし、あくまでも教育用に開発されたものなので、細かい調整など、できないこともある。とはいえ、自分でシューティングゲームやアクシ…

Excel VBAでやった方がいいこと

VBAでコーディングするときにやった方がいいことをまとめておく。これらを実践するだけでコードが格段にわかりやすくなる。 Option Explicit 変数宣言時の型指定 ブロック内でインデント Go To はエラー処理のみ 配列の宣言時に、0 To、1 To など開始インデ…

サッカー男子日本代表とバスケ女子日本代表の選手選考

サッカーW杯の代表選手が発表された。カズを選ぶべきだった。おそらく26番目の選手はピッチに立たない。だからこそ、カズを選ぶべきだった。カズはピッチの外からチームに貢献する仕事を確実にできる選手だからだ。 ドーハの悲劇から28年。カズは今でも現役…

Wリーグの平均身長(チーム・ポジション)(22-23開幕ロスター編)

今シーズン(22-23シーズン)の開幕ロスターのプロフィールを使って、Wリーグの各チームの平均身長、ポジションごとの平均身長を調べた。まずは各チームの平均身長ランキングである。 順位 チーム名 平均身長 1 ENEOS 177.13 2 デンソー 176.08 3 トヨタ自動車…

Wリーグで人気のある背番号(22-23開幕ロスター編)

今シーズン(22-23シーズン)の開幕ロスターが決まったようだ。そこで、Wリーグ公式サイトのデータを使って各背番号ごとの人気ランキングを作った。 背番号 人数 12 11 3 9 8 9 10 8 14 8 15 8 18 8 23 8 24 7 2 6 7 6 11 6 13 6 25 6 6 5 9 5 20 5 0 4 5 4 17…

ビリおじが再受験に成功した5つの要因

ビリおじとは、再受験によって45歳で私立医学部に入学した人物のことである。 詳しく知りたい人は「ビリおじ」で検索すればいい。本人のYouTubeやTwitterなどがすぐに見つかるだろうし、ビリおじは大学受験の世界では有名人なので、ビリおじに関する情報はい…

コートネームのすすめ

女子バスケの世界にはコートネームという文化がある。プレー中に名前を呼びやすくするために付けたニックネームのことである。 例えば、東京五輪日本代表キャプテンの高田真希選手のコートネームは「リツ」。林咲希選手のコートネームは「キキ」である。 コ…

VBAで再帰を使ったバックトラッキング

1から5までの整数を1度ずつ使って5桁の整数を作るとき、何通りの整数が作れるか? 高校数学の基本問題である。一瞬で解ける簡単な問題だ。 しかし、それを全て書き出せと言われてたらどうだろう。かなり面倒な作業になる。こういう作業はコンピュータに任せ…

VBAでオートフィルターを使うと便利だけど、使う必要がないこともある

表から特定の行にだけ処理をしたいことがある。例えば、バスケットボールチームの選手リストがあって、ポジションがPGの選手の行にだけ色を塗りたいといった場合だ。 とりあえず、Wリーグの公式サイトに載っているシャンソンVマジックの選手リストから作成し…

VBAでワークシート関数を使うと遅くなることもある

VBAではワークシート関数を使うことができる。ワークシート関数というのはExcelでセルに入力して使う関数のことである。例えば、「Sum」や「CountIf」や「Vlookup」などである。 VBAでワークシート関数を使うと、コードを短くわかりやすくできる。また、ルー…

VBAでゼロ埋めする方法から考えるプログラミングの魅力

仕事で使っているExcelマクロにゼロ埋めする処理があったのだが、その書き方が酷いものだったので記しておこう。 処理の内容は、数値を、4桁に満たない数値の場合はゼロ埋めして、4桁の文字列にするというものである。 'ゼロ埋めの悪い書き方 Dim disp As St…

不眠を治す簡単な方法

ここ1ヶ月くらい不眠に悩んでいた。ぐっすり眠れず、仕事を休むほどではないが、なんとなく体調が悪い日が多かった。 枕を替えたり、パジャマを替えたり、室温を調整したり、いろいろ試したが改善しなかった。 しかし、ある行為により、ぐっすり眠れるように…

VBAによるワークシートの指定方法は3つある

VBAでワークシートを指定する方法は3つある。 まず1つ目は、シートネームで指定する方法である。例えば、 ThisWorkbook.Worksheets("cial").Range("A1").Value = "aaa" これは"cial"という名前のシートのA1セルに"aaa"と記入するコードになる。 2つ目は、シ…

VBAでは、Option Explicit を必ず書こう

コードの先頭に Option Explicit を必ず書いておこう。これを書いておけば、変数の宣言が強制される。つまり、宣言していない変数は使えなくなる。 なぜ、変数の宣言を強制するべきなのかというと、もし宣言を強制していないと、スペルミスをしたときに新た…

VBAの実行時間を計測する方法

VBAで作ったマクロの実行時間を測る方法は簡単だ。 まず、Timer関数を使って開始時刻を取得する。 次に、同じくTimer関数を使って終了時刻を取得する。 終了時刻から開始時刻を引けば実行時間がわかる。 Dim start As Double Dim finish As Double start = T…

FizzBuzzで学ぶExcel VBA

はじめに FizzBuzzを題材にしてExcel VBAを学んでいきます。 FizzBuzzとは? 英語圏でよく遊ばれている言葉ゲームです。ひとりずつ順番に1から数字を言っていきます。ただし、3の倍数のときは、数字の代わりにFizz、5の倍数のときはBuzz、3の倍数かつ5の倍数…

Excel VBA練習問題 初級編001

問題 アルファベットと数字で構成された文字列がある。文字列に含まれる数字の和を返す関数 Function SumNumFromStr(tgt As String) As Longを作れ。(例)SumNumFromStr("aaa123") → 6SumNumFromStr("a1b3c5") → 9SumNumFromStr("ssss") → 0SumNumFromStr("") …

Excel VBAでフルパスからファイル名を取得する方法

セルに記入されたフルパスからファイル名のみを取得したい場合がある。 よくあるやり方は、InStrRev()とMid()を使う方法だ。 Function GetFileName(tgtPath As String) As String Dim pos As Long pos = InStrRev(tgtPath, "\") GetFileName = Mid(tgtPath, …

VBAでN桁の数字か簡単に判別する方法

商品のコード番号のようなものは桁数が決まっていることがほとんどだ。だから、ユーザーが入力したときに、全て数字であり、かつ、正しい桁数か自動的にチェックする機能はつけるべきだ。 このときにやりがちなのが、Len()とIsNumeric()で判別する方法だ。 …

Excelで一部のセルのみ編集を可能にする方法

変更不可のデータや数式が入っているのでシートを編集禁止にしたいが、入力欄など一部のセルについてだけ編集を可能にしたい場合があるだろう。 よくある誤りが、単純に[校閲]タブの[保護]グループにある[シートの保護]をONにしてしまう方法だ。この場合、全…

JavaScriptによるDOM操作Tips

idを指定してHTMLの要素を選択する getElementById("id名")でidを指定することにより、任意の要素を選択することができる //id="playerName"の要素の内容を取得 let name = document.getElementById("playerName").innerHTML; //id="playerName"の要素に"ICH…

黄金糖(再受験生)の逆転合格作戦2022夏

夏はすぐそこまで来ている。 黄金糖の勉強は順調だろうか?残念ながら、ブログを見る限り、あまり成果は出ていないようだ。 このままでは今期も受からないだろう。応援する者として、それは悲しい。そこで、黄金糖が夏に取り組むべき勉強を考えた。 予備校の…

バスケのプレイタイムをエクセルで処理する

バスケのプレイタイムをエクセルで処理するとき、60分以上のタイムを入力したいことがある。シーズン通算のプレイタイムを扱う場合などである。 このとき、見やすくするために分と秒のみで表現したいのだが、自動的に60分以上が時間に繰り上がってしまうのを…

バスケのボックススコアをエクセルで処理する(2PM-A編)

Wリーグなどのバスケ関連のウェブサイトでは試合のボックススコアが公開されている。それをコピーしてエクセルで処理したい場合もあるだろう。そのとき、ちょっとしたコツが必要なのだ。 まず、そのままエクセルにコピーすると2PM-Aの項目でおかしなことにな…

黄金糖(再受験生)は進路変更した方がいい

黄金糖は今年も国立医学部に落ちてしまった。しかも、おそらく惜敗ではなく、全く届かないといったレベルで落ちてしまったはずだ。 黄金糖は現役続行を決めたようだ。続けるか続けないかは本人が決めることだ。続けるなら応援するが、俺は黄金糖にアドバイス…

黄金糖(再受験生)が国立医学部に入る方法!

黄金糖が国立医学部に入る方法を見つけたので紹介する。 その方法とは、アルゼンチン留学だ。 なんと、アルゼンチンの国立大学は入試がない。高卒なら誰でも入学できるのだ。しかも、アルゼンチン人だけでなく、外国人でも入試なしで誰でも入学できるのだ。…