Ниже приведено подробное решение и готовые формулы для Google Таблиц. Я предполагаю такие колонки по умолчанию (вы можете заменить их на ваши реальные буквы столбцов):
- A: Статус сделки (например, "Открыта" или "Закрыта")
- B: Сумма коммерческого предложения (КП)
- C: Категория товара (например, "книги и пособия" или "игры")
- G: Столбец "Скидка" (куда ставим результат)
Важно: если ваша структура другая, просто замените A, B, C на нужные буквы.
- Первая версия (на одну строку, формулу можно протянуть вниз)
Формула вставляется в G2 и копируется вниз по строкам.
Примечание: используйте разделители и названия функций, соответствующие вашей локализации Google Табиц. Ниже — версия с точками с запятой, характерной для русской локали (замените ; на , если у вас запятая — это зависит от локали).
G2:
=IF(OR(LOWER(A2)="закрыта"; LOWER(A2)="closed"); ""; IF(B2>8000000; B20.06; IF(AND(B2>=4000000; B2<=8000000); IF(LOWER(C2)="книги и пособия"; B20.04; IF(LOWER(C2)="игры"; B2*0.03; "")); "")))
Пояснение логики:
- Если статус в A2 указывает на закрытую сделку ("закрыта" или "closed") — в ячейке G2 пусто ("").
- Если сделка открыта:
- при сумме КП > 8 000 000 — скидка 6% от B2;
- при сумме КП от 4 000 000 до 8 000 000 включительно — скидка зависит от категории:
- если категория в C2 равно "книги и пособия" — 4% от B2;
- если категория в C2 равно "игры" — 3% от B2;
- иначе — пусто (нет ставки, можно заменить на 0 или другую логику).
- Если сумма КП менее 4 000 000 — тоже пусто (нет скидки по условиям).
- Вариант с массивной формулой (автозаполнение всего столбца G)
Если хотите, чтобы столбец заполнялся автоматически без протягивания формулы, можно использовать ARRAYFORMULA. Вставьте в G1 заголовок "Скидка" (или оставьте существующий заголовок в G1) и в G2 вставьте:
G2:
=ARRAYFORMULA(IF(ROW(B2:B)=1; "Скидка"; IF((LOWER(A2:A)="закрыта") + (LOWER(A2:A)="closed") > 0; ""; IF(B2:B>8000000; B2:B0.06; IF((B2:B>=4000000) * (B2:B<=8000000); IF(LOWER(C2:C)="книги и пособия"; B2:B0.04; IF(LOWER(C2:C)="игры"; B2:B*0.03; "")); "")))))
Примечание: в российской локали формула может требовать разделителя ;, а функции могут называться по локали (ЕСЛИ, ИЛИ, И). Если у вас другой язык локализации, адаптируйте названия функций и разделители.
Пояснения к массивному варианту:
- Заголовок в строке G1 задаётся как "Скидка".
- Он вычисляет для каждой строки:
- если статус в A указывает на закрытую сделку — оставляем пусто;
- если сумма КП > 8 млн — 6% от суммы;
- если сумма КП в диапазоне 4–8 млн — 4% для "книги и пособия", 3% для "игры" (иначе пусто).
- Небольшие рекомендации по настройке
- Уточните точно, в каком столбце хранится статус сделки и какая категория товара. Подстановка по умолчанию (A, B, C) работает для типовой структуры.
- По желанию можно добавить округление до двух знаков после запятой: обернуть результаты в ROUND(..., 2).
Пример для части формулы: ROUND(B2*0.06, 2) и т. п.
- Если хотите, чтобы для прочих категорий ставка не применялась (оставалось пустым), используйте приведённые в формулах варианты. Если хотите возвращать ноль вместо пустого — замените "" на 0.
Примеры проверки
- Статус: "Открыта" (или что-то отличное от "закрыта"), КП B2 = 9 000 000, Категория C2 = "книги и пособия" → G2 = 9 000 000 × 0.06 = 540 000.
- Статус: "Открыта", КП B2 = 5 000 000, Категория C2 = "игры" → G2 = 5 000 000 × 0.03 = 150 000.
- Статус: "Закрыта" → G2 пусто.
Если хотите, скажите, какие конкретно буквы столбцов у вас в таблице, и я адаптирую формулу под ваш файл (поясню шаги установки именно под вашу раскладку).