如何用另一个数据集中的行替换excel行

时间:2015-06-16 22:51:44

标签: excel

我有一个类似以下的excel文件:

enter image description here

我想将Print = 1的行和avgsocre的值替换为我在另一个文件中的行,如下所示: enter image description here

第二个文件中的索引号完全偏离1,因为还有\ N的值来自Print = 0的行,所以我不能使用replace然后vlookup。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

看起来我称之为DesignAuthor的变量可以唯一地标识您的观察结果,因此查找VotesAvgScore可能更有意义基于这些值,而不是尝试使用第二个文件的row-1中的col A值。

在您的主文件中,使用公式(在此示例中为Votes_new)创建列row 2707

{=INDEX(SecondFile!$A$1:$H$11, MATCH(1, (SecondFile!$B$1:$B$11=$A2707)*(SecondFile!$C$1:$C$11=$B2707)*(SecondFile!$G$1:$G$11=1), 0), 4)}

5列的最后一个参数中,使用与4相同的公式代替AvgScore_new

此公式符合三个条件:Design(等于当前行中的值),Author(等于当前行中的值)和Print(等于到1)。它从第二个文件中的第4列获取值,Votes(或第5列,AvgScore)。

请注意,您必须使用Ctrl+Shift+Enter作为数组公式输入。

另请注意,如果没有匹配,则会返回#N/A错误(因为Design - Author组合不存在或者Print不相等至1),因此您可能希望将其括在IFERROR()公式中。

或者,如果确实希望按行引用查找,则可以使用=VLOOKUP(ROW()-1, ...)查找当前行(例如,{{1从第二个文件中减去1(2707),然后找到print:2706的值。你可以在=VLOOKUP(ROW()-1, SecondFile!$A1$H11, 7, FALSE)函数中使用它来查找不同的列如果值是1:例如IF()