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

如何根据其他excel行的大尺寸排列小尺寸的excel行(子集)?,excel,Excel,我有500行10多列的excel表格。第一列是主题id。 我的主题id列表大约包含2000个id。电子表格中的500个id是外部2000个id的子集。 我想根据ID的外部列表排列电子表格行 编辑: 我有500行的电子表格“A” 和包含5000行的电子表格“B” 我想编辑电子表格“A”,将其行放在其在“B”中出现的相同位置(行号) 换句话说,您可以从上面的图片中看到: “A”“2196978”的第一个主题位于“B”的第2行。我的任务是把'A'的'2196978'放在第2行 “A”“221936

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

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

和包含5000行的电子表格“B”

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

换句话说,您可以从上面的图片中看到:

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

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

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

这就是我想要的结果:

如果不使用宏,我认为您想要实现的目标是不可能的,但是可以实现非常接近的目标。核心问题是函数无法创建行,因此必须以想要结束的数字开始

我建议你以3本书的解决方案结束。书A有500行,书B有2000行,书C也有2000行,但其中很多是空白的

您可以从创建Book C开始,其中包含Book B中ID的完整列表,即所有2000个ID。这可以是复制粘贴,也可以使用Excel的
=
功能分配。在本例中,将其放入“A”列

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

因此,在新书B栏的内容变得复杂之前,添加以下公式:

=IF(ISNA(VLOOKUP(A1,[BookA]Sheet1!$A$1:$A$200,1,FALSE)),“缺少行”,“有行”)

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

检查此功能是否有效,如果它确实将其更改为:

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

现在,我们希望根据我们创建的真/假标志从书A中获取列B、C、D等。因此,新表中的C列类似于:

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

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

你有两个选择来改善这一点并接近你的目标

  • 在第二个IF语句中嵌入初始查找
  • 如果文本不应该存在(包括ID),请使用条件格式将其变为白色
  • 我没有做这两件事,因为它是不可读的,基本上是一次编写的代码,不重新开始就无法修改


    祝您好运。

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

    =IFERROR(索引(SheetA!$A:$J,匹配($A2,SheetA!$A:$A,0),COLUMN(),“”)

    这是一个简单的
    索引
    -
    匹配
    公式,它在
    SheetA
    中查找值,将其与
    SheetB
    匹配,并在
    SheetB
    中打印输出。使用
    SheetB
    单元格
    B2
    中的公式

    说明:

    • SheetB
      中的
      A2
      单元格与
      SheetA
      中的
      A:A
      匹配
    • 如果找到,则从
      SheetA
      的A:J中提取该项的所有列数据
    在B2中粘贴公式后,将其拖动到所有必需的列上。然后在所有行上拖动相同的值,或者双击填充控制柄,以便为所有5000行填充公式并提取数据


    如果你遇到任何困难,请告诉我。希望这有帮助。

    您能详细解释一下吗?我想通过这些步骤来理解你说的谢谢。我想在电子表格中插入空行,以匹配外部工作表中的行顺序。我现在不确定问题/问题。没有宏,就无法向图纸中添加行。你必须从所有的行开始。然后可以引入数据。因此,如果想要在结果中包含5000行,则需要从5000行开始。然后可以引入数据(使用VLOOKUP)来填充匹配的行。我这里的问题是对的吗?是的,你知道。对不起,这里太慢了,但我可以100%得到这个吗。当前有500行(带ID)的工作表“A”。表“B”有5000行(带ID)。你想最终得到一张有5000行的工作表,其中500行高亮显示,还有额外的信息?这正是我想要的。非常感谢。发生了这样的事情:工作表a中的一些空单元格被转移到工作表B,如下所示:“0”如果是数字列,“00-jan-00”如果是日期列,“0:00”如果是时间列?????我怎样才能把它保持为A表中的空单元格?@alaa你确定A表中的单元格是空的吗?如果是这样,它们将不会在表B中更新为0。如果您仍然发现问题,请添加一个If条件,以在返回的数字为0时更新空格。是的,我确信它们是工作表a中的空单元格。我是否可以使用您的公式,例如“粘贴特殊(值)”@alaa您是否可以更新此错误图像,或在链接中共享工作表。让我看看能不能帮上忙