Основной вопрос управления запасами (я полагаю)
Проще говоря:
IF(A<=0,A=20,)
Конечно, это не работает, потому что, когда вы добавляете 20, «А» становится положительным. Excel пересчитывает и 20 удаляется. Excel пересчитывает и 20 добавляется, и т.д ........
Нам нужен способ сделать A =+20 .... затем посмотрим на B, C, D для следующего отрицательного условия.
Практически все бизнес-модели должны справляться с пополнением запасов. ... но как это было достигнуто?
Вот ссылка на листы Google:https://docs.google.com/spreadsheets/d/121LsvpK3GrVHVAgIK7npTX3-N9P5LOZZLZIenqeEj9s/edit?usp=sharing
Ниже просто перечислены выше таблицы в тексте. Будут рассмотрены и другие переменные, но сначала необходимо решить фундаментальную проблему.
Вот основная объясненная проблема с запасами:
У нас есть продажи, баланс запасов и требования к доставке (чтобы совпасть с отсутствием запасов).
- Начальный запас введен.
- Прогнозируемые продажи за неделю вводятся.
- В определенную неделю все акции продаются.
- На этой неделе доставка товара должна произойти.
Вручную с этим очень легко справиться ... мы ищем прогнозируемый отрицательный (или нулевой) складской баланс, и мы нажимаем на клавиатуру и вводим требуемую поставку. Мы прокручиваем уровень запаса - на следующей неделе находим, где нужен запас, и вводится требование доставки.
Хорошо.
Только то, что если предполагаемые продажи изменены, все даты поставки должны измениться.
Это будет означать, опять же, ручное изменение первого отрицательного уровня запаса, и снова поиск следующего отрицательного уровня запаса и т.д.
Тем не мение... Финансовые модели должны работать, просто изменяя прогнозируемые продажи.
Загрузите прогноз продаж, найдите неделю без запаса, добавьте поставку .... затем найдите следующую неделю без запаса.
Единственное вмешательство человека - изменить показатели продаж.
Вот очень простая версия:
A B C D E F G H I
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
1 | 01/03/2017 | Date | 05/03/17 | 12/03/17 | 19/03/17 | 26/03/17 | 02/04/17 | 09/04/17 | 16/04/17 |
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
2 | Stock | Delivery | 1 | | | | | | |
3 | | Consignment | 37 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | | Stock Balance | 22 | 11 | -1 | -1 | -1 | -1 | -1 |
5 | | Sales | 15 | 11 | 12 | | | | |
6 | Order Qty Ref | Item qty | 37 | 37 | 37 | 37 | 37 | 37 | 37 |
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
C2:I2
= А от 1 до 7
C3:I3
= контролирует C2:I2
для номеров от 1 до 7, затем ищет диапазон 'Order Qty Ref' (в строке 6) и отправляет 'item qty', например, 37, т. Е. Если доставка = 1 ..... 37 это груз.
= IF(C2 = 1, $ C $ 6, IF(C2 = 2, $ D $ 6, IF(C2 = 3, $ E $ 6, IF(C2 = 4, $ F $ 6, IF(C2 = 5, $ G $ 6), IF(C2 = 6, $ H $ 6, IF(C2 = 7, $ I $ 6,)))))))
C4
= C3-C5
..... Это просто открывает складской баланс - консигнация-продажа.
D4:I4
= C4+D3-D5
..... Каждая ячейка добавляет предыдущее сальдо к любой новой партии и вычитает любые продажи.
C5:I5
= Число, представляющее количество проданных единиц (в модели этот диапазон номеров продаж выбирается из выпадающего списка).
C6:I6
= отдельный диапазон из 7 потенциальных поставок.
В стартовую позицию модели загружены прогнозы продаж и первая партия (1).
Вручную мы будем искать первый 0 или отрицательный остаток на складе (строка 4) - мы находим первый в столбце E
и добавляем 1 (или число между 1 и 7) в строке 2 (т. Е. В ячейке E2
).
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
| 01/03/2017 | Date | 05/03/17 | 12/03/17 | 19/03/17 | 26/03/17 | 02/04/17 | 09/04/17 | 16/04/17 |
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
| Stock | Delivery | 1 | | → 1 | | | | |
| | Consignment | 37 | 0 | 37 | 0 | 0 | 0 | 0 |
| | Stock Balance | 22 | 11 | 35 | 20 | 9 | -4 | -19 |
| | Sales | 15 | 11 | 13 | 15 | 11 | 13 | 15 |
| Order Qty Ref | Item qty | 37 | 74 | 37 | 37 | 37 | 37 | 37 |
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
Затем мы вручную ищем следующий нулевой или отрицательный складской баланс (находя его в ячейке H4
) и добавляем еще 1 (в ячейке H2
).
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
| 01/03/2017 | Date | 05/03/17 | 12/03/17 | 19/03/17 | 26/03/17 | 02/04/17 | 09/04/17 | 16/04/17 |
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
| Stock | Delivery | 1 | | 1 | | | → 1 | |
| | Consignment | 37 | 0 | 37 | 0 | 0 | 37 | 0 |
| | Stock Balance | 22 | 11 | 35 | 20 | 9 | 33 | 18 |
| | Sales | 15 | 11 | 13 | 15 | 11 | 13 | 15 |
| Order Qty Ref | Item qty | 37 | 37 | 37 | 37 | 37 | 37 | 37 |
+---------------+---------------+----------+----------+----------+----------+----------+----------+----------+
Хорошо, просто - простой расчет: IF (Stock_balance <= 0, Delivery = 1,)
Проблема в том, что в тот момент, когда баланс акций корректируется на позитив .... Excel удаляет 1 ..., оставляя баланс запасов отрицательным - до бесконечности (циклическая ошибка ссылки).
Понятно, что нам нужен Excel для вычисления «слева направо» каждой ячейки, пока не будет выполнено нулевое или отрицательное условие. Введите поставку запаса ... затем перезапустите вычисления из первой ячейки, пока не будет выполнено нулевое или отрицательное условие.
По сути, нам нужен Excel, чтобы имитировать вмешательство человека.
Например,
IF(Stock_balance<=0,Delivery=1[stop_recalculate_until_no_negatives_are_found],)
Это все было сделано раньше, но я не могу найти решение с помощью поиска. Поэтому я считаю, что этот вопрос идеально подходит для суперпользователя.