楼主的公式,可能输入有个错误,应该是在D3输入公式
=IF(C3=C2,D2,D2+1)
其中C列为总分,D列为名次。
对于允许排序的表格,这种方法是可行的。
但是许多时候,是不允许排序的,这里涉及到数据的组织结构的问题。
一个好的表格和公式,应该是允许排序的,Excel的主要功能是管理,而不是打印和漂亮的外观。如果兼具这些功能,公式就难免有些麻烦了。
关于不能排序的情况,我大体总结了一下,大概有以下几种情况,可能不全,希望Excel高手们给予补充。
1.表格不规范,有合并的单元格,不允许排序。
2.表格关键字所在列有空白单元格。
3.将明细表与汇总表混为一谈,总分位于某各分数列下面,类似于用分类汇总的形式得到。一排序,总分计算就乱了。
4.表格中的数据是用公式计算得到的,公式中包含有类似楼主所给公式,如C3=C2+1,如果排序的话,公式并没有变,会使数据发生变化。
5.表格中的数据是用公式计算得到的,公式中包含row()这样的函数。
6.公式中包含OFFSET函数获取的单元格区域,这些区域要保持相对位置不变,才能得到正确的结果,而排序将打乱这些单元格的相对位置。
7.公式中包含有类似Indirect("D7")之类的函数,这种函数可以称之为绝对之绝对引用,不会因排序不同,而发生引用的改变。
8.有些表格要求按不同的方式排序,这些排序要同时并存。
9.用match、lookup函数得到的数据,这些函数本本就要求排序,这一条也可以看成是与上一条同类的情况。