EXECL排序难题~

来源:百度知道 编辑:UC知道 时间:2024/06/09 00:25:26
最近在整合公司资源时发现一个问题,希望高手有时间能指导一下,谢谢.
(例子)EXECL如下:
Sheet1:
A B C D
1 订单号 下单时间 型号 发货数
2 A001 2007-6-12 A01 1000
3 A002 2007-6-12 A02 2000
Sheet2:
A B C D
1 订单号 下单时间 型号 投产数
2 =Sheet1!A1 =Sheet1!B1 =Sheet1!C1 1020
3 =Sheet1!A2 =Sheet1!B2 =Sheet1!C2 2020

现在把Sheet1所有内容按照订单号重新排序,结果,Sheet2里订单号,下单时间,型号都能按照Sheet1排好,但是投产数没有重新排列,导致表格混乱,请问高手有没有办法解决这个问题啊?谢谢
问题补充:
当然,实际表格数据很多,而且由3个人分别填写,不能把所有数据汇合到一张表格上.所以很麻烦.

你的SHEET2表的前3列是用公式引用SHEET1表的数据,其内容是随时会改变的,而第4列是一个常数,无法与前面的数据关联,SHEET1表排序后SHEET2表的D列肯定不会跟着动。
建议用“复制”->“选择性粘贴”/“数值”的方法将其复制到另一工作表(SHEET3)中,然后在SHEET4工作表中前3列用SHEET2工作表相同的公式,第4列D2单元格用公式:
=VLOOKUP(C2,SHEET3!A:D,4,0)
将公式向下复制到相应行。
最后可以将SHEET2表删除,SHEET3表隐藏。
SHEET1表重新排序后,SHEET4表会跟着变动。

使用水平查找函数Vlookup()

VLOOKUP函数

函数名称:VLOOKUP

主要功能:在数据表的首列查找指定的数值,并由此返回数据表当前行中指定列处的数值。

使用格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

参数说明:Lookup_value代表需要查找的数值;Table_array代表需要在其中查找数据的单元格区域;Col_index_num为在table_array区域中待返回的匹配值的列序号(当Col_index_num为2时,返回table_array第2列中的数值,为3时,返回第3列的值……);Range_lookup为一逻辑值,如果为TRUE或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value的最大数值;如果为FALSE,则返回精确匹配值,如果找不到,则返回错误值#N/A。

应用举例:参见图7,我们在D65单元格中输入公式:=VLOOKUP(B65,B2:D63,3,FALSE),确认后,只要在B65单元格中输入一个学生的姓名(如丁48),D65单元格中即刻显示出该学生的语言成绩。

特别提醒:Lookup_value参见必须在Table_array区域的首列中;如果忽略Range_lookup参数,则Table_array的首列