Вот детальное решение с пошаговыми объяснениями и готовыми формуами. Я предположил, что в вашей таблице есть такие столбцы:
- B — сумма коммерческого предложения (КП)
- Статус сделки — в вашем листе может быть свой столбец, например E (значения: "Открыта"/"Закрыта")
- Категория товара — в вашем листе может быть свой столбец, например D (значения: "Книги и пособия" или "Игры")
- G — столбец, куда ставим скидку
Важно: если ваши столбцы отличаются, замените в формулах E2 на ваш столбец статуса, D2 на ваш столбец категории, B2 на нужную строку, и копируйте вниз по строкам.
Что делает алгоритм:
- Если статус сделки говорит, что сделка закрыта, вернется пустая строка "".
- Если сделка открыта:
- сумма КП > 8 000 000: скидка 6% от суммы КП.
- сумма КП от 4 000 000 до 8 000 000: скидка 4% для книг и пособий, 3% для игр.
- ниже 4 000 000: скидка отсутствует (пусто).
Готовые формулы
- Google Sheets (международная локализация обычно использует запятые как разделители)
Предположения: Статус в E2, Категория в D2, сумма в B2.
Формула в G2: =IF(E2="Закрыта","",IF(B2>8000000,0.06B2,IF(AND(B2>=4000000,B2<=8000000),IF(D2="Книги и пособия",0.04B2,IF(D2="Игры",0.03*B2,"")),"")))
Прогоните вниз по строкам, чтобы посчитать для всей колонки.
- Microsoft Excel (RU локализация, разделители точка с запятой)
- Предположения такие же: Статус в E2, Категория в D2, сумма в B2.
- Формула в G2: =ЕСЛИ(E2="Закрыта";"";ЕСЛИ(B2>8000000;0,06B2;ЕСЛИ(И(B2>=4000000;B2<=8000000);ЕСЛИ(D2="Книги и пособия";0,04B2;ЕСЛИ(D2="Игры";0,03*B2;"")); "")))
Объяснение по шагам
Шаг 1. Обработка статуса.
- Формула первой части IF/EСЛИ проверяет статус: если статус = "Закрыта" (то есть сделка закрыта), возвращаем пустую строку. Это реализует условие: для закрытых сделок в столбце G ничего not должно быть.
Шаг 2. Обработка открытой сделки.
- Если сделка открыта, переходим к расчету скидки по сумме КП (B2).
Шаг 3. Порог > 8 000 000.
- Если B2 > 8 000 000, скидка 6%: 0.06 * B2.
Шаг 4. Порог 4 000 000 до 8 000 000.
- Если B2 лежит в диапазоне [4 000 000; 8 000 000], тогда:
- если Категория = "Книги и пособия" → скидка 4%: 0.04 * B2
- если Категория = "Игры" → скидка 3%: 0.03 * B2
- если Категория другая, вернуть пустое (можно изменить на желаемое поведение)
- Обратите внимание: диапазон 4–8 миллионов включительно охватывается условием B2>=4000000 и B2<=8000000.
- Если B2 лежит в диапазоне [4 000 000; 8 000 000], тогда:
Шаг 5. Ниже 4 000 000.
- Если сумма КП меньше 4 миллионов, условий выше не срабатывают, и возвращается пустая скидка (""), т.е. без скидки.
Дополнительные заметки
- Пожалуйста, адаптируйте имена столбцов под вашу таблицу. Если у вас другой столбец для статуса (не E) или для категории (не D), просто поменяйте соответствующие буквы в формуле.
- Если в столбцах встречаются пустые значения или нечисловые данные в B, формула вернет пустую строку согласно логике. При необходимости можно усложнить чтобы обрабатывать ошибки (например, проверить ISNUMBER(B2)).
- Если хотите сделать скидку в виде процента от КП, а не суммы, можно изменить выражения на соответствующее деление на 100 (например, 0.06B2 эквивалентно B26%).
Пример целостной проверки
Статус: Открыта
Категория: Книги и пособия
КП: 5 500 000 Ожидаемая скидка: 4% от 5.5 млн = 220 000
Статус: Закрыта Ожидаемая скидка в G: пусто
Если хотите, пришлите структуру вашей таблицы (какие столбцы отвечают за статус и за категорию), и я адаптирую формулу под точные адреса ваших столбцов.