сложные операторы IF с несколькими переменными возможностями - PullRequest
0 голосов
/ 19 февраля 2019

Мне нужна помощь с некоторыми утверждениями IF / OR / AND.

У меня есть ячейка (C8), которая может быть одной из четырнадцати различных переменных.В зависимости от значения для C8 в трех возможных уравнениях будут использоваться ячейки F8, D8 или E8.

        C   D   E   F   G   H
7                           
8                           
9   

C8 может равняться любому из следующих значений

0.5,0.55,0.6,0.7,0.75,1,1.0625,1.125,1.1875,1.25,1.325,1.375,1.4375,1.5     

Необходимые уравнения:

  • ЕСЛИ C8 равен любым значениям от 0,6 до 1,5, тогда нужно будет решить для (100- (F8-108) * 5)) + (G8 + 1))

  • ЕСЛИ С8 равен 0,5, тогда нужно будет решить для (100 - ((D8-56) * 5) + (G8 * 1))

  • Если С8 равно 0,55, тогда нужно будет решить для (100 - ((E8-102) * 5) + (G8 * 1)

В настоящее время у меня есть это уравнение C8, если значения равны 0,61,5

=IF(AND(SUMPRODUCT(--ISNUMBER(SEARCH({0.6,0.65,0.7,0.75,1,1.0625,1.125,1.1875,1.25,1.325,1.375,1.4375,1.5},C8)))>0),100-(((F8-108)*5)+(G8*1)),"")

Я думаю, мне нужен оператор IF / OR для двух дополнительных ситуаций

  • C8 равно 0,5, чтобы решить за 100 - (((D8-56) * 5)+ (G8 * 1))
  • C8 равно 0,55 для решения за 100 - (((E8-102) * 5) + (G8 * 1))

они использовали формулы IF / OR, которые я пробовал.

=IF(OR(SUMPRODUCT(--ISNUMBER(SEARCH({0.6,0.65,0.7,0.75,1,1.0625,1.125,1.1875,1.25,1.325,1.375,1.4375,1.5},C8)))>0), 100-(((F8-108)*5)+(G8*1)), OR(ISNUMBER(SEARCH({0.5,C8)))>0)100-(((D8-56)*5)+(G8*1)), OR(ISNUMBER(SEARCH({0.55,C8))>0)100-(((E8-102*5)+(G8*1))"")

=IF(OR(SUMPRODUCT(--ISNUMBER(SEARCH({0.6,0.65,0.7,0.75,1,1.0625,1.125,1.1875,1.25,1.325,1.375,1.4375,1.5},C8)))>0), 100-(((F8-108)*5)+(G8*1)), (ISNUMBER(SEARCH({0.5,C8)))>0)100-(((D8-56)*5)+(G8*1)), (ISNUMBER(SEARCH({0.55,C8))>0)100-(((E8-102*5)+(G8*1))"")

1 Ответ

0 голосов
/ 19 февраля 2019

Вам нужно искать значения?Если ячейка может равняться только одному из значений, которыми вы поделились, вы можете просто построить свое утверждение на основе этого предположения.

Если это предположение неверно, это не сработает.[Equation3] будет вызываться, когда C8 равно чему-либо НО .50 & .55, поэтому C8 должен иметь ограничения, чтобы это работало.


IF(C8 = .50, [Equation1], IF(C8 = .55, [Equation2], [Equation3]))

Где

[Equation1] = (100-((D8-56)*5)+(G8*1))
[Equation2] = (100-((E8-102)*5)+(G8*1)
[Equation3] = (100-(F8-108)*5))+(G8+1))
...