В исходной колонке находятся положительные числовые цены без валюты. Нужно получить цену по политике «ближайшее целое минус 0.01», а пустые, нулевые и неверные значения оставить пустыми.
Проверьте формат и положительность цены до математических действий, выберите Округлить — в табличном редакторе это действие по умолчанию округляет к ближайшему целому с шагом 1, — вычтите 0.01 и очистите итоговое значение, если результат неположительный.
Как сделать в Eofferix
Добавьте или откройте итоговую колонку
price_99и выберите исходную колонкуprice. Эти имена — пример; используйте фактические поля своего профиля.До вычислений добавьте Любое → Убрать пробелы по краям, затем Не регулярное выражение со значением
^\d+(?:[.,]\d+)?$→ Не загружать поле и Меньше или равно со значением0→ Не загружать поле.
Неверные и неположительные входные данные оставляют итоговую цену пустой; корректная цена округляется к ближайшему целому и уменьшается на 0.01. Добавьте Любое → Округлить. В табличном редакторе это действие по умолчанию округляет к ближайшему целому с шагом
1; затем добавьте Любое → Вычесть со значением0.01, а последним правилом — Меньше или равно со значением0→ Не загружать поле.Примените правила и проверьте в предпросмотре строки с дробными частями
.20,.50и.80, а также ноль и неверный текст. Затем выполните небольшую тестовую выгрузку и откройте скачанный файл. Используйте колонку только если оба результата совпадают с таблицей ниже.
price и price_99 — примерные имена. Исходное значение должно быть чистым числом без символа или кода валюты. Этот алгоритм не всегда уменьшает цену: при дробной части .50 и выше итог может стать больше исходного значения.Что получится
| Исходная цена | Результат | Почему |
|---|---|---|
1240.20 | 1239.99 | 1240.20 округляется до 1240, затем вычитается 0.01. |
999.50 | 999.99 | 999.50 округляется до 1000, затем вычитается 0.01. |
1240.80 | 1240.99 | 1240.80 округляется до 1241, затем вычитается 0.01. |
240.00 | 239.99 | 240 округляется до 240, затем вычитается 0.01. |
0 | пусто | Неположительная исходная цена оставляет итоговое значение price_99 пустым до вычислений. |
не цена | пусто | Неверный текст не должен превращаться в -0.01. |
Что проверить перед выгрузкой
- Используется действие Округлить: в табличном редакторе оно округляет к ближайшему целому с шагом
1; отдельные поля режима и шага выбирать не нужно. - Валидация стоит до первого математического правила.
- Ноль, пустое значение и неверный текст остаются пустыми.
- Итоговая политика цены разрешена вашим бизнесом и соответствует правилам целевого канала.
Ограничения метода
- Значения с дробной частью
.50и выше могут увеличиться до ближайшего окончания.99. - Например,
0.49после вычисления стало бы неположительным и поэтому очищается, а0.50даёт0.99. - Если нужна политика «всегда вниз до .99» или «всегда вверх до .99», это другой алгоритм; его нельзя описывать этой цепочкой.