これをスプレッドシートで表現する方法がわからないので、例を挙げます。バンドのリスト (A) があり、その列にはジャンル (B)、バンド メンバー数 (C)、楽器数 (D) があります。リストにいくつのジャンルが表されているか、プログラムによって各ジャンルに何人のバンド メンバーと楽器が含まれているかを知りたいのです。
本質的には、これを変換する方法が必要です。
+-----------+--------+--------------+-------------+
| Band Name | Genre | Band Members | Instruments |
+-----------+--------+--------------+-------------+
| Awesome | Blue | 2 | 3 |
+-----------+--------+--------------+-------------+
| Excellent | Blue | 5 | 4 |
+-----------+--------+--------------+-------------+
| Good | Red | 6 | 2 |
+-----------+--------+--------------+-------------+
| Great | Green | 3 | 5 |
+-----------+--------+--------------+-------------+
| Fun | Green | 7 | 7 |
+-----------+--------+--------------+-------------+
| Witty | Green | 2 | 3 |
+-----------+--------+--------------+-------------+
| Charming | Purple | 4 | 7 |
+-----------+--------+--------------+-------------+
| Tired | Purple | 8
| 8 |
+-----------+--------+--------------+-------------+
これに:
+--------+--------------+-------------+
| Genre | Band Members | Instruments |
+--------+--------------+-------------+
| Blue | 7 | 7 |
+--------+--------------+-------------+
| Red | 6 | 2 |
+--------+--------------+-------------+
| Green | 12 | 15 |
+--------+--------------+-------------+
| Purple | 12 | 15 |
+--------+--------------+-------------+
ご協力いただけるすべての方に感謝します。
答え1
いくつかのアプローチがありますが、そのうちの 1 つを選択します。
ステップ1 - ユニークなリストを生成する
一意の色のリストを生成します。数式を使用してこれを自動的に行う方法があります。数式を使用して重複を検索して削除します。データが短い場合は、重複を入力するだけで済みます。リストを G2:G5 に配置します。行 1 をヘッダー行として使用します。
ステップ 2 - SUMIF
SUMIF
は次の形式の数式です。
SUMIF(range to check, Check condition, range to sum)
この場合、チェックする範囲はすべての色を含む列です。これを C2:C9 と仮定します。合計する最初の範囲は D2:D9 で、2 番目の範囲は E2:E9 です。これらの仮定に基づいて、次の数式を H2 に配置し、必要に応じて下と右にコピーします。
=SUMIF($C$2:$C$9,$G2,D$2:D$9)
ステップ 2 - 代替列マッチング
あるいは、列ヘッダーが一致するかどうかに基づいて合計することもできます。これは、INDEX と MATCH の組み合わせで実現できます。数式は次のようになります。
=SUMIF($C$2:$C$9,$G2,INDEX($D$2:$E$9,0,MATCH(H$1,$D$1:$E$1,0)))
これにより、列を順序どおりに並べたり、必要な列のみを選択したりできるようになります。
答え2
もう一つの簡単な方法は、ピボットテーブルピボット テーブルでは、「行」を「ジャンル」変数に設定し、「値」を合計したいカテゴリの合計に設定できます。