2

問題は:

毎月追加されるデータを取得するテーブルがあります。このデータをさまざまなピボット テーブルやレポートに使用しているため、変更できません。ユーザーは、可能であれば (私はそう確信しました)、今年と昨年の医師の 2 つの単一値をリストに表示したいと要求しました。

データは次のようになります: 医師、イン/アウト、日付、番号

John Deaux Out 10/1/11 8
John Deaux Out 11/1/11 3
John Deaux Out 01/1/12 5
John Deaux Out 05/1/12 3
John Deaux Out 09/1/12 1
Billy White In 02/1/12 2
Mike Adams Out 06/1/11 6
Mike Adams Out 10/1/11 9
Mike Adams Out 01/1/12 1
Mike Adams Out 04/1/12 6

2011 年にはジョン・ドーを 1 つ、2012 年には 1 つ持っています。マイク・アダムスも同じです。

TY    2
LY    2

あとは「アウト」を数えればいいだけなので、そこは気をつけないといけませんね。また、過去 12 か月間にこれを構築しなければならない可能性もあり、さらに困難になります。

過去 12 か月間、ジョン ドーは 1 位。

TY    2
LY    1

※TY:今年 - LY:昨年

4

2 に答える 2

0

これを手動で行うには:

  1. 既存のテーブルを編集することはできないため、すべてを新しいテーブルにコピーします。
  2. 新しいテーブルに、Year という列を追加します。Year() 関数を使用して、日付セルから年を取得します。
  3. Count という別の列を作成します。If(A2="Out",1,0)A2 が In/Out 列のセルである場合に使用します。
  4. Doctor、Year、および Count 列を新しいテーブルにコピーします。
  5. Excel 2007 以降では、[データ] リボンに [重複を削除] という便利なツールがあります。それを使用して重複を削除します。これにより、同じ年に 1 人の医師を 2 回カウントすることがなくなります。
  6. Doctor を行、Year を列、sum(count) を値として使用して、ピボット テーブルを作成します。
于 2012-10-24T15:36:32.940 に答える
0

これをチェックすると、2012/2013 年の B 列がチェックされ、列 A の個別の一意の値がカウントされます。

=SUM(IF(FREQUENCY(IF(YEAR(B1:B11)=2013;A1:A11);A1:A11)>0;1)) + CONTROL + SHIFT + ENTER

=SUM(IF(FREQUENCY(IF(YEAR(B1:B11)=2012;A1:A11);A1:A11)>0;1)) + CONTROL + SHIFT + ENTER
于 2012-10-24T14:13:20.873 に答える