2015-08-25 56 views
0

我使用的是Excel 2007(可惜,缺少很多2010年及以后的很酷的数据透视表功能)并且有一些数据是我正在尝试的获得给定SiteID的每个最大值出现的次数。使用数据透视表来获取最大值的计数

每个站点都有相同的患者进来,我需要知道有多少患者参加了visit 1visit 2等。这些信息用于确定发送给临床医院的材料的数量审判。我有类似:

SiteID |PatientID |VisitNumber 
1001 |101  |1 
1001 |101  |2 
1001 |102  |1 
1001 |102  |2 
1001 |102  |3 
3004 |110  |1 
3004 |110  |2 
3004 |110  |3 
3004 |123  |1 
3004 |123  |2 
3004 |123  |3

这个样本数据的结果将是:

网站1001,在visit 2 1例和1个在visit 3
网站3004,2例在visit 3

我可以用公式和其他工具很容易地做到这一点,但我的同事希望它以数据透视表的形式出现。如果我这样做我自己,我会用这个数组公式:每行

{=MAX(IF(IF($A$2:$A$2267=A2,$D$2:$D$2267,FALSE)=D2,$F$2:$F$2267,FALSE))} 

,然后我会使用删除重复和COUNTIFS()公式得到的结果。

当然,数据透视表有一个更简单的解决方案?

+1

好了,我不知道多少把你从你所提供的解决方案。 您需要制作2个支点。 第一个将显示每个站点和病人什么是他的最大访问量。 和2nd将汇总数据。在任何情况下,您都需要从中提取值,这是很多工作。 – Balinti

+0

嗨巴林蒂。感谢您的答复。我得到的印象是这可能不是枢轴表友好的任务。也许我会坚持公式化的方法。 –

回答

0

我怀疑我要么不明白这个问题,要么忘记了一些Excel 2007的限制。在Excel 2013我认为你想在右边的最后一个值不是0标题:

SO32213594 example

+0

嗨pnuts,感谢您的答案和清理问题。 (并对延迟响应道歉 - 我有一些私人问题)。不幸的是,这个解决方案不适用于Excel-2007,或者至少我无法实现。在我提问之前的研究中,我注意到在Excel-2007之后进行了一些改进,这会使得这很容易做到,但可悲的是没有。我会继续尝试并更新我的评论,如果我可以得到它的工作。 –

+0

@AlexR。你的意思是上述结果不是你想要的,**或**你无法达到上述结果?应该没有显着的2007/2013差异(这会阻止上述结果)。对你的个人情况感到抱歉。 – pnuts

+0

对不起,出于某种原因,我以为你建议连接两个数据透视表,这实际上是我需要做的。不幸的是,如果没有VBA,Excel 2007似乎没有简单的方法。我已经有了大部分的VBA解决方案。完成后我会在这里发布。我试图避免VBA,所以我不必处理用户的不适。 (无关,谢谢你在这里做什么,每当我去回答或提问时,通常都会收到一些宝贵的意见,你真的是这里社区的支柱。) –