Перейти к содержимому

Power Query: Условие if - вложенные условия и множественные условия

Author: Xiaoyang Last Modified: 2025-06-05

В Excel Power Query оператор IF является одной из самых популярных функций для проверки условия и возврата определенного значения в зависимости от того, является результат ИСТИНА или ЛОЖЬ. Существуют некоторые различия между этим оператором if и функцией ЕСЛИ (IF) в Excel. В этом руководстве я представлю синтаксис этого оператора if и несколько простых и сложных примеров.

Базовый синтаксис оператора if в Power Query

Использование условного столбца в операторе if Power Query

Оператор if в Power Query через написание кода M


Базовый синтаксис оператора if в Power Query

В Power Query синтаксис следующий:

= if logical_test then value_if_true else value_if_false
  • logical_test: Условие, которое вы хотите проверить.
  • value_if_true: Значение, которое будет возвращено, если результат ИСТИНА.
  • value_if_false: Значение, которое будет возвращено, если результат ЛОЖЬ.
Примечание: Оператор if в Power Query чувствителен к регистру, слова if, then и else должны быть в нижнем регистре.

В Excel Power Query существует два способа создания такого типа условной логики:

  • Использование функции Условный столбец для некоторых базовых сценариев;
  • Написание кода M для более продвинутых сценариев.

В следующем разделе я расскажу о нескольких примерах использования этого оператора if.


Оператор if в Power Query с использованием условного столбца

Пример 1: Базовый оператор if

Здесь я покажу, как использовать этот оператор if в Power Query. Например, у меня есть отчет о продуктах, где, если статус продукта «Старый», отображается скидка 50%; если статус продукта «Новый», отображается скидка 20%, как показано на скриншотах ниже.

A screenshot showing the product report with product status column and the discount column added in Excel

1. Выберите таблицу данных из рабочего листа, затем в Excel 2019 и Excel 365 нажмите Данные > Из таблицы/Диапазона, см. скриншот:

A screenshot of the Data tab with From Table/Range option highlighted in Excel 2019 and Excel 365

Примечание: В Excel 2016 и Excel 2021 нажмите Данные > Из таблицы, см. скриншот:

A screenshot of the Data tab with From Table option highlighted in Excel 2016 and Excel 2021

2. Затем, в открывшемся окне Редактора Power Query, нажмите Добавить столбец > Условный столбец, см. скриншот:

A screenshot of the Power Query Editor with Add Column and Conditional Column options highlighted

3. В появившемся диалоговом окне Добавить условный столбец выполните следующие действия:

  • Имя нового столбца: Введите имя для нового столбца;
  • Затем укажите необходимые критерии. Например, я укажу Если Статус равен Старый, то 50%, иначе 20%;
Советы:
  • Имя столбца: Столбец, который нужно оценить по вашему условию if. Здесь я выбираю Статус.
  • Оператор: Логика условий для использования. Опции будут отличаться в зависимости от типа данных выбранного Имени столбца.
    • Текст: начинается с, не начинается с, равно, содержит и т.д.
    • Числа: равно, не равно, больше или равно и т.д.
    • Дата: до, после, равно, не равно и т.д.
  • Значение: Конкретное значение для сравнения с вашей оценкой. Оно вместе с Именем столбца и Оператором составляет условие.
  • Вывод: Значение, которое будет возвращено, если условие выполнено.
  • Иначе: Другое значение, которое будет возвращено, если условие ложно.

A screenshot of the Add Conditional Column dialog box in Power Query with conditions being set

4. Затем нажмите кнопку OK, чтобы вернуться в окно Редактора Power Query. Теперь добавлен новый столбец Скидка, см. скриншот:

A screenshot of the Power Query Editor with the new Discount column added

5. Если вы хотите отформатировать числа в проценты, просто нажмите значок ABC123 в заголовке столбца Скидка и выберите Процент, см. скриншот:

A screenshot of the ABC123 icon clicked to format the Discount column to percentage

6. Наконец, нажмите Главная > Закрыть и загрузить > Закрыть и загрузить, чтобы загрузить эти данные на новый рабочий лист.

A screenshot of the Close & Load option in Power Query to load data into a worksheet


Пример 2: Сложный оператор if

С помощью этой опции Условный столбец вы также можете вставить два или более условия в диалоговое окно Добавить условный столбец. Пожалуйста, сделайте следующее:

1. Выберите таблицу данных и перейдите в окно Редактора Power Query, нажав Данные > Из таблицы/Диапазона. В новом окне нажмите Добавить столбец > Условный столбец.

2. В появившемся диалоговом окне Добавить условный столбец выполните следующие действия:

  • Введите имя для нового столбца в текстовое поле Имя нового столбца;
  • Укажите первое условие в первое поле критериев, а затем нажмите кнопку Добавить условие, чтобы добавить другие поля критериев по мере необходимости.

A screenshot of the Add Conditional Column dialog box with multiple conditions set

3. После завершения критериев нажмите кнопку OK, чтобы вернуться в окно Редактора Power Query. Теперь вы получите новый столбец с соответствующими результатами, которые вам нужны. См. скриншот:

A screenshot of the Power Query Editor with a new column reflecting multiple conditions applied

4. В конце нажмите Главная > Закрыть и загрузить > Закрыть и загрузить, чтобы загрузить эти данные на новый рабочий лист.


Оператор if в Power Query через написание кода M

Обычно Условный столбец полезен для некоторых базовых сценариев. Иногда вам может потребоваться использование нескольких условий с логикой И или ИЛИ. В этом случае вы должны написать код M внутри пользовательского столбца для более сложных сценариев.

Пример 1: Базовый оператор if

Возьмем первый набор данных в качестве примера: если статус продукта «Старый», отображается скидка 50%; если статус продукта «Новый», отображается скидка 20%. Для написания кода M сделайте следующее:

1. Выберите таблицу и нажмите Данные > Из таблицы/Диапазона, чтобы перейти в окно Редактора Power Query.

2. В открывшемся окне нажмите Добавить столбец > Пользовательский столбец, см. скриншот:

A screenshot of the Power Query Editor with Add Column and Custom Column options highlighted

3. В появившемся диалоговом окне Пользовательский столбец выполните следующие действия:

  • Введите имя для нового столбца в текстовое поле Имя нового столбца;
  • Затем введите эту формулу: if [Status] = "Старый" then "50%" else "20%" в текстовое поле Формула пользовательского столбца.

A screenshot of the Custom Column dialog box in Power Query with a basic IF formula

4. Затем нажмите OK, чтобы закрыть это диалоговое окно. Теперь вы получите следующий результат, который вам нужен:

A screenshot of the Power Query Editor showing a new column after applying a custom formula

5. В конце нажмите Главная > Закрыть и загрузить > Закрыть и загрузить, чтобы загрузить эти данные на новый рабочий лист.


Пример 2: Сложный оператор if

Вложенные операторы if

Обычно для тестирования подусловий можно вложить несколько операторов if. Например, у меня есть следующая таблица данных. Если продукт — «Платье», дать скидку 50% от исходной цены; если продукт — «Свитер» или «Худи», дать скидку 20% от исходной цены; остальные продукты сохраняют исходную цену.

A screenshot of a dataset with product names and prices used for nested IF examples

1. Выберите таблицу данных и нажмите Данные > Из таблицы/Диапазона, чтобы перейти в окно Редактора Power Query.

2. В открывшемся окне нажмите Добавить столбец > Пользовательский столбец. В открывшемся диалоговом окне Пользовательский столбец выполните следующие действия:

  • Введите имя для нового столбца в текстовое поле Имя нового столбца;
  • Затем введите следующую формулу в текстовое поле Формула пользовательского столбца.
  • = if [Product] = "Платье" then [Price] * 0.5 else
    if [Product] = "Свитер" then [Price] * 0.8 else
    if [Product] = "Худи" then [Price] * 0.8
    else [Price]

A screenshot of the Custom Column dialog box with a nested IF formula in Power Query

3. Затем нажмите кнопку OK, чтобы вернуться в окно Редактора Power Query, и вы получите новый столбец с данными, которые вам нужны, см. скриншот:

A screenshot of the Power Query Editor showing a new column with nested IF logic applied

4. В конце нажмите Главная > Закрыть и загрузить > Закрыть и загрузить, чтобы загрузить эти данные на новый рабочий лист.


Условие if с логикой ИЛИ

Логика ИЛИ выполняет несколько логических тестов, и истинный результат будет возвращен, если любой из логических тестов истинен. Синтаксис следующий:

= if logical_test1 or logical_test2 or … then value_if_true else value_if_false

Предположим, у меня есть следующая таблица, теперь я хочу, чтобы новый столбец отображал: если продукт — «Платье» или «Футболка», тогда бренд — «AAA», бренд других продуктов — «BBB».

A screenshot of a dataset used for OR logic examples in Power Query

1. Выберите таблицу данных и нажмите Данные > Из таблицы/Диапазона, чтобы перейти в окно Редактора Power Query.

2. В открывшемся окне нажмите Добавить столбец > Пользовательский столбец, в открывшемся диалоговом окне Пользовательский столбец выполните следующие действия:

  • Введите имя для нового столбца в текстовое поле Имя нового столбца;
  • Затем введите следующую формулу в текстовое поле Формула пользовательского столбца.
  • = if [Product] = "Платье" or [Product] = "Футболка" then "AAA"
    else "BBB"

A screenshot of the Custom Column dialog box with an OR logic formula in Power Query

3. Затем нажмите кнопку OK, чтобы вернуться в окно Редактора Power Query, и вы получите новый столбец с данными, которые вам нужны, см. скриншот:

A screenshot of the Power Query Editor showing a new column with OR logic applied

4. Наконец, нажмите Главная > Закрыть и загрузить > Закрыть и загрузить, чтобы загрузить эти данные на новый рабочий лист.


Условие if с логикой И

Логика И выполняет несколько логических тестов внутри одного оператора if. Все тесты должны быть истинными для возврата истинного результата. Если любой из тестов ложен, возвращается ложный результат. Синтаксис следующий:

= if logical_test1 and logical_test2 and … then value_if_true else value_if_false

Возьмем вышеупомянутые данные в качестве примера. Я хочу, чтобы новый столбец отображал: если продукт — «Платье», и заказ больше 300, тогда применяется скидка 50% от исходной цены; в противном случае сохраняется исходная цена.

1. Выберите таблицу данных и нажмите Данные > Из таблицы/Диапазона, чтобы перейти в окно Редактора Power Query.

2. В открывшемся окне нажмите Добавить столбец > Пользовательский столбец. В открывшемся диалоговом окне Пользовательский столбец выполните следующие действия:

  • Введите имя для нового столбца в текстовое поле Имя нового столбца;
  • Затем введите следующую формулу в текстовое поле Формула пользовательского столбца.
  • = if [Product] ="Платье" and [Order] > 300 then [Price]*0.5
    else [Price]

A screenshot of the Custom Column dialog box with an AND logic formula in Power Query

3. Затем нажмите кнопку OK, чтобы вернуться в окно Редактора Power Query, и вы получите новый столбец с данными, которые вам нужны, см. скриншот:

A screenshot of the Power Query Editor showing a new column with AND logic applied

4. Наконец, загрузите эти данные на новый рабочий лист, нажав Главная > Закрыть и загрузить > Закрыть и загрузить.


Условие if с логикой ИЛИ и И

Хорошо, предыдущие примеры были легкими для понимания. Теперь давайте усложним задачу. Вы можете комбинировать И и ИЛИ для формирования любых условий, которые вы можете себе представить. В этом типе вы можете использовать скобки в формуле для определения сложных правил.

Возьмем вышеупомянутые данные в качестве примера. Предположим, я хочу, чтобы новый столбец отображал: если продукт — «Платье», и его заказ больше 300, или продукт — «Брюки», и его заказ больше 300, тогда показывать «A+», иначе отображать «Другое».

1. Выберите таблицу данных и нажмите Данные > Из таблицы/Диапазона, чтобы перейти в окно Редактора Power Query.

2. В открывшемся окне нажмите Добавить столбец > Пользовательский столбец. В открывшемся диалоговом окне Пользовательский столбец выполните следующие действия:

  • Введите имя для нового столбца в текстовое поле Имя нового столбца;
  • Затем введите следующую формулу в текстовое поле Формула пользовательского столбца.
  • =if ([Product] = "Платье" and [Order] > 300 ) or
    ([Product] = "Брюки" and [Order] > 300 )
    then "A+"
    else "Другое"

A screenshot of the Custom Column dialog box with combined AND and OR logic in Power Query

3. Затем нажмите кнопку OK, чтобы вернуться в окно Редактора Power Query, и вы получите новый столбец с данными, которые вам нужны, см. скриншот:

A screenshot of the Power Query Editor showing a new column with combined AND and OR logic applied

4. Наконец, загрузите эти данные на новый рабочий лист, нажав Главная > Закрыть и загрузить > Закрыть и загрузить.

Советы:
В текстовом поле Формула пользовательского столбца вы можете использовать следующие логические операторы:
  • = : Равно
  • <> : Не равно
  • > : Больше чем
  • >= : Больше или равно
  • < : Меньше чем
  • <= : Меньше или равно

Лучшие инструменты для повышения продуктивности работы с Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!