我想将一个文件中的工作表中的大量数据带到另一个文件中,但前提是要满足某些条件。大约有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中的相应行中。在目标中,如果日期和名称在源和目标中都匹配
任何帮助都可以接受
欢呼
答案 0 :(得分:0)
在单元格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
产生了以下公式:
=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(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。