著作者:starline/出典:Freepik
目次
- キネマ旬報ベストテン入賞回数ランキング
- Googleスプレッドシートを並べ替える方法
- 監督名の順に並べ替える
- 同じ監督名の多い順に並べる
- 「監督名」「監督の出現回数」だけの表を作る
- 私はランキングが好きではない
キネマ旬報ベストテン入賞回数ランキング
シロッコです。今回はChatGPTの助けをかりて、キネマ旬報ベストテン入賞回数ランキングを作ります。
なんで作ろうかと思ったかというと、Wikipediaの「山田洋次」監督のページで「現役でキネマ旬報ベストテンに最多入賞した監督」という記述を見つけたからです。
山田洋次監督といえば、『男はつらいよ』シリーズなどの人情喜劇で人気のある監督です。しかし、海外での映画祭に入賞したという情報もなく、寂しく感じることがありました。
日本で最も評価の高い監督が、なぜ欧米で受け入れられないのか。それは、山田洋次監督が日本独特の心情を描くからだと思います。グローバル化が進む現代では、逆にそのガラパゴス的心情の価値観が高まるのではないでしょうか。
そこで、「キネマ旬報ベストテン」を分析したいと考えました。「監督別キネマ旬報ベストテン入賞回数ランキング」を作成して、どのような監督が何回ベストテン入賞しているのかを調べるのです。
実は、これまでにもブログで「入賞回数ランキング」を作るために試行錯誤している記事を書きました。「CSVデータの処理」や「文字列の切り分け」、「PostgreSQL インストール」などがそうです。
試行錯誤の記事を書く一方で、手作業で「Googleスプレッドシート」に書き込んでもいました。完成すると、ChatGPTに「入賞回数ランキング」を作成する方法を聞いてやってみると、簡単に作成できてしまうではないですか。
今回の記事は、《「監督別キネマ旬報ベストテン入賞回数ランキング」作成した手順》と《その結果》を紹介します。
みなさんは、入賞回数ランキングから何を読み取るでしょうか。そして、「Googleスプレッドシートの関数が分からなくても、ChatGPTに聞けばなんとかなるんだ」と実感して貰えれば嬉しいです。
それでは、早速ランキング作成の手順をご覧ください。
Googleスプレッドシートを並べ替える方法
「Googleスプレッドシート」は、Googleが提供する表計算ソフトです。有名な「Excel」とほぼど同じでですから、表を作るのできます。
問題は「ベストテン入賞回数ランキング」をつくれるかということです。
とりあえず、並べ替える方法を質問してみました。
- 同じ監督名の塊に並べ替える。
- それを同じ監督名の多い順に並べる。
そうすれば「入賞回数」の多い監督順に並んで、ランキングがわかるはず。
ChatGPTへのプロンプト
【「キネマ旬報ベスト・テン」Googleスプレッドシート】を並べ替える方法はどのような方法がありますか?##制御文
①【「キネマ旬報ベスト・テン」Googleスプレッドシート】を同じ監督名の塊に並べ替える。
②同じ監督名の多い順に並べる。## データの定義
【「キネマ旬報ベスト・テン」Googleスプレッドシート】:
「列データの種類」:
[開催回(数字)]、[順位(数字)]、[作品名(文字列)]、[監督名(文字列)]
以下の手順で、並べ替えることができます
以下の手順で、Googleスプレッドシートのデータを並べ替えることができます。
【「キネマ旬報ベスト・テン」Googleスプレッドシート】に関するデータの定義に従って、以下のような列データを想定します。
開催回 順位 作品名 監督名 数字 数字 文字列 文字列 ①【「キネマ旬報ベスト・テン」Googleスプレッドシート】を同じ監督名の塊に並べ替える。
- Googleスプレッドシートを開く。
- 並べ替えたい範囲を選択する。ヘッダー行も選択すること。
- メニューバーから「データ」をクリックし、「範囲の並べ替え…」を選択。
- 並べ替えウィンドウが開いたら、「データにヘッダーがある」を選択。
- 並べ替え基準となる列を「監督名」とし、並べ替えの順序を「A→Z」に設定。
- 「並べ替え」ボタンをクリック。
「監督名」はオムニバス映画*1があって、最大監督が4人の場合がありますが、それは2本程度。とりあえず一人としてすすめます。
監督名の順に並べ替える
それではやってみましょう。
以下が「Googleスプレッドシート」です。この名前長過ぎるので今後「Googleシート」、「Googleシート」と呼びます。
オリジナルはファイル名に(org)をつけて保存し、コピーの方をいじり倒します。
・「D」のところをクリックして選択
・「右クリック」→「右に1列挿入」
・空白の列名をダブルウリックして「監督の出現回数」に変更。
指示された手順を眺めながら作業をしたいので、手順をメモ帳などに貼り付けいつでも見れようにしてきましょう。(デュアルモニタなら言うことなし)
- 並べ替えたい範囲を選択する。ヘッダー行も選択すること。
左上の「開催回」を選択したまま「スクロールバー」で行末まで行き、「Shift + 監督名をクリック。 - メニューバーから「データ」をクリックし、「範囲の並べ替え…」を選択。
- 並べ替えウィンドウが開いたら、「データにヘッダーがある」を選択。
- 並べ替え基準となる列を「監督名」とし、並べ替えの順序を「A→Z」に設定。
- 「並べ替え」ボタンをクリック。
監督名順に並べ替えるとこんな感じになります。
入賞回数の多い監督が登場してきましたね。
同じ監督名の多い順に並べる
以下にChatGPTの指示と私の実行結果を示します。
②同じ監督名の多い順に並べる。
- 監督名の隣の列(例:E列)に、「監督の出現回数」という新しいヘッダーを作成。
- E2セルに以下の式を入力し、監督名が出現する回数をカウントします。「=COUNTIF(D:D, D2)」
- E2セルの式をコピーし、E列のすべての行に貼り付ける。
「=COUNTIF(D:D, D2)」は行が変わっても「D2」のままですか?
申し訳ありません。説明が不十分でした。=COUNTIF(D:D, D2) を入力した後、E列のすべての行に適用するには、次の手順に従ってください。
・E2セルに=COUNTIF(D:D, D2)を入力します。
・E2セルを選択し、セルの右下にある小さな青い四角形(フィルハンドル)をクリックし、ドラッグしてE列のすべての行に対して式をコピーします。
この操作により、=COUNTIF(D:D, D2) は、E列の各行に適用されます。つまり、E3セルには=COUNTIF(D:D, D3)、E4セルには=COUNTIF(D:D, D4) と自動的に更新されます。これにより、各行の監督名が何回出現するかがカウントされます。
一番下まで引っ張るとこんな感じになりました。 - 並べ替えたい範囲(開催回、順位、作品名、監督名、監督の出現回数)を選択。ヘッダー行も選択すること。
左上の「開催回」を選択したまま「スクロールバー」で行末まで行き、「Shift + 監督の出現回数(数字が表示されている)をクリック」ですね。 - メニューバーから「データ」をクリックし、「範囲の並べ替え…」を選択。
- 並べ替えウィンドウが開いたら、「データにヘッダーがある」を選択。
- 最初の並べ替え基準として、「監督の出現回数」を選び、並べ替えの順序を「Z→A」に設定。次の並べ替え基準として、「監督名」を選並べ替えウィンドウで、「並べ替え基準を追加」ボタンをクリックし、新しい並べ替え基準を追加します。
- この新しい基準として、「監督名」を選び、並べ替えの順序を「A→Z」に設定します。
- 「並べ替え」ボタンをクリックします。
これにより、「監督の出現回数」が多い順に並び替えられ、同じ出現回数の場合は監督名のアルファベット順に並び替えられます。
山田洋次監督が27回入賞しているのがわかります。
これを見ればどんな監督が何回ベストテンに入賞しているかわかります。
「監督名」「監督の出現回数」だけの表を作る
もう少し、見やすい表があればいいですよね。
出来上がった「監督別キネマ旬報ベストテン入賞回数ランキング」から「監督名」「監督の出現回数」を監督名が重複しないようにひとつずつ抽出して表を作る方法はありますか?
Googleスプレッドシートで、「監督別キネマ旬報ベストテン入賞回数ランキング」から重複しないように「監督名」と「監督の出現回数」を抽出し、新しい表を作成する方法は以下の通りです。ここでは、UNIQUE関数とVLOOKUP関数を使用します。
- 新しいシートまたは新しい範囲を選択して、重複しない監督名のリストを作成します。A1セルに以下の関数を入力します(監督名が入っている列がD列の場合)。
=UNIQUE(D:D)
監督名1のセルには「=UNIQUE(D:D)」が入っています。
「D列」の全てのデータから重複を除いたデータが「K列」に表示される。 - B列に監督の出現回数を表示するため、B1セルに以下の関数を入力します。VLOOKUP関数を使って、監督名に対応する出現回数を元のランキングシートから検索して表示します。
=IF(A1="", "", VLOOKUP(A1, 元のシートの範囲, 出現回数が入っている列番号, FALSE))
例えば、元のランキングシートが「Sheet1」で、監督名がD列にあり、出現回数がE列にある場合、関数は以下のようになります。
=IF(A1="", "", VLOOKUP(A1, Sheet1!D:E, 2, FALSE)) - B1セルを選択し、右下の青い四角(フィルハンドル)をドラッグして、関数を他の行にコピーします。必要なだけ行をコピーしてください。
これにより、重複しない監督名とその出現回数が新しい表に表示されます。
VLOOKUPの使い方を解説して
VLOOKUPは、Googleスプレッドシートの検索関数で、指定された検索キーに基づいて、範囲内の他の列から値を検索および取得するのに使用されます。VLOOKUPの使い方と構文は以下の通りです。
構文:
VLOOKUP(search_key, range, index, [is_sorted])
引数:
- search_key:検索する値。これは、範囲の最初の列で検索されます。
- range:検索するデータ範囲。最初の列には検索キーが含まれている必要があります。
- index:検索結果として取得する値が含まれる、範囲内の列番号。最初の列は1と数えます。
- is_sorted:オプション。範囲の最初の列がソートされているかどうかを指定します。TRUE(または1)に設定すると、最初の列が昇順にソートされていることを前提として検索が実行され、該当する最も近い値が返されます。FALSE(または0)に設定すると、完全一致が返されます。デフォルトはTRUEですが、通常はFALSEを使用することが推奨されます。
例:
以下の例では、A2セルにある検索キーを使用して、A1:C5の範囲内のデータで検索し、3番目の列から値を取得します。完全一致検索が行われます。
=VLOOKUP(A2, A1:C5, 3, FALSE)
注意点:
- VLOOKUPは、範囲の最初の列でのみ検索を実行し、最初に見つかった値を返します。
- VLOOKUPは、左から右への検索しか行えません。右から左への検索が必要な場合は、INDEXおよびMATCH関数を組み合わせて使用します。
- is_sortedがTRUEの場合、VLOOKUPは最も近い値を返しますが、常に正確な一致を保証するわけではありません。そのため、完全一致を求める場合は、is_sortedをFALSEに設定してください。
同じシート内なので次の関数を「L1」入れた。
- =IF(A1="", "", VLOOKUP(K1, D:E, 2, FALSE))
それをズルズルと下に引っ張り、「L252」まで持っていく。
- =IF(A252="", "", VLOOKUP(K252, D:E, 2, FALSE))
これで「監督別キネマ旬報ベストテン入賞回数ランキング」が完成しました。
ランキング表の補正
15回以上入賞した監督のランキングです。
複数の映画監督が記載されている映画
- 第5回 8位 「結婚二重奏」 村田実 田坂具隆 阿部豊
- 第11回 6位 「北進日本」 (指揮)武富海軍大佐 柴田海軍中佐
- 第21回 8位 「四つの恋の物語 」 豊田四郎
成瀬巳喜男 山本嘉次郎 衣笠貞之助
第5回は「村田実監督」だけがカウントされ、 田坂具隆監督 阿部豊監督が除外されています。
第11回の 柴田海軍中佐が除外されています。
第21回の 成瀬巳喜男 山本嘉次郎 衣笠貞之助 が除外されている。
私はランキングが好きではない
「ベストテン入賞回数ランキング」を作っておいて言うのもなんですが、私には好きな映画はありますが、どっちが上で、どっちが下という感覚はありません。
面白さが分からなければ、「私がついていけないもかも」ということもあります。
しかし、山田洋次監督、木下恵介監督が世界にあまり評価されないことに興味があります。
私がこのことに興味をもち始めたのは以下のベストテンです。
第28回(1954年度)
日本映画ベスト・テン
- 二十四の瞳(木下惠介監督)
- 女の園(木下惠介監督)
- 七人の侍(黒澤明監督)
- 黒い潮(山村聰監督)
- 近松物語(溝口健二監督)
- 山の音(成瀬巳喜男監督)
- 晩菊(成瀬巳喜男監督)
- 勲章(渋谷実監督)
- 山椒大夫(溝口健二監督)
- 大阪の宿(五所平之助監督)
(Wikipedia「キネマ旬報:第28回(1954年度)」)
天下の「七人の侍」、世界に名高い溝口健二監督、成瀬巳喜男監督を抑えて、木下惠介監督が 1位、2位を独占しているのです。
ガラパゴス的な 山田洋次監督、木下恵介監督の大事にしているものな何なのでしょう。
それが分かれば「日本人とは何であるのか」、「私はどこに立っているのか」が分かるのではないか、と思っています。
*1:オムニバス(英: Omnibus)とは、複数の作者による独立した作品を集め、一つにまとめた映画。