3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CODEBASE okinawaAdvent Calendar 2019

Day 4

大量のswitch-case文をExcelで量産する方法

Last updated at Posted at 2019-12-10

#環境・前提

  • Excelが好きだ。オートフィルが好きだ。
  • 脳が疲れていてswitch-case文しか思いつかない。

#使用例
「市町村コードを入力すると市区町村名を返してくれる処理」を大量のswitch-case文で書く場合で説明します。
総務省 - 全国地方公共団体コード

#Excelの書き方(Ruby編)

  1. F2セルに="when """&A2&""" then puts """&C2&""""を記入します。
    1.PNG
  2. F2セルの右下の■(フィルハンドル)をダブルクリックします。
    2.PNG
  3. 選択範囲のセルをコピーします。
    3.PNG
  4. エディターにペーストします。
    3-3.PNG

やりました!!これで一気に1700行あまりを書ききりました!!
あとはendで閉じれば完了です。

#行を分けたいときのExcelの書き方(c言語編)
先程のRuby編では1行にすべての処理を記載しました。~~これでは可読性が下がりますね。~~複数行に分けてswitch-case文を量産する方法にも触れます。

  1. 行を増やします。参考:EXCEL 1行おきに行挿入する方法
  2. H2セルに="case "&A2&":"、H3セルに="printf("""&C2&""");"、H4セルにbreak;と記入します。入力した3つのセルを選択状態にします。
    aa.PNG
  3. 右下の■(フィルハンドル)をダブルクリックします。
    bb.PNG
  4. 選択範囲のセルをコピーし、エディターにペーストします。
    dd.PNG

成し遂げました!!たったの4ステップで5300行あまりのswitch-case文を量産完了です。
(動かして気づいたのですがc言語は0から始まる数値は8進数と認識されるのでエラーになります。)

#さいごに
本当に大量のswitch-case文は必要かどうか胸に手をあてて考えましょう。(僕はこれ以外思いつきませんでした...)

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?