Excel - 连续评估多个单元格并创建显示从最低到最高的报表或显示

时间:2016-04-15 00:34:31

标签: excel excel-vba vba

在Excel 2003电子表格中,我根据我在每个类别下面的单元格中输入的数据,计算了我已经处理过某些事情的天数和小时数。例如,我输入花在编程,语言,房子,钢琴,吉他等上的时间。每个类别中的顶级单元格将跟踪并显示我每天为每个类别添加的时间所花费的天数和小时数。我想评估这一行,然后列入"报告" (从弹出框或其他标签或其他东西),从最少的时间到最多的时间。这样我就可以一目了然地看到哪个类别落后以及我需要做些什么。可以在Excel中完成吗? VBA?或者我是否必须从头开始用C#或Java编写程序?谢谢!

VH

难以置信......我因为试图理解答案而被责骂,并要求将此问题标记为已回答。我没有看到任何可以做到这一点,也找不到任何能告诉你如何做的事,所以我只是在这里写。我的问题已经回答了......但不管怎样,谢谢......

1 个答案:

答案 0 :(得分:1)

请考虑以下屏幕截图:

enter image description here

图表数据使用列H3:I3及以下的公式构建。公式是

H3 =INDEX($B$3:$F$3,MATCH(SMALL($B$2:$F$2,ROW(A1)),$B$2:$F$2,0))

I3 =INDEX($B$2:$F$2,MATCH(SMALL($B$2:$F$2,ROW(A1)),$B$2:$F$2,0))

向下复制并从数据中构建水平条形图。如果您想更改源数据的顺序,请使用LARGE()代替SMALL()

替代方法

不要将数据记录在矩阵中,而应考虑在平面表中记录日期,类别和花费的时间。然后可以在不使用任何公式的情况下以许多可能的方式轻松地评估该数据。下面的屏幕截图显示了一个数据透视表和图表,其中数据按花费的时间排序。

enter image description here

检查文件后编辑:

enter image description here

交换第2行和第3行。然后,您可以选择上述方法之一。

考虑将学习时间作为时间值输入。目前尚不清楚您的参赛作品2.23是指2小时23分钟,还是2小时加0.23小时,总计2小时13分钟。

如果您使用的是第一种方法,则所有涉及小数的总和都将关闭。例如,当您对其进行求和时,列B的总数为7.73。这意味着7小时73分钟吗?那真的是8小时13分钟,不是吗?或者它意味着7小时43分钟?你可以看到这是多么令人困惑。使用冒号分隔小时和分钟 - 嘿 - 您可以看到人类可读的时间值,而不必将分钟值转换为小数。