从单独的Excel工作表中复制数据

时间:2019-02-24 11:15:09

标签: excel

我想将一个文件中的工作表中的大量数据带到另一个文件中,但前提是要满足某些条件。大约有10,000行,因此手动进行的工作量太多。

因此,源文件称为VDW-December-2017.csv,工作表称为VDW。

公式的一部分试图匹配源和目标A列中的日期-=IF(J2=‘[VDW-December-2017.csv]VDW’!J2

公式的第二部分需要J列中的数据匹配,因此=IF(A2=‘[VDW-December-2017.csv]VDW’!A2

因此,只有当这两个条件都成立时,结果才是原始工作表的P列中的结果。

除非有更好的方法,否则我的目标是使公式位于目标表的P列中,并且代码将这样说:

如果A列中的日期匹配并且J列中的名称匹配,那么答案将是P列中的内容(如果有的话)。如果答案是否定的,那什么也没发生

我设法获取了代码的各个部分,并假定它可能是IF AND公式,但不确定确切要做什么,因为如果答案为假,我不希望发生任何事情。仅当它为true时,才将源中的数据从P复制到目标中的P。

这是我想出的代码,目的是测试是否至少可以得到结果,但是什么也没有,所以不确定我是否走对了。

=IF(AND(A2=‘[VDW-December-2017.csv]VDW’!A2, J2=‘[VDW-December-2017.csv]VDW’!J2), True, False)

我什至尝试仅使用IF公式只是为了查看各节是否正确,但没有结果

=IF(A2=‘[VDW-December-2017.csv]VDW’!A2, True, False)

再次,我不是在这里回答“是”或“是”,所以也许IF也不可行,因为我所需要的只是将行P中任何单元格中的数据复制到列P中的相应行中。在目标中,如果日期和名称在源和目标中都匹配

任何帮助都可以接受

欢呼

1 个答案:

答案 0 :(得分:0)

CSV中的“ 1张纸”

在单元格P2中,使用以下公式:

=IF(A2=INT('VDW-December-2017.csv'!A2),'VDW-December-2017.csv'!P2,"")

编辑

我对您的问题的新理解如下: 您正在尝试将目标表中的 A J 列的值与 A J 源工作表的>,并找到匹配项时,在目标工作表的 P 列中返回源工作表的 P 列(在“找到的”行中)的值。还有一个日期问题,我之前是通过INT上方Just 'Imagine' IF in Conditional Formatting来解决的。

新信息将我引向Hellboy出色的ANSWER到问题Matching two columns in one sheet to two columns in another ,让我为单元格P2产生了以下公式:

ISERROR(Excel 2003)

=IF(ISERROR(MATCH(1,INDEX((INT('VDW-December-2017.csv'!A$2:A$10000)=A2)*('VDW-December-2017.csv'!J$2:J$10000=J2),),0)),"",INDEX('VDW-December-2017.csv'!P$2:P$10000,MATCH(1,INDEX((INT('VDW-December-2017.csv'!A$2:A$10000)=A2)*('VDW-December-2017.csv'!J$2:J$10000=J2),),0)))

IFERROR

=IFERROR(INDEX('VDW-December-2017.csv'!P$2:P$10000,MATCH(1,INDEX((INT('VDW-December-2017.csv'!A$2:A$10000)=A2)*('VDW-December-2017.csv'!J$2:J$10000=J2),),0)),"")

根据需要调整10000。