在1至1200学生中,B列中有排列无序的1至1200的数字,利用函数怎样把前10%的数字在M列中换成

要在M列中替换前10%的数字,您可以使用Excel中的IF和LARGE函数。假设B列是数字列,以下是一种可能的解决方案:

1. 首先,您需要将B列数据按照从大到小的顺序排序。在单元格B2(假设这是数据的开始位置)上点击右键,选择“排序”,然后选择“降序”。
2. 在M列的单元格中输入公式:=IF(LARGE($B$2:$B$1200,ROW(INDIRECT("1:"&LARGE(COUNTIF($B$2:$B$1200,"<"&$B$2:$B$1200),1)))-1)<$B$2,LARGE($B$2:$B$1200,ROW(INDIRECT("1:"&LARGE(COUNTIF($B$2:$B$1200,"<"&$B$2:$B$1200),1)))),"")

这个公式的作用是查找B列中数值最大的前1%的数字。这个公式的原理如下:

* `LARGE($B$2:$B$1200,ROW(INDIRECT("1:"&LARGE(COUNTIF($B$2:$B$1200,"<"&$B$2:$B$1200),1)))-1)` 这部分是找出B列中最大的数字。`ROW(INDIRECT("1:"&LARGE(COUNTIF($B$2:$B$1200,"<"&$B$2:$B$1200),1)))-1` 是行号减一,这是因为Excel中ROW函数返回的是从1开始的行号,而我们需要的是从最后一行开始往前数。
* `IF(LARGE($B$2:$B$1200,ROW(INDIRECT("1:"&LARGE(COUNTIF($B$2:$B$1200,"<"&$B$2:$B$1200),1)))-1)<$B$2,...` 这个部分是一个IF条件判断,如果找出的最大数字小于当前单元格的值,那么就返回这个最大数字;否则返回空值。

请注意,这个公式只适用于那些在Excel中可以正常显示的最大数字(例如,大于或等于99999)。如果您的数据中有超过这个范围的数字,那么您可能需要使用其他方法来找出前1%的数字。

另外,这个公式可能需要一些时间来执行,取决于你的数据集的大小。它通常适用于几百到几千的学生人数,但如果您有超过几千个学生,可能需要使用其他更强大的排序或搜索方法。

推荐

车牌查询
桂ICP备20004708号-3