見出し画像

【生成AI×GAS】GASで複雑な組み合わせのリストを作る

オレンジピーチのトシです。
 日々の業務をちょっと楽にするような、誰かの役に立つ情報を発信しています。
 今回は、GAS(Google Apps Script)でスプレッドシートを操作して、複雑な組み合わせの一覧表を作る方法を紹介したいと思います。
 エクセルやスプレッドシートの関数で組み合わせが作れないかを、ネット検索してみたのですが、良いものが見つかりませんでした。
 無いのであれば、自分で作ってみようと思い、GASを作成しました。
その内容を紹介していきたいと思います。


完成イメージ:やりたいこと

組み合わせの一覧表

突然ですが、みなさんは「組み合わせの一覧表」を作成することはありませんか?
オレンジピーチでは、様々な組み合わせを全パターン組み合わせた「組み合わせの一覧表」を作ることがあります。
 「組み合わせの一覧表」とは、複数の要素毎に異なる水準を組み合わせて全パターンを一覧表にまとめたものです。

 例えば、簡単なところで、2要素、2水準のパターンを示します。
一つ目の要素として「品目」があり、「みかん」と「もも」の2つの水準があります。また、2つ目の要素として「大きさ」があり、「大玉」と「中玉」の2つの水準があるとします。

2要素、2水準

 この場合に組み合わせの一覧表を作成すると、4種類の組み合わせが発生します。

組み合わせ

問題:要素が増えるにつれ一覧表が巨大になり、作成が困難に。

例のような2要素×2水準の一覧表ぐらいであれば、スプレッドシートやエクセルで手作業に作成すれば良いですが、要素数が多くなったり、水準数が多くなったりすると、手作業ですべての一覧を作成することが難しくなります。

例:5要素、2~4水準

課題:GASを用いて「組み合わせの一覧表」を自動作成する。

GASを用いて一覧表を作成することで、作成の効率化を行うとともに、コピペミスなどによる抜け漏れ・重複を防ぐことが出来ます。

組み合わせ一覧表の一部

GAS作成の方針

課題であるGASを用いての一覧表の作成ですが、どのような内容のスクリプトを作成すればよいか、さらに課題を深堀していきます。
 
実際の業務を分析してみると、「組み合わせ」には2つの種類があることがが分かりました。

①全組み合わせ

まず、それぞれの要素について、全組み合わせのパターンを作成するものです。
例としては、「大きさ」と「品質」の組み合わせがあります。
大きさの要素として、「大玉・中玉・小玉」の3種類がありますが、それぞれの水準に対して、「品質」の「優・良」の水準があるため、組み合わせは6種類になります。

全組み合わせの例
「大きさ」と「品質」の組み合わせ結果

②部分組み合わせ

もう一つの組み合わせのパターンが要素内の水準の一部のみが使われる組み合わせです。
こちらも例を挙げて説明します。

部分組み合わせの例

オレンジピーチでは、複数の産地の、複数の品目を扱っています。
しかし、すべての産地で全品目を扱っている訳ではないので、組み合わせを作る際には、必要な組み合わせのみを作成する必要があります。

産地別の取り扱い品目

産地別の取り扱い品目を参照することで、必要な組み合わせのみを生成したいです。

「産地」と「品目」の組み合わせ結果

③組み合わせ結果同士の統合

GASを作成する際には、「全組み合わせ」と「部分組み合わせ」2つのスクリプトを作ることになりそうです。
その際には、出来上がった組み合わ結果同士を統合して、最終的な一覧表を作成するスクリプトも必要になります。

結果同士の組み合わせ

結果同士の組み合わせは、「部分組み合わせ結果」と「全組み合わせ結果」を掛け合わせて、最終的な組み合わせを一覧表とすることとします。

結果同士の組み合わせ結果

方針として検討した3つのGASを連携して稼働させることで、一連の一覧表作成の操作が実施できる見込みが立ちました。

まとめ

ここまで、「組み合わせの一覧表」作成GASに必要な機能を分解して考えてきました。
次回は、方針を立てたそれぞれのGASの具体的な作成を進めて行きます。
(今回は生成AIの出番がありませんでしたが、次回はたっぷり活用していきますね)

今回は以上です。最後まで読んで頂き、ありがとうございました。
記事の内容が参考になった方は、「スキ」して頂けると励みになります。



この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。