试图将许多条件合并到一个公式中

时间:2018-07-25 18:32:35

标签: excel excel-formula nested

所以我尝试建立以下大规模公式:

=IF(AND(S284<>"",R284<>"",A284<>B284),INDEX(RATE, MATCH($A284,BID_NO,0), MATCH($R284,RATES,0)),IF(AND(S284<>"'',R284="",A284<>B284),INDEX(SHIFT_INFO, MATCH($A284,SHIFT_BID,0), MATCH(L$4,SHIFT_HEADER,0)),IF(AND(S284="",R284<>"",INDEX(SHIFT_INFO, MATCH($B284,SHIFT_BID,0), MATCH(L$4,SHIFT_HEADER,0)) <> INDEX(SHIFT_INFO, MATCH($A284,SHIFT_BID,0))),INDEX(RATE, MATCH($A284,BID_NO,0), MATCH($R284,RATES,0)),IF(AND(S284="",R284="",INDEX(SHIFT_INFO, MATCH($B284,SHIFT_BID,0), MATCH(L$4,SHIFT_HEADER,0)) <> INDEX(SHIFT_INFO, MATCH($A284,SHIFT_BID,0))),INDEX(SHIFT_INFO, MATCH($A284,SHIFT_BID,0), MATCH(L$4,SHIFT_HEADER,0))),"")

此公式比以前简单得多,但是添加了一些条件,我们希望查看它是否可以包含它们。它试图在电子表格中包含有关计划更改的几种方案。每个进度表在A列中被分配为一个投标编号,在B列中被分配为一个投标编号。在有人实际更改进度表之前,它们始终相等。

该公式的目的是比较A列中的出价#数据-他们将要使用的新出价和B列中的出价#数据-他们将要使用的旧出价。在这种情况下,该特定数据是支付率。

如果工资率相同,则公式将单元格留空。

如果它们不同,它将给出新出价的薪水费率数据,因此我们知道需要将费率更改为什么。如前所述,我现在要列出的其他列中有一些附加条件:

**请紧记,有2个选项卡提供不同的薪水费率,因为员工属于第1层或第2层费率,具体取决于雇用时间。列“ R”确定从中查找的选项卡。如果“ R”为空,则从“费率”选项卡的一个选项卡中提取信息,我们将其称为第1层。如果“ R”不为空,则从另一个费率的选项卡中将信息称为我们的第2层。

  • 如果列“ A”等于列“ B”,则列“ L”(这是包含大公式的列)留为空白。此条件优先于所有其他条件。

  • 如果列“ A”不等于列“ B”,列“ R”不为空,列“ S”为空,则在列“ A”中查找出价#该出价的支付率,并为该出价的支付率查找“ B”列。如果两个查找的薪资比率匹配,则L列留空。如果它们不匹配,请在A列中查找数字并显示该速率。由于“ R”具有值,因此查找将从方法2费率中获取信息。

  • 如果列“ A”不等于列“ B”,列“ R”不为空,列S不为空,则在A列中查找出价编号的汇率,即使A出价和B出价之间的汇率相同。同样,由于“ R”具有值,因此查找将从第二层费率中产生信息。

  • 如果“ A”列不等于“ B”列,“ R”列为空白,而S列为空白,则针对该出价的费率查找“ A”列中的数字支付并查询该出价的支付率的“ B”列。如果两个查找的薪资比率匹配,则“ L”列留空。如果它们不匹配,请在A列中查找数字并显示该速率。由于“ R”没有值,因此查询将从一级费率中提取。

  • 如果“ A”列不等于“ B”列,“ R”列为空白,而S列不为空白,则即使在A列中查询出价编号的比率,即使如果A出价和B出价之间的汇率相同。同样,由于“ R”没有值,因此查找将从一级费率中提取。

同样,我尝试使用顶部的公式来涵盖所有这些情况。我收到了255个字符限制消息,因此我被卡住了。我意识到这是过去信息过载的方式,因此,当然,如果它更容易并且有人愿意提供帮助,我可以附加电子表格模板,以便您可以实际查看正在使用的内容。如果有帮助,我还可以即时消息传递来回答问题。

0 个答案:

没有答案