【Excel-Fun】伝説の遊びを掘り起こせ!2021年の「数式イケメン選手権」に信用金庫職員が挑んだ結果

これは「Excel Advent Calendar 2025」の7日目です!

あわせて読みたい
20251201~20251225_【Excel-Fun.xls*】アドベントカレンダー2025 【Excel-Fun.xls*】参加者1300人超!Excel好きが集まる「最高の遊び場」と、12月のお祭り「アドベントカレンダー2025」の話 はじめに:Excel・VBA総合コミュニティ「Exc...

はじめに:Excel-Fun前夜、「伝説」はZoomで生まれた

こんにちは!ハンドルネーム「毎日信金」(@excel_pc)です。

普段は信用金庫の職員として、勘定科目と格闘しながら、業務効率化のためにExcelやVBAを組んでいます。

今日は、私の所属するコミュニティ「Excel-Fun.xls*」の話……をする前に、少しだけ時計の針を戻させてください。

時は2021年8月。

まだ「Excel-Fun」というコミュニティが発足する(2024年12月)ずっと前のことです。

当時、現在の発足メンバーを中心としたExcel好きたちが、夜な夜なZoomに集まっては、あーでもないこーでもないとマニアックなExcel談義に花を咲かせていました。

その深夜の密会(?)の中で生まれ、一部で熱狂的な盛り上がりを見せた伝説のイベントがあります。

今のExcel-Fun参加者のほとんどが知らないであろう、その遊びを今日は「掘り起こし記事」として紹介します!

その名も……「数式イケメン選手権」です!

「数式イケメン」とは何か?

皆さんはExcelの数式を書く時、「可読性(読みやすさ)」を重視しますよね?

しかし、この選手権における「イケメン」の定義は真逆です。

  • ルール:数式の可読性は一切無視! 1文字でも短ければ勝ち。
  • 美学:無駄な贅肉を削ぎ落とし、極限までシェイプアップされた数式こそが美しい。

そう、これはExcelを使った「コードゴルフ」。

私の何気ない日常業務の悩みが、当時の猛者たちによって競技化されてしまったのです。

お題:「基準日の年度末日(3月31日)」を求めよ

当時、私が主催者として出したお題はこちらです。ポストはりゅうりゅうさんにしてもらいました!

お題:

セルB1に入力された「基準日」の、直前の「年度末日(3月31日)」を求めよ!

※信用金庫の決算は3月です。

▼ なぜこのお題?

私は仕事柄、常に「この日はどの決算期に該当するか?」を判断する必要があります。

そのため、毎回毎回、手癖のように以下の数式を入力していました。

【私のいつもの数式】(エントリーNo.毎日信金)

Excel

=IF(MONTH(B1)>3,DATE(YEAR(B1),3,31),DATE(YEAR(B1)-1,3,31))

文字数:58文字

長くないですか?

IFを使って、「月が3より大きければ今年の3月末、そうでなければ去年の3月末」…と分岐させる、非常に真面目でお堅い(そして長い)数式です。

これを当時のZoom雑談で「もっと短くならないかな~」とボヤいたところ、「よし、選手権をやろう!」と火がついたのです。

波乱の展開!「日付型」vs「文字列型」論争

大会が始まると、とんでもなく短い数式が次々と考案されました。

しかし、ここで主催者(私)の準備不足による問題が発生します。

「結果が文字列でもOKとするか?」 という問題です。

【幻の優勝候補】(風柳さん @furyutei)

Excel

=YEAR(B1-91)&"/3/31"

文字数:20文字

圧倒的に短いです。私の58文字の半分以下!

しかし、これだと結果は「文字列」になってしまいます。

私の実務では、算出した年度末日を使ってさらに計算を行うため、「シリアル値(日付型)」で返ってこないと困るのです…!

泣く泣く、この20文字のイケメン数式は優勝選考外とさせていただきました(風柳さん、ごめんなさい!)。

そして決まった「真のイケメン」たち(優勝作品)

「日付型で返すこと」という厳しい条件の中、見事に優勝を勝ち取ったのは、21文字を叩き出したこのお二方です!

★優勝(1人目):風柳さん (@furyutei)

Excel

=(YEAR(B1-91)&"/4")-1

文字数:21文字

解説: 文字列として作った「〇〇年4月」から「マイナス1」をすることで、Excelの自動型変換を利用し、強制的に「前月の末日(3月31日)」のシリアル値に変換する荒技です。テクニックが過ぎる!

★優勝(2人目):しゃあ’s Laboさん (@VBA07529852)

Excel

=DATE(YEAR(B1-99),4,)

文字数:21文字

解説: DATE関数の「日」の引数を省略(または0を指定)すると、「前月の末日」になる仕様を利用しています。「4月の0日目=3月31日」。これぞExcelの仕様を知り尽くした大人の余裕。

おわりに:第2回大会の開催を夢見て

私の58文字が、皆さんの手にかかれば21文字まで短縮されました。

実務で可読性を犠牲にする必要はありませんが、「どうすれば短くなるか?」を考える過程で、DATE関数の仕様や、日付計算のロジック(91日や99日を引いて年度を調整する発想)など、多くの学びが得られました。

何より、「あーでもない、こーでもない」と大人たちが本気で遊ぶ時間が最高に楽しかったのです。

あれから数年が経ち、私たちは「Excel-Fun.xls*」という大きなコミュニティになりました。

当時の熱狂を知らない新しいメンバーもたくさん増えています。

だからこそ、今、この文化を復活させたい!

この記事を読んで「面白そう!」と思ったあなた。

ぜひコミュニティ内で、あなたの実務の悩みや「これ短くできる?」というお題を投げかけてみてください。

もしかしたら、そこから「数式イケメン選手権」が自然と始まるかもしれません。

あなたのお題への挑戦、そして新たな「数式イケメン」の登場を心待ちにしています!

の意図する「掘り起こし」と「コミュニティ活性化」の両方が伝わる記事になったかと思います。いかがでしょうか?

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次