根据列表对excel行进行排序

时间:2017-03-01 14:36:00

标签: excel excel-formula excel-2010

您好我有一个excel电子表格(A),如下所示。这个列表继续成千上万:

BAR CODE | SERIAL NO. | DEVICE NO.| CELL NO.| CLIENT DETAILS | STATUS
 xxxxxx  |  xxxxxxx   |  0001     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0002     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0003     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0004     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0005     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0006     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0007     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0008     |   xxxx  |   xxxxxxxxxx   | xxxxxx

我还有一个设备编号列表(B),如下所示:

00001
00003
00007
00008

我想使用设备编号列表(B)在电子表格(A)中搜索这些特定数字,然后返回包含这些数字的整行。

我想要的结果的一个例子是:

BAR CODE | SERIAL NO. | DEVICE NO.| CELL NO.| CLIENT DETAILS | STATUS
 xxxxxx  |  xxxxxxx   |  0001     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0003     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0007     |   xxxx  |   xxxxxxxxxx   | xxxxxx
 xxxxxx  |  xxxxxxx   |  0008     |   xxxx  |   xxxxxxxxxx   | xxxxxx

我尝试过使用“过滤器”标签并对其进行排序&过滤但我无法找到达到预期结果的方法。

任何帮助或建议都会让我非常高兴谢谢。

2 个答案:

答案 0 :(得分:1)

使用此公式:

=INDEX(SrcRng,MATCH(DevNo,DevNoCol,0),MATCH(Title,SrcHdr,0))

其中:

SrcRng: Range是否持有源数据。

DevNo:结果范围内的DEVICE NO.

DevNoCol: DEVICE NO.列范围是否来自源范围。

标题:目标范围(第一行)标题行中的相应单元格。

SrcHdr:源头范围(第一行)的标头。

假设工作表A中的源数据位于' A1:F3000'结果表位于工作表B中的A1:F4&#39 ;;申请的公式是:

=INDEX(A!$A$1:$E$3000,MATCH($C2,A!$C$1:$C$3000,0),MATCH(A$1,A!$A$1:$E$1,0))

在结果表中的列ABDE中复制此公式。

enter image description here

答案 1 :(得分:0)

您可以创建一个新表并使用VLookup对其进行“排序”

原始表

BAR CODE | SERIAL NO. | DEVICE NO.| CELL NO.| CLIENT DETAILS | STATUS xxxxxx | xxxxxxx | 0001 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0002 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0003 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0004 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0005 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0006 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0007 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0008 | xxxx | xxxxxxxxxx | xxxxxx

这将是你的新表(已根据你的需要排序) A | B | C | D | E | F BAR CODE | SERIAL NO. | DEVICE NO.| CELL NO.| CLIENT DETAILS | STATUS xxxxxx | xxxxxxx | 0001 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0003 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0007 | xxxx | xxxxxxxxxx | xxxxxx xxxxxx | xxxxxxx | 0008 | xxxx | xxxxxxxxxx | xxxxxx

所以你会使用=VLOOKUP(DEVICE NO., Entire Table selection, Column you want to match, 0)

所以对于专栏:

A: VLOOKUP(C2, A$1:F$#, 1, 0)

B: VLOOKUP(C2, A$1:F$#, 2, 0)

d: VLOOKUP(C2, A$1:F$#, 4, 0)

E: VLOOKUP(C2, A$1:F$#, 5, 0)

(“#”是原始表的行数,我没有线索)

然后,您只需展开要排序的设备数量的公式。 这绝对可以解决你的问题。虽然,如果有任何问题,请告诉我。