Содержание
- 1 Формулы
- 1.1 Формула для присваивания значения
- 1.2 Формула для привязки к названию столбца
- 1.3 Формулы для преобразования регистра
- 1.4 Формула для условной загрузки полей
- 1.5 Формула для добавления префикса артикулу
- 1.6 Формула для извлечения части строки в ячейке
- 1.7 Формула для замены одного значения другим
- 1.8 Формула для сложения значений двух столбцов
- 1.9 Формула для умножения значений колонки
- 1.10 Формулы для округления цен
- 1.11 Формулы с использованием регулярных выражений
Формулы
Формула для присваивания значения
Для присваивания значения любому полю используется следующая формула:
= Значение
Например, если вы хотите присвоить значение "Example" полю "Производитель", формула будет выглядеть следующим образом:
= "Example"
Формула для привязки к названию столбца
В ПрайсМатрикс возможна настройка загрузки прайсов Excel или CSV с привязкой к названиям столбцов. Актуально, когда поставщик любит добавить какой-нибудь столбец в прайс и порядок последующих столбцов нарушается.
Формула для привязки к названию столбца:
\[ = \text{Loader.Column("НАЗВАНИЕ_КОЛОНКИ")} \]
Пример =Loader.Column("Артикул производителя")
При использовании формулы для привязки к названию столбца важно указывать с какой строки грузить данные. Это делается для того чтобы Прайсматркис мог понять с какой строки в файле нужно считывать названия колонок.
Формулы для преобразования регистра
Для выполнения преобразования регистра существуют следующие формулы:
- Преобразование в нижний регистр: использовать функцию
\[ \displaystyle{\displaylines{=A.ToLower()}} \]
которая принимает в качестве аргумента строку и возвращает ее эквивалент в нижнем регистре. Например, ToLower("Текст") вернет "текст".
Пример использования:Результат загрузки: - Преобразование в верхний регистр: использовать функцию
\[ \displaystyle{\displaylines{=A.ToUpper()}} \]
, которая принимает в качестве аргумента строку и возвращает ее эквивалент в верхнем регистре. Например, ToUpper("текст") вернет "ТЕКСТ".
Пример использования:
Результат загрузки:
Формула для условной загрузки полей
Для условной загрузки полей в Прайсматрикс используется функция - IIF.
IIF – логическая функция, которая возвращает одно из двух значений в зависимости от результата логического выражения.
Общая форма функции выглядит следующим образом:
\[ =\text{IIF}(\text{УСЛОВИЕ}, \text{ЗНАЧЕНИЕ_1}, \text{ЗНАЧЕНИЕ_2}) \]
Оператор "равно"(=)
формула для оператора "равно":
\[ =\text{IIF}\left(\text{DOUBLE}(A) = \text{DOUBLE}(B), A, B\right) \]
К примеру, необходимо рассчитать "Старую цену" в зависимости от того равна ли цена закупки(столбец С) значениям столбца с РРЦ(столбец D),
если да, то старая цена будет на 25% больше цены,
если нет, то на 30% больше цены.
В формулах нельзя использовать проценты, поэтому используем вместо них коэффициенты, 25% - это 1,25; 30% - 1,30
В строку "Старая цена" записываем формулу:
Результат загрузки:
Оператор "не равно"(<>)
\[ =\text{IIF}(\text{DOUBLE}(A) <> \text{DOUBLE}(B), A, B) \]
К примеру, в файле есть три столбца с ценой(A,B,C), формулой нужно создать следующее условие:
если A - не пусто, то грузим A
если B не пусто, то грузим B
если первое и второе условие не выполняется, грузим G.
В итоге получаем следующую формулу:
=IIF(A<>"",A,IIF(B<>"",B,C))
Операторы "больше, меньше"(>, <)
Для сравнения значений применяется формула
\[ =\text{IIF}\left(\text{DOUBLE}(A) < \text{DOUBLE}(B), A, B\right) \]
К примеру, в файле есть столбы цена(C) и РРЦ(D), в некоторых строках значение цены меньше РРЦ:
Условие загрузки цены — если цена меньше РРЦ, то вместо цены ставим значение РРЦ, если цена больше РРЦ, оставляем значение цены. В расширенных настройка прописываем формулу в строке Цена:
Результат загрузки:
Формула для добавления префикса артикулу
Если необходимо прописать префикс артикулу, это можно сделать в расширенных настройках во время загрузки файла. Необходимо прописать в строке формулу:
\[ ="ПРЕФИКС-"+СТОЛБЕЦ \]
Формула для извлечения части строки в ячейке
1 Пример — есть столбец со значениями, но для загрузки необходима только вторая часть строки после точки с запятой:
Для извлечения части строки необходимо в расширенных настройках в нужной строке прописать формулу:
\[ \displaystyle{\displaylines{=F.Substring(F.IndexOf(";") + 1).Trim()\text{}}} \]
F — переменная со значением столбца.
F.IndexOf(";") — находит индекс символа - ";"
+1 - нужен потому что нам нужна часть строки после ";"
Substring — возвращает строку после символа ";"
Trim — удаляет пробелы слева и справа если есть.
Результат загрузки:
2 Пример - в этом примере необходимо извлечь начало строки до *
Для извлечения строки прописываем формулу в расширенных настройках:
\[ \displaystyle{\displaylines{=F.Substring(0, F.IndexOf("*")).Trim()}} \]
Формула для замены одного значения другим
Для замены значения или фразы можно применить формулу:
\[ =B.\text{Replace}(\text{"старый_текст"}, \text{"новый_текст"}) \]
К примеру, в файле название товара выглядит как "Гетры (арт 003), цвет синий", а загрузить нужно "Гетры, цвет синий":
В расширенных настройках загрузки в строке "Название" прописываем формулу
\[ =B.\text{Replace}(\text{"Гетры (арт 003)"}, \text{"Гетры"}) \]
Результат загрузки:
Формула для сложения значений двух столбцов
Формула для сложения числовых значений
Если нужно объединить числовые значения двух столбцов, можно воспользоваться формулой
\[ =\text{DOUBLE}(A) + \text{DOUBLE}(B) \]
На пример, есть файл с двумя столбцами остатков, в прайс нужно загрузить сумму этих двух столбцов:
В расширенных настройках прописываем формулу в строке наличие: Результат загрузки:
Формула для сложения текстовых значений
Для объединения текстовых значений пользуемся формулой:
\[ \displaystyle{\displaylines{= A+B}} \]
К примеру, нужно, что бы в прайсе в названии товара был указан производитель через разделитель ";", для этого можно объединить столбцы "Название" и "Производитель":
В расширенных настройках в строке "Название" прописываем формулу:
Результат загрузки:
Формула для умножения значений колонки
\[ =\text{DOUBLE(A) * N} \]
где А - это колонка со значениями, которые нужно изменить
N - число на которое нужно умножить значение колонки А
К примеру, нужно изменить значения в колонке Цена, уменьшить цену на 3 процента. Для этого в строке Цена прописываем формулу =DOUBLE(A)*0.97
Формулы для округления цен
Округление к ближайшему целому
\[ =\text{ROUND}(\text{DOUBLE}(A), 1) \]
где А - колонка с ценой или РРЦ
1 - степень округления цены
(0 - округление до ближайшего целого числа, 1 и больше - количество знаков после запятой)
Round - это метод, который позволяет округлять дробные числа до заданного количества знаков после запятой или до ближайшего целого числа. Например, =ROUND(DOUBLE(А), 0) округлит число до целого числа, а =ROUND(DOUBLE(А), 2) округлит число с двумя знаками после запятой.
Пример использования:
Результат загрузки:
Округление к меньшему
\[ =\text{Int}\left(\text{Double}(A)\right) \]
где А - колонка с ценой или РРЦ
Оператор Int используется для приведения значения к целочисленному типу. Он просто отбрасывает дробную часть числа и возвращает целое число.
Формулы с использованием регулярных выражений
Регулярные выражения – это мощный инструмент для работы с текстом, который позволяет осуществлять поиск, замену и обработку текстовой информации.
Подробнее про применение формул с регулярными выражениями в этой инструкции - https://price-matrix.ru/all-instructions/regulyarnye-vyrazheniya-v-prajsmatriks