如何根据其他excel行的大尺寸来安排excel行(子集)的小尺寸?

我有超过500行和超过10列excel表。 第一列是主题ID。 我有主题ID列表大约包含2000年的ID。 电子表格中的500 id是外部2000 id的子集。 我想根据id的外部列表排列电子表格行。

编辑:

我有500行的电子表格“A”

这是500行的电子表格

和电子表格“B”有5000行

在这里输入图像说明

我想编辑电子表格“A”,将它的行放在“B”中出现的相同位置(行号)。

换句话说,从上图可以看出:

'A''2196978'的第一个主题位于'B'的第2行。 我的任务是把'A'的'2196978'放在第2行

'A''2219364'的第二个主题位于'B'的第9行。 我的任务是把“A”的“2219364”放在第9行

如果“A”中不存在“B”的主题,则通过在“A”中插入行来完成。

这个结果是我想要的:

在这里输入图像说明

在包含5000行的电子表格B中必须使用下面的公式,

=IFERROR(INDEX(SheetA!$A:$J,MATCH($A2,SheetA!$A:$A,0),COLUMN()),"")

这是一个简单的INDEXMATCH公式,它在SheetASheetASheetA匹配的值,并在SheetB打印输出。 使用SheetB单元格B2的公式。

说明:

  • SheetB A2单元格与SheetB中的A:A SheetA
  • 如果find,则从SheetA A:J中提取该项目的所有列数据。

在B2中粘贴公式后,将其拖过所有必需的列。 然后在所有行上拖动它们,或者只需双击填充柄,以便为所有5000行填充公式,并且拉出数据。

如果您遇到任何困难,请告诉我。 希望这可以帮助。

不用诉诸macros,我不认为你想要达到什么是可能的,但是有可能得到非常接近的东西。 核心问题是一个函数不能创build行,所以你必须从你想要的数字开始。

我的build议你最终得到一个3书的解决scheme。 书A有500行,书B有2000行,书C也有2000行,但其中许多是空白的。

您可以先从Book B创build一个完整的ID列表,即所有的2000个ID。 这可能是一个复制和粘贴,或者您可以使用Excel =函数分配它们。 对于这个例子,把它们放在列“A”。

接下来,我们希望数据只在书A中出现。我们使用VLOOKUP()进行查找,如果数据丢失,我们会得到一个#N/A错误。

因此,在新书的B栏中事情变得复杂之前,请添加公式:

=IF(ISNA(VLOOKUP(A1,[BookA]Sheet1!$A$1:$A$200,1,FALSE)),"row missing","row there")

这将返回一个文本消息,指示该行是否存在于Book A中,并将用作标志来显示剩余的数据。

检查这个工作,如果它确实改变它:

=IF(ISNA(VLOOKUP(A1,[BookA]Sheet1!$A$1:$A$200,1,FALSE)),FALSE,TRUE)

我们现在想根据我们创build的真/假标志从书A中获得B列,C,D等。 因此,新表格中的C列如下所示:

=IF($B1,[BookA]Sheet1!B1,"")

如果你有正确的地方的$标志应该复制和粘贴很好。

你有两个select来改善这一点,并越来越接近你的目标。

  1. 在第二个IF语句中embedded初始查找
  2. 使用条件格式将文本变成白色,如果它不应该在那里(包括ID)

我还没有做这两者之一,因为它是不可读的,基本上是写一次代码,你永远不会修改,而无需再次开始。

祝你好运。