web-dev-qa-db-ja.com

2番目の基準に基づいて1つの基準の最初の発生をカウントします

テーブル内のPersonごとに、特定の年に最初に出現する値をカウントするExcelの数式(または複数の数式)を作成しようとしています。スーパーユーザーに関する関連する質問を検索しましたが、役に立ちませんでした。コンテキストを説明するために、各Personは1年以上の試験に参加しました。各試験年度中に、1つ以上のスコア(表の値1から9)が与えられました。たとえば、人物Aは2011年に2つのスコア(5,3)、2012年に1つのスコア(2)、2013年に2つのスコア(4,1)を持っていました。ただし、私は集計にのみ興味がありますそれぞれ何年参加していて、何年だったかは気にしない。私のデータは次のとおりです。

Person  2011    2012    2013
A       5       
A       3                       
A               2
A                       4
A                       1               
B       7                       
B                       6               
C       1                       
C       9                       
C               4                   
C               2                   
D       5                       

これは私が望む結果です:

Person  Years                       
A       3                       
B       2                       
C       2                       
D       1       

SUM、COUNTIFS、およびVLOOKUPの組み合わせを使用してこの結果を達成するために、非常に多くの複雑で非効率的な方法を試しましたが、特定の年に最初に発生した値ではなく、常にすべての値をカウントしました。どうすればいいのか、Excelの関数を使ってもできるのかわからない。 VBAはわかりませんが、これには必要かもしれません。よろしくお願いします。

3
Dre

ピボットテーブル の仕事のように聞こえます!

テーブルを強調表示し、[挿入]→[ピボットテーブル]に移動して、希望どおりに配置します。私は次のことをします-

enter image description here

3
Raystafarian

Raystafarianのコメントのおかげで、私は自分の質問に詳細な答えを提供することができます。ピボットテーブルを使用して、テーブル範囲全体を選択します。 [ピボットテーブルフィールドリスト]ダイアログで、レポートにPersonを追加し、チェックを外して毎年(つまり、2011、2012、2013)をValuesフィールドにドラッグします。そうすることで、この最初の結果が得られます。

_Row Labels     Count of 2011    Count of 2012   Count of 2013
A              2                1               2
B              1                                1
C              2                2   
D              1        
Grand Total    6                3               3
_

これは、行ごとの値の数をカウントして、各人が参加した年数を示すだけでなく、各人に1年に与えられたスコアの数も教えてくれるので素晴らしいです。

したがって、最後のステップでは、セルE2に数式=COUNT(B2:D2)を追加するだけです。これにより、列A =行ラベル、列B = 2011年のカウント、列C = 2012年のカウント、列D = 2013年のカウント、列E =年で、次の結果が得られます。

_Row Labels     Count of 2011    Count of 2012   Count of 2013     Years
A              2                1               2                 3
B              1                                1                 2
C              2                2                                 2   
D              1                                                  1  
Grand Total    6                3               3                 
_
1
Dre