ミネムラ珈琲ブログ

ITラノベ著者/さすらいのコーヒー屋/WEBサービスディレクターの日記

masawadaで学ぶGoogleスプレッドシート:サムネイル作成

こんにちは。ミネムラコーヒーです。

この記事はmasawadaアドベントカレンダーの10日目の記事でもあり、なおかつスプレッドシート&Excelアドベントカレンダーの10日目の記事でもあります。このように2つを重ねることで今年はどうにか生きています。

さて、本題です。

f:id:minemuracoffee:20201202233517p:plain

始めはmasawadaを例にとってスプレッドシートの関数を解説する記事を書こうと思ったのですが、スプレッドシートでサムネイル画像を作ったところ、これだけでもうぼくとしてはお腹いっぱいという感じになったのでこの画像の生成方法について書きます。

背景作成

f:id:minemuracoffee:20201208163348p:plain

サムネイルを作るにあたって、せっかくなのでこういう背景を作りたいなと思いました。わかりますでしょうか?左右に読んでも上下に読んでもmasawadaがずっと続く背景です。

step1:セルの行列を番号を足す

f:id:minemuracoffee:20201208163246p:plain

まずはじめに、常にどの隣り合うセルを見ても、右か下のセルに1足されるような関係性を作りたいですね。

=ROW(A1)+COLUMN(A1)-2

スプレッドシートではこのような場合にあまり難しいことを考える必要はありません。行番号を取得するROW関数と列番号を取得するCOLUMN関数を利用しましょう。数式を記入するセルの行列番号を足すようにすれば、右か下にいけば1が足される関係を作ることができます。

なお、2を引いておくのはお好みというわけではなく、あとで効いてきます。

8の剰余を取る

f:id:minemuracoffee:20201208164534p:plain

次にmasawadaの文字数である8の剰余に各セルの値を変換していきます。剰余はMOD関数で求めることができます。

=MOD(ROW(A1)+COLUMN(A1)-2,LEN(name))+1

いくつかポイントがあるので解説します。

LEN(name)について

LENは文字列の長さを求める関数ですが、ここではその引数にmasawadaではなく、名前付き範囲で定義したnameを書いています。

f:id:minemuracoffee:20201208165208p:plain

settingsというシートを作り、そこにmasawadaの文字列を記入したセルをnameとして定義しています。この背景の作成ではmasawadaの文字列を複数回参照するので、こうすることで関数の見通しを良くすることができます。

f:id:minemuracoffee:20201208171132g:plain

それだけならメリットが小さいのですが、名前付き範囲を利用することで、このようにmasawadaを別の名前に置き換えて横展開しやすくすることができます。果たして横展開することがあるのかはわかりませんが、経験上作っておくと横展開したくなる日がやってきます。

MODのあとの+1について

=MOD(ROW(A1)+COLUMN(A1)-2,LEN(name))+1

MOD関数に続けて+1をしています。 masawadaの文字数である8の剰余は0から7のいずれかになりますが、0はこのあとのstepで不都合がでます。なので+1することで1から8が埋まるようにしています。

数字を文字列に変換する

f:id:minemuracoffee:20201208170623p:plain

仕上げに1から8の数字をmasawadaに変換していきます。これについてはやり方はいろいろ考えられます。

=MID(name,MOD(ROW(A1)+COLUMN(A1)-2,LEN(name))+1,1)

今回はシンプルに、文字列の中間を抜き出すMID関数を利用しました。masawadaの1から8文字目から1文字を抜き出す、と指定するわけです。

ちなみにstep1の+2はここで効いてきます。

f:id:minemuracoffee:20201208171629g:plain

-2しておかないとA1セルから読んだときにsawadaになってしまい一瞬混乱します。

装飾を施す

f:id:minemuracoffee:20201202233517p:plain

GASの実行ボタン以外ではめったに使わない図形描画機能を使いましょう。ちなみにmasawadaの素材は以下で入手することができます。

masawada.hatenadiary.com

あえてこの装飾でポイントをあげるとすれば、反転させたmasawada画像をスプレッドシート上で作りたい場合の操作でしょう。

セル上に画像を挿入の機能ではなく、図形描画の中で画像を配置します。スプレッドシートパワポではないので、貼った画像を反転させたり順序を変更したりするような操作には強くありません。画像を挿入機能で入れた図形は左右反転や回転のような操作をすることができません。

f:id:minemuracoffee:20201208172832g:plain

その他のことはセンスです。ワードアート感を重視しました。

さて、Googleスプレッドシート表計算だけでなくこのようなクリエイティブな活動にも利用することができます。ちなみに今回のシートは以下で閲覧可能です。

docs.google.com

masawadaアドベントカレンダーの昨日はid:papixさんの「世界全国 masawadaの旅」でした。明日もid:papixさんです。スプレッドシート&Excelアドベントカレンダーは明日は空席なので登録お待ちしております。