如何根据其他excel行的大尺寸来安排excel行(子集)的小尺寸?
我有超过500行和超过10列excel表。 第一列是主题ID。 我有主题ID列表大约包含2000年的ID。 电子表格中的500 id是外部2000 id的子集。 我想根据id的外部列表排列电子表格行。
编辑:
我有500行的电子表格“A”
和电子表格“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()),"")
这是一个简单的INDEX
– MATCH
公式,它在SheetA
中SheetA
与SheetA
匹配的值,并在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来改善这一点,并越来越接近你的目标。
- 在第二个IF语句中embedded初始查找
- 使用条件格式将文本变成白色,如果它不应该在那里(包括ID)
我还没有做这两者之一,因为它是不可读的,基本上是写一次代码,你永远不会修改,而无需再次开始。
祝你好运。