如何根据特定条件将特定值从一张纸传递到另一张纸

时间:2019-09-02 06:16:31

标签: excel excel-formula

我有一本带有两张图纸的Excel工作簿。在一张纸上,我有这些值:

Sheet1

在第二张纸中,我具有以下值:

Sheet2

我想要的是在 Sheet2 单元格E中具有 Sheet1 中的 Prognose 值,其中“电机” < module_team 的/ strong>和系列的“ OM470” Sheet2 中基于 Datum_produktion 给出值。

到目前为止,我一直尝试使用的公式是这个,但似乎并没有给我所需的值。

=IF(Tabelle1!B2="Motor";VLOOKUP(A2;Tabelle1!$F:$H;2;FALSE);VLOOKUP(A2;Tabelle1!$F:$H;2;FALSE))

我也尝试了这个公式,但是它给了我#NUM!值。

=INDEX(Tabelle1!$G:$G; AGGREGATE(15; 7; ROW($2:$500)/((Tabelle1!$D$1:$D$500=E$1)*(Tabelle1!$F$1:$F$500=$A2)*(Tabelle1!$B$1:$B$500="Motor")); 1))

我通过检查 Enable Iterative (调整迭代)来调整“计算”部分中的“设置”,但仍然无效。

例如,在OM470工作表下的 Motor (电动机)中的外观。

Motor sheet

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

此行:

=IF(Tabelle1!B2="Motor";VLOOKUP(A2;Tabelle1!$F:$H;2;FALSE);VLOOKUP(A2;Tabelle1!$F:$H;2;FALSE))

检查工作表1中B2 ='Motor'
如果是,它将在Col A(表2)中查找日期,并从与Col A值匹配的行中的Sheet 1中返回值
如果不是,它的作用完全相同。

如果在Sheet1!B2中的值不是“ Motor”的单元格中要为0或为null(我假设为0),请将您的查找公式更改为:

=IF(Tabelle1!B2="Motor";VLOOKUP(A2;Tabelle1!$F:$H;2;FALSE);0)

如果要使用空单元格,请将“ 0”更改为“”。

根据您的评论(当Col B ='Motor'中的值和Col D ='OM473'中的值时,需要该图)将公式更改为:

=IF(AND(Tabelle1!B2="Motor", Tabelle1!D2="OM473"); VLOOKUP(A2; Tabelle1!$F:$H; 2; FALSE); 0)

答案 1 :(得分:0)

您可以使用 SUMPRODUCT 解决您的问题:

=SUMPRODUCT((Nr_module_team=100)*(series="OM470")*(Datum_Produktion=I2)*Prognose)

我在公式中使用了一些命名范围

  • Nr_module_team:Sheet1上的A列;
  • series:Sheet1上的D列;
  • Datum_Produktion:Sheet1上的F列;
  • Prognose:Sheet1上的G列,

您可以使用实际的单元格引用替换这些命名范围。

SUMPRODUCT

干杯:)