这是我的情况,“创意指导”表是我提供给客户的模板。当它返回给我时,他们在我的列之间添加了额外的列。当它充满数据时,清理需要很长时间。
我想创建另一个工作表,它将排列原始列(没有额外的列)。并列出该列下方的所有单元格值。
我的想法是,我需要从“Creative Media Plan”中的“Sheet4”查找列名。因此,无论该列名位于“Creative Media Plan”工作表中的什么位置。它会被找到,然后它会列出“Sheet4”中该列的所有单元格值。我希望这是有意义的。
这是新链接。您可以下载为 Excel 文件:https://docs.google.com/spreadsheets/d/1xTQ0Unewvn-iq-OuP-62jyCkP-xsbZORMA4cQxdLW48/edit?usp=sharing
下面是我的示例工作簿
答案1
使用 Excel O365 非常简单。
让我们做出以下假设,以确保下面的公式没有歧义:
- 客户提供的表格中的列标题位于第 6 行,从 A6 开始。因此,我想要检索的有用数据从每列的第 7 行开始。
- 结果表(Sheet4)中的列标题也位于第 6 行,并且也从 A6 开始。
- 为了便于说明,我们假设有 100 行数据,从第 7 行到第 106 行。
- 为了简单起见,我们还假设客户添加了“几”列,但没有添加“很多”列,所以我们将包含我们的查找,比如说,52 列,从 A 到 AZ。
在 A7 中目的地工作表(Sheet4)中,您需要在 A6 中的列标题名称下方输入此公式:
=FILTER('Creative Direction | Media Plan'!$A7:$AZ106),'Creative Direction | Media Plan'!$A6:$AZ6=A7,"Col Missing")
这句话的意思是“如果‘创意方向 | 媒体计划’中的列标题与本地工作表 A7 中的列标题相匹配,则只需提供整个列即可。如果没有找到任何列,则意味着客户删除了该列,或者他们有意或无意地编辑了名称,因此只需将该列列为缺失即可。”
然后将其复制到 17 列。由于您要复制到右侧,因此,客户提供的表格上的范围必须锁定为 $A 到 $AZ,并且本地 A7 引用必须为不是已锁定。
这就是 O365 动态数组的美妙之处,像 FILTER 这样的功能确实是游戏规则的改变者。