Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Excel中的类别内排序?_Excel_Vba - Fatal编程技术网

如何在Excel中的类别内排序?

如何在Excel中的类别内排序?,excel,vba,Excel,Vba,我有一份按地区列出的客户名单,上面有销售价值。我想创建一个根据销售价值对所有客户进行的总体排名,以及根据区域内的销售价值对客户进行的排名,并使用这两个排名来计算分数。在Excel中是否有这样做的方法 无论是公式还是VBA代码都会对我有帮助 很明显,对于整体排名,您可以使用排名函数,例如,对于A2:A100中的客户、B2:B100中的地区和C2:C100中的销售价值,您可以在D2中使用此公式按销售价值对整体客户排名(最高排名1) =等级(C2,C$2:C$100) 对于区域内的排名,您可以在E2中

我有一份按地区列出的客户名单,上面有销售价值。我想创建一个根据销售价值对所有客户进行的总体排名,以及根据区域内的销售价值对客户进行的排名,并使用这两个排名来计算分数。在Excel中是否有这样做的方法


无论是公式还是VBA代码都会对我有帮助

很明显,对于整体排名,您可以使用排名函数,例如,对于A2:A100中的客户、B2:B100中的地区和C2:C100中的销售价值,您可以在D2中使用此公式按销售价值对整体客户排名(最高排名1)

=等级(C2,C$2:C$100)

对于区域内的排名,您可以在E2中使用此版本


=SUMPRODUCT((B$2:B$100=B2)*(C$2:C$100>C2))+1

@barryhoudini,这太棒了。我在另一个网站上也找到了这个答案,并且正在研究它是如何工作的。非常感谢您的回复。为了防止两个数字共享同一排名,请将
+1
更改为
COUNTIFS
,如下所示:
=SUMPRODUCT((B$2:B$100=B2)*(C$2:C$100>C2))+COUNTIFS(B$2:B$100=B2,C$2:C$100=C2)