《excel中根据原有数据进行排序,排序后不影响原数据并将排序结果显示在另外的数据列,原数据修改可自动更新后》由会员分享,可在线阅读,更多相关《excel中根据原有数据进行排序,排序后不影响原数据并将排序结果显示在另外的数据列,原数据修改可自动更新后(2页珍藏版)》请在金锄头文库上搜索。
1、excel 中根据原有数据进行排序,排序后不影响原数据并将排序结果显示在另外的数据列第一步:复制元数据列名到新列 例如将 A 列和 B 列的列名分别复制到 e 列 f 列第二步:将原数据从大到小的排序为了便于输入,用“Name”来代替“$a$2:$a$9”这个范围区域,用 “value”来代替“$B$2:$B$9”。在单元格 H2 中输入=INDEX(Name,MATCH(LARGE(value +ROW(value)*M%,ROW()-1) ,Value+ROW(value)*M%,0),最后按 CTRL+SHIFT+ENTER,自动在公式两端加上成为数组公式。 (M 的值越小越精确,测试时
2、我采用的是 0.0001)下面我们将公式的作用详细说明如下。ROW(参数)函数的作用是得到参数所代表的单元格或单元格区域的行号,如果在数组公式中输入这个公式就得到一个行号数组。ROW(Value)记录的是行号的信息, Value+ROW(Value)就是再原来工资的数目上再加上行号,这样是为了防止有相同的工资数目出现,避免因相同的工资数而出现错误的排序。ROW()-1 则是给出一个从 1 到 24 的序数数组,便于从大到小对工资进行排序。LARGE(Value+ROW(Value),ROW()-1) 是在 Value+ROW(Value)的范围内找出一个 ROW()-1 大的数 X(暂时用 X
3、 来代替其返回值) 。MATCH 函数是返回在指定方式下与指定数值匹配的数组中元素的相应位置。MATCH(X,Value+ROW(Value),0)的作用是在 Value 范围内查找 X 并且返回其所在的行号M(暂时用 M 代替返回的行号 M) 。INDEX(Name,M) 是在 Name 范围内返回第 M 个元素的内容。这样就完成了从大到小的排序。第三步:将排序后的省份相对应的值显示在排序后的数值列当中在 f2 对应框内输入=VLOOKUP(e2, $A$2:$b$9, 2, FALSE), 此公式将搜索区域 A2:b10 的 A 列中的值与 e2(江西)对应的值,然后返回该区域同一行中 B 列包含的值(155)。