Excel公式:如果1列中的文本与2个不同列中的文本匹配,则减去其相邻值

在Sheet1中,我在Col A中列出了±1200个名称,而Cols B-AD是日期 . Sheet2布局与Sheet 1相同,但Sheet2上Col A中的名称列表与Col A Sheet1中的列表相同 . 在Sheet3中,我有列A中Sheet1和Sheet2的总名称列表 .

如果在Sheet2 Col A中的Sheet1 Col A AND 中找到Sheet3 Col A中的名称,则从Sheet2 Col B的值中减去Sheet1 Col B的值 .

有人可以帮我一个公式,我可以插入我的宏?

回答(2)

2 years ago

我在这台机器上没有Excel,但是类似于:

=IFERROR(VLOOKUP(G1,Sheet1.A1:B10,2)-VLOOKUP(G1,Sheet2.A1:B10>,2),"No match")

应该管用

(上面的公式是在LibreOffice中完成的,你需要调整Excel)

2 years ago

上面的公式,根据Excel调整:

=IFERROR(VLOOKUP(G1,Sheet1!A1:B10,2,FALSE)-VLOOKUP(G1,Sheet2!A1:B10,2,FALSE),"No Match!")

复制公式时自动更新列索引号:

当您在列或行中复制或“填充”/“拖动”时,有多种方法可以在公式“自动更新”中使用数字 .

这是两个简单的方法:

  • 使用"Helper Row",例如在此简化示例中:

helper row example

它是's called a 2775669 since it' s "helping"另一个公式,并且由于它不是您实际报告的一部分,您可以在设置之后 hide the row ,公式仍然可以正常运行...("no one will ever know!")

  • 使用 Column() 函数获取相应的索引ID:

column() exanple

如果你想在 Column E (字母表的第5个字母)中返回 1 ,并且该数字应该增加为列字母"increases",则可以使用 COLUMN()-4 (自 5 - 4 = 1 以来) .


如果我理解正确,公式需要从 Column B 开始, Column Index Number 应该是 2 ,所以因为 B 是字母表的第二个字母,我们不需要从 COLUMN() 函数中扣除任何东西,所以你的完整公式将是:

=IFERROR(VLOOKUP(G1,Sheet1!A1:B10,COLUMN(),FALSE)-VLOOKUP(G1,Sheet2!A1:B10,COLUMN(),FALSE),"No Match!")