2014-10-30 2 views
4

Я пытаюсь сделать электронную таблицу для некоторых календарей, которые я продаю. У меня есть схема ценообразования, которая зависит от количества покупок клиентов. Я хочу иметь возможность отслеживать продажи, но я не хочу вводить цену за единицу для каждой продажи. Я установил оператор IF, который, похоже, работает, за исключением последней переменной. Вот скриншот:MS Excel IF заявление путаницы

Excel example

Как вы можете видеть, она работает вплоть до последнего. После того, как число достигнет 11, цена за единицу должна упасть до 6, но это не так! Я знаю, что это должно быть простое исправление, но я мало знаю о IF-заявлении, поэтому я застрял. Пожалуйста помоги!

+0

Я на работе, поэтому я не могу ответить правильно, но простой 'VLOOKUP' с' true' для 4-го аргумента и правильно настроенной таблицы лучше для этого. – Manhattan

+0

Боюсь, что я не знаю в первую очередь о VLOOKUP, но кто-то ответил на мой вопрос «выполнимым» утверждением IF, даже если это не самый дружелюбный код. Любые советы для учебников по VLOOKUP? – ezmopho

+2

Большой +1. 1. Примеры данных - ПРОВЕРКА! 2. Неработающая формула - ПРОВЕРКА! 3. Усилия, предпринятые для самореализации - ПРОВЕРКА! 4. Подробное описание проблемы и желаемого разрешения - ПРОВЕРКА! – Jeeped

ответ

1

Если вы должны использовать IF заявление, попробуйте:

=IF(G10=1,9,IF(G10<=5,8,IF(AND(G10>5, G10<11),7,IF(G10>=11,6,IF(G10="",""))))) 

Проблема с вашим он никогда не будет читать if(G10>=11 части, так как он уже оценил if(G10>5

Если оно не должно быть никакого выхода, когда G10 пустые, используйте следующий вариант:

=IF(ISBLANK(G10),"",IF(G10=1,9,IF(G10<=5,8,IF(AND(G10>5, G10<11),7,IF(G10>=11,6,IF(G10="","")))))) 
+0

Спасибо, это именно то, что мне нужно. Теперь я думаю, что я должен изучить ваш ответ и сравнить его с моим, и на самом деле выяснить, как работает ЕС! – ezmopho

+0

Как указывали другие, есть и другие способы решения этой проблемы. Я также рекомендую читать/изучать VLOOKUPs – tospig

+0

Чтобы узнать VLOOKUP, вы можете начать с ответа @Nanashi и попытаться понять, как это работает. – tospig

3

Если вы установили свой ценовой стол, похожий на мою настройку ниже, вы можете использовать формулу VLOOKUP, чтобы сделать ее более гибкой.

enter image description here

Формула в H10 является:

=VLOOKUP(G10,$B$1:$C$5,2,TRUE) 

Enter и перетащить вниз.

Преимущество этого подхода заключается в том, что вы можете изменить нижнюю границу счета слева, и вы получите корректировку без необходимости обновления формулы. Попробуйте изменить 2 на Count на 3, и вы сразу увидите настройки.

Дополнительным преимуществом является то, что вы можете добавить еще несколько значений в таблицу для дальнейших ценовых скобок.

+1

Еще одно преимущество - лучший аудит формулы. – guitarthrower

0

В формуле «G10> 5» должно быть «G10 < = 10». В противном случае, когда он дойдет до 11, он по-прежнему соответствует критериям G10> 5.

+0

(Я согласен с @Nanashi ... я бы сделал VLOOKUP). –

1

Я согласен с @Nanashi, что установление пороговых значений цены в отдельной таблице и использование vlookup - лучшее решение. Это позволило бы изменить ценовые точки без необходимости редактировать несколько формул.

Но просто получить формулу работает, попробуйте следующее: =if(g10="","",if(g10=1,9,if(g1<=6,8,if(g10<=10,7,6))))

Обратите внимание, что:

  • Вам не нужно (и, вероятно, не хотят) кавычки вокруг числовых значений
  • Важен порядок испытаний. В вашем оригинале тест для g10>=11 никогда не достигается, поскольку он находится в else части функции g10>5.
+0

+1 Я думаю, что легче понять, чем принятая версия (и 1/3 короче), хотя способ построения и использования формулы Я не вижу, чтобы VLOOKUP предлагал большую экономию при обновлении (т. Е. Формула реплицируется только копированием вниз). – pnuts

+2

Просто добавив к обсуждению, VLOOKUP в таблицу, упростит проверку формул (т. Е. Легче застраховать все формулы одинаково) и избегает использования жестко закодированных или «магических» чисел. – guitarthrower

1

Правильно подобранная таблица величин и цен в сочетании с формулой VLOOKUP будет лучшим способом пойти и облегчит будущие изменения цен. Но ради разнообразия, ваша простая структура ценообразования также может быть обработан следующим:

=(6+(G10<11)+(G10<6)+(G10<2))*(G10>0)

Смежные вопросы