Как найти наибольшую цену товара

Skip to content

Функция МАКС в Excel: как найти максимальное значение

В этой статье объясняется функция МАКС с множеством примеров формул, которые показывают, как найти наибольшее значение в Excel и выделить наибольшее число на листе.

МАКС – одна из самых простых и простых в использовании функций Excel. Тем не менее, у нее есть несколько хитростей, которые дадут вам большие возможности. Скажите, как вы используете функцию МАКС с условиями? Или знаете, как извлечь абсолютное наибольшее значение? Мы предложим несколько решений для этих и других аналогичных задач.

  • Функция МАКС — основные сведения
  • Найти максимальное в группе чисел
  • Вычисляем максимум в несмежных диапазонах
  • Как получить максимальную (последнюю) дату
  • Максимальное значение с условиями
  • Наибольшее число без учёта нулей
  • Как найти максимальное число игнорируя ошибки
  • Определяем абсолютное максимальное значение
  • Максимум применительно к тексту
  • Вычисление наибольшей разницы
  • Выводим адрес ячейки с максимальным значением
  • Как выделить цветом самое большое число
  • Почему не получается?

Функция МАКС

Функция МАКС в Excel возвращает наибольшее значение в указанном вами наборе данных.

Синтаксис у неё следующий:

МАКС(число1; [число2];…)

Где число может быть представлено числовым значением, массивом, именованным диапазоном, ссылкой на ячейку или диапазоном, содержащим числа.

Число1 является обязательным, число2 и последующие аргументы необязательны.

Чтобы создать самую простую формулу, чтобы выбрать максимальное значение в таблице Excel, вы можете вводить числа непосредственно в список аргументов, например:

=МАКС(1; 2; 3)

На практике это – очень редкий случай. По большей части вы будете иметь дело с диапазонами и ячейками.

Самый быстрый способ найти наибольшее значение в диапазоне, – это:

  1. В ячейке введите = МАКС(
  2. Выберите диапазон чисел с помощью мыши.
  3. Введите закрывающую скобку.
  4. Жмём Enter для завершения.

Например, чтобы найти максимальное значение в диапазоне A1: A6, формула будет выглядеть следующим образом:

=МАКС(A1:A6)

Если ваши числа находятся в непрерывном диапазоне (как в этом примере), вы можете заставить Excel автоматически создать формулу МАКС. Вот как:

  1. Выделите ячейки со своими числами.
  2. На вкладке «Главная» в группе «Форматы» нажмите «Автосумма» и выберите «Максимум» из раскрывающегося списка.

5 фактов, которые нужно знать о функции МАКС –

  1. В текущих версиях Excel она может обрабатывать до 255 аргументов.
  2. Если аргументы не содержат ни одного числа, возвращается ноль.
  3. Если аргументы содержат одно или несколько значений ошибки, возвращается ошибка.
  4. Пустые ячейки игнорируются.
  5. Обрабатываются логические значения и текстовые представления чисел, предоставленные непосредственно в списке аргументов (ИСТИНА приравнивается к 1, ЛОЖЬ – к 0). Если используется ссылка на ячейку с логическим или текстовым значением, то они игнорируются.

Как найти в Excel наибольшее число – примеры.

Ниже мы покажем несколько стандартных вариантов использования функции МАКС. 

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

Как выбрать максимальное значение в группе чисел.

Чтобы в Excel извлечь наибольшее число в группе чисел, передайте эту группу функции МАКС в качестве ссылки на диапазон. Диапазон может содержать любое количество строк и столбцов. Например, чтобы получить максимальное значение из C2: E7, используйте эту простую формулу:

=МАКС(C2:E7)

Предположим, у нас есть сведения об учениках с их оценкой, но некоторые из значений оценки являются логическими, текстовыми, а некоторые пока вовсе не имеют оценки.

Применим функцию:

 = МАКС(B2:B10)

Как видите, игнорируются ячейки с текстом, а также пустые, логические значения приравниваются к нулю, а затем вычисляется максимальное число, как показано в таблице Excel выше.

Наибольшее значение в несмежных ячейках или диапазонах Excel

Чтобы осуществить поиск в несмежных ячейках и диапазонах, необходимо включить в формулу ссылку на каждый отдельный адрес. Рассмотрим пошагово:

  1. Начните вводить функцию МАКС в ячейку.
  2. После того, как вы ввели открывающую скобку, нажмите и удерживайте Ctrl  и выберите мышкой нужные ячейки и диапазоны.
  3. Отпустите Ctrl и введите закрывающую круглую скобку.
  4. Нажмите Enter.

Вы получите формулу максимального числа в Excel, подобную этому:

=МАКС(C2:E2;C7:E7)

Как получить наибольшую (последнюю) дату в Excel

Во внутренней системе Excel даты – это не что иное, как порядковые номера дней, поэтому функция МАКС обрабатывает их без проблем.

Например, чтобы найти последнюю дату доставки из C2: C7, запишите обычную формулу, которую вы использовали бы для чисел:

=МАКС(C2:C7)

Поскольку дата – это также число, всё работает замечательно.

Максимальное значение с условиями.

Довольно часто случается, что из большого объёма данных Excel нужно выбрать максимальное значение из какой-то его части. К примеру, найти самую большую партию какого-то определённого товара в огромном списке продаж. Или же найти наивысшую оценку по какому-то предмету среди большого набора данных оценок, набранных учащимися определенного класса по нескольким предметам в школе.

Если вы хотите получить максимальное значение Excel с учётом каких-то условий, то вы можете выбрать из нескольких предложенных ниже формул. Чтобы убедиться, что все они возвращают одинаковый результат, мы протестируем их на одном и том же наборе данных.

Задача: мы хотим найти самую большую продажу для определенного товара, указанного в F1.

МАКС + ЕСЛИ

Если вы ищете решение, которое работает во всех версиях Excel, используйте функцию ЕСЛИ для проверки условия, а затем передайте полученный массив в функцию:

=МАКС(ЕСЛИ(B2:B15=F1; C2:C15))

Чтобы это работало, необходимо нажать Ctrl + Shift + Enter одновременно, чтобы ввести как формулу массива. Если все сделано правильно, Excel заключит ваше выражение в {фигурные скобки}, что является визуальным указанием на формулу массива.

Также можно оценить несколько условий одновременно, о чем мы поговорим далее.

МАКС + СУММПРОИЗВ

Если вам не нравится использовать формулы массива в ваших листах, объедините МАКС с функцией СУММПРОИЗВ, которая умеет работать с массивами:

=СУММПРОИЗВ(МАКС((B2:B15=F1)*(C2:C15)))

МАКСЕСЛИ

В Excel 2019 и Office 365 есть специальная функция МАКСЕСЛИ, которая предназначена для поиска наибольшего значения по 126 критериям.

В нашем случае используется только одно условие, поэтому формула очень проста:

=МАКСЕСЛИ(C2:C15;B2:B15;F1)

На приведенном ниже скриншоте показаны все 3 формулы в действии:

Выбираем максимальное значение в Excel без учета нулей

Фактически, это разновидность условного МАКС, рассмотренного в предыдущем примере. Чтобы исключить нули, используйте логический оператор «не равно» и поместите выражение «<> 0» либо в критерий функции МАКСЕСЛИ, либо в конструкцию МАКС + ЕСЛИ.

Как вы понимаете, проверка этого условия имеет смысл только в случае наличия отрицательных чисел. Для положительных чисел эта проверка излишняя, потому что любое положительное число больше нуля.

Чтобы попробовать, давайте найдем самую маленькую скидку в диапазоне C2:C7. Поскольку все скидки представлены отрицательными числами, наименьшая скидка фактически является наибольшим значением.

Обязательно нажмите Ctrl + Shift + Enter, чтобы правильно заполнить эту формулу массива:

=МАКС(ЕСЛИ(C2:C7<>0; C2:C7))

А это обычная формула –

=МАКСЕСЛИ(C2:C7;C2:C7;”<>0″)

И вот что у нас получилось:

Как найти максимальное значение, игнорируя ошибки

Когда вы работаете с большим объемом данных, управляемых различными формулами, есть вероятность, что некоторые из них приведут к ошибкам. Соответственно, функция МАКС тоже вернет ошибку.

В качестве обходного пути можно использовать МАКС вместе с ЕОШИБКА. Учитывая, что вы ищете в диапазоне A1: B5, формула принимает следующую форму:

=МАКС(ЕСЛИ(ЕОШИБКА(A1:B6); “”; A1:B6))

Чтобы упростить формулу, используйте функцию ЕСЛИОШИБКА вместо комбинации ЕСЛИ + ЕОШИБКА. Это также сделает логику более очевидной – если есть ошибка в A1:B6, замените ее пустой строкой (”), а затем вычислите самое большое значение в диапазоне:

=МАКС(ЕСЛИОШИБКА(A1:B6; “”))

Неудобство состоит в том, что нужно не забывать нажимать Ctrl + Shift + Enter, потому что это работает только как формула массива.

В Excel 2019 и Office 365 функция МАКСЕСЛИ может быть хорошим решением при условии, что ваш набор данных содержит хотя бы одно положительное число или нулевое значение:

=МАКСЕСЛИ(A1:B6;A1:B6;”>=0″)

Поскольку формула выполняет поиск максимального значения с условием «больше или равно 0», она не будет работать для набора данных, состоящего исключительно из отрицательных чисел.

Также идеально подходит функция АГРЕГАТ, которая может выполнять ряд операций и игнорировать значения ошибок:

=АГРЕГАТ(4;6;A1:B6)

Число 4 в первом аргументе предписывает выполнить поиск максимального числа, шестёрка во втором аргументе – это параметр «игнорировать ошибки», а A1: B6 – ваш целевой диапазон.

Все формулы возвращают одинаковый результат:

Как найти абсолютное наибольшее значение в Excel

При работе с диапазоном положительных и отрицательных чисел иногда может потребоваться найти максимальное абсолютное значение независимо от знака.

Первая идея, которая приходит в голову, – получить абсолютные значения всех чисел в диапазоне с помощью функции ABS и передать их в МАКС:

{= МАКС(ABS( диапазон ))}

Это формула массива, поэтому не забудьте подтвердить ее с помощью Ctrl + Shift + Enter. Еще одно предостережение: он работает только с числами и приводит к ошибке в случае нечисловых данных.

Не нравится это решение? Тогда давайте построим что-нибудь более жизнеспособное 🙂

Что, если мы найдем минимальное значение, изменим или проигнорируем его знак, а затем вычислим вместе со всеми другими числами? Да, это будет отлично работать как обычная формула. В качестве дополнительного бонуса это отлично обрабатывает текстовые записи и ошибки.

С исходными данными в A1: B5 расчёты выглядят следующим образом.

Формула массива (заполняется с помощью Ctrl + Shift + Enter):

=МАКС(ABS(A1:B5))

Обычная формула (заполняется клавишей Enter):

=МАКС(МАКС(A1:B5); -МИН(A1:B5))

или же

=МАКС(МАКС(A1:B5); ABS(МИН(A1:B5)))

На скриншоте ниже показаны результаты:

Вернуть максимальное абсолютное значение с сохранением знака

В некоторых ситуациях может потребоваться найти наибольшее абсолютное значение в таблице Excel, но вернуть число с исходным знаком, а не его абсолютное значение.

Предполагая, что числа находятся в ячейках A1: B5, вот выражение, которое следует использовать:

=ЕСЛИ(ABS(МАКС(A1:B5))>ABS(МИН(A1:B5)); МАКС(A1:B5);МИН(A1:B5))

Сложная на первый взгляд логика довольно проста. Сначала вы находите наибольшее и наименьшее числа в диапазоне и сравниваете их абсолютные значения. Если абсолютное (без учёта знака) максимальное значение больше абсолютного минимального значения, возвращается это наиболшее число, иначе – наименьшее число. 

Поскольку формула возвращает исходное, а не абсолютное значение, информация о знаке сохраняется (см. скриншот выше).

Максимальное значение применительно к тексту.

Предположим, у нас есть список имен, и нам нужно вычислить их максимальную длину, то есть найти наибольшее количество символов в ячейке Excel.

Здесь мы должны применить функцию ДЛСТР для вычисления длины имени.

=ДЛСТР(А2)

А затем  применим функцию МАКС, чтобы узнать максимальную длину ФИО.

=МАКС(B2;B13)

А можно обойтись без дополнительного столбца и вычислить максимальную длину текстового значения в одной ячейке. Для этого нужно объединить эти формулы, вложив ДЛСТР в МАКС:

=МАКС(ДЛСТР(A2:A13))

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

Вычислить наибольшую разницу в сумме.

Предположим, нам нужно вычислить наибольшую разницу в сумме за любой смежный месяц для каждого товара. Или, выражаясь иначе, найти максимальное изменение продаж за месяц.

 Ниже представлена ​​таблица Excel с небольшой выборкой данных за 4 месяца.

Если решать проблему «в лоб», то можно использовать функцию ЕСЛИ со множеством условий:

=ЕСЛИ(И((МАКС(B2:C2)-МИН(B2:C2))>(МАКС(C2:D2)-МИН(C2:D2)),  (МАКС(B2:C2)-МИН(B2:C2))>(МАКС(D2:E2)-МИН(D2:E2))), МАКС(B2:C2)-МИН(B2:C2), ЕСЛИ((МАКС(C2:D2)-МИН(C2:D2))>(МАКС(D2:E2)-МИН(D2:E2)), МАКС(C2:D2)-МИН(C2:D2),МАКС(D2:E2)-МИН(D2:E2)))

Но при помощи функции МАКС можно значительно упростить расчет и не пользоваться такой длинной и сложной конструкцией.

Используя функцию ABS, мы будем искать максимальное изменение вне зависимости от знака. Попробуйте заменить большую формулу этой:

=МАКС(ABS(B2-C2);ABS(C2-D2);ABS(D2-E2))

Как вы можете видеть в таблице ниже, этот вариант намного проще и возвращает те же результаты.

Как найти адрес ячейки Excel с максимальным числом.

Есть ли решение, которое сообщит адрес ячейки с наибольшим числом, а не само число? То есть, если A4 равно 9 и это значение является самым большим, как мне составить формулу, которая возвратит координаты A4 вместо 9?

Вы можете использовать функции ЯЧЕЙКА , ИНДЕКС и ПОИСКПОЗ в сочетании с функцией МАКС, чтобы вернуть адрес ячейки с наибольшим значением.

Например, если вы хотите найти ячейку с наивысшим значением в столбце от А1 до А7, вы можете использовать следующий расчёт:

=ЯЧЕЙКА(“адрес”;ИНДЕКС(A1:A7;ПОИСКПОЗ(МАКС(A1:A7);A1:A7;0)))

Получаем результат в виде абсолютной ссылки $А$4, которая указывает на самое большое число из этого диапазона.

Однако учтите, что это выражение работает только с одним столбцом.

А вот еще альтернативные варианты поиска адреса наибольшего числа по столбцу, из которых вы можете выбрать наиболее подходящий для себя:

Формула массива –

{=АДРЕС(ПОИСКПОЗ(МАКС(F1:F7);F1:F7;0);СТОЛБЕЦ(F1:F7);4)}

Обычная формула, в которой явным образом нужно указать столбец:

=”F”&ПОИСКПОЗ(МАКС(F1:F7);F1:F7;0)

Ещё одна формула массива –

{=ЯЧЕЙКА(“address”;ИНДЕКС(F2:F7;ПОИСКПОЗ(МАКС(F2:F7);F2:F7;0)))}

На скриншоте вы видите, что все они возвращают один и тот же адрес:

И ещё одна формула массива для вывода адреса, которая работает с диапазоном из нескольких строк и столбцов:

{=АДРЕС(МАКС(ЕСЛИ((C2:E7=МАКС(C2:E7));СТРОКА(C2:E7))); МАКС(ЕСЛИ((C2:E7=МАКС(C2:E7));СТОЛБЕЦ(C2:E7))))}

В данном случае, как видите, мы ищем адрес наибольшего числа в двумерном диапазоне C2:E7.

Напомню, что формула массива вводится с использованием комбинации клавиш Ctrl + Shift + Enter.

Как выделить наибольшее значение в Excel

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

Выделите максимальное число в диапазоне Excel

В Microsoft Excel есть встроенное правило для форматирования максимальных чисел в диапазоне, которое идеально соответствует нашим потребностям. Вот как можно применить его:

  1. Выберите диапазон чисел (в нашем случае C2: E8).
  2. На вкладке «Главная» в группе «Стили» щелкните «Условное форматирование»> «Новое правило».
  3. В диалоговом окне «Новое правило форматирования» выберите «Форматировать только первые или последние значения».
  4. На нижней панели выберите «первым» из раскрывающегося списка и введите 1 в поле рядом с ним (это означает, что вы хотите выделить только одну ячейку, содержащую наибольшее значение).
  5. Нажмите кнопку «Формат» и выберите стиль оформления.
  6. Дважды щелкните OK, чтобы закрыть оба окна.

Как выделить цветом максимальное число в каждой строке

Поскольку нет встроенного правила, чтобы выделить наибольшее значение из каждой строки таблицы Excel, вам придется настроить собственное на основе функции МАКС. Вот как:

  1. Выберите все строки, которые вы хотите проверить (C3:E8).
  2. Кликните Новое правило > Использовать формулу.
  3. В поле Форматировать значения, запишите:

=C3=МАКС($C3:$E3)

Где C3 – крайняя верхняя левая ячейка, а $C3:$E3 – координаты первой строки. Чтобы правило работало, обязательно зафиксируйте координаты столбца в диапазоне знаком $.

  1. Нажмите кнопку «Формат» и выберите нужный формат.
  2. Дважды щелкните ОК.

Кончик. Таким же образом вы можете выделить максимальное значение в каждом столбце. Шаги в точности такие же, за исключением того, что вы пишете условие для диапазона первого столбца и фиксируете координаты строки:

=C2=МАКС(C$2:C$7)

Дополнительные сведения см. в статье « Как создать правило условного форматирования на основе формул» .

Почему не получается найти наибольшее число?

МАКС – одна из самых простых в использовании функций Excel. Если вопреки всем ожиданиям она не работает, то, скорее всего, это одна из следующих проблем:

МАКС возвращает ноль

Если обычная формула МАКС возвращает 0, даже если в указанном диапазоне есть числа явно большие, скорее всего, эти числа отформатированы как текст. 

Это особенно актуально, когда вы запускаете функцию МАКС для данных, получаемых другими формулами или же импортированных из других программ. 

Вы можете проверить это с помощью функции ЕЧИСЛО, например:

=ЕЧИСЛО(A1)

Если приведенная выше формула возвращает ЛОЖЬ, то значение в A1 не является числовым. Это означает, что вы должны устранять неполадки с исходными данными, а не с формулой.

МАКС возвращает значение #Н/Д, #ЗНАЧ или другую ошибку.

Пожалуйста, внимательно проверьте указанные ячейки. Если какая-либо из указанных ячеек содержит ошибку, поиск максимума приведет к той же ошибке. Чтобы обойти это, посмотрите, как получить максимальное значение, игнорируя все ошибки .

Вот как можно найти максимальное значение в Excel. Благодарю вас за чтение!

Функция ЕСЛИОШИБКА – примеры формул В статье описано, как использовать функцию ЕСЛИОШИБКА в Excel для обнаружения ошибок и замены их пустой ячейкой, другим значением или определённым сообщением. Покажем примеры, как использовать функцию ЕСЛИОШИБКА с функциями визуального…
Сравнение ячеек в Excel Вы узнаете, как сравнивать значения в ячейках Excel на предмет точного совпадения или без учета регистра. Мы предложим вам несколько формул для сопоставления двух ячеек по их значениям, длине или количеству…
проверка правильности ввода Excel при помощи функции ЕСЛИ Как проверить правильность ввода данных в Excel? Подтверждаем правильность ввода галочкой. Задача: При ручном вводе данных в ячейки таблицы проверять правильность ввода в соответствии с имеющимся списком допустимых значений. В случае правильного ввода в отдельном столбце ставить…
ЕСЛИ + СОВПАД текст Функция ЕСЛИ: проверяем условия с текстом Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст. СодержаниеПроверяем условие для полного совпадения текста.ЕСЛИ + СОВПАДИспользование функции ЕСЛИ с частичным совпадением текста.ЕСЛИ + ПОИСКЕСЛИ…
функция если Визуализация данных при помощи функции ЕСЛИ Функцию ЕСЛИ можно использовать для вставки в таблицу символов, которые наглядно показывают происходящие с данными изменения. К примеру, мы хотим показать в отдельной колонке таблицы, происходит рост или снижение продаж.…
ЕСЛИ с датами 3 примера, как функция ЕСЛИ работает с датами. На первый взгляд может показаться, что функцию ЕСЛИ для работы с датами можно применять так же, как для числовых и текстовых значений, которые мы только что обсудили. К сожалению, это…

SQL запросы к базе данных. Часть #2.

Агрегатные функции

Когда нам нужно получить сумму, максимальное, минимальное или среднее значение хранящихся в базе данных чисел, то мы используем агрегатные функции. Большинство систем управления базами данных поддерживают 5 агрегатных (математических) функций.

SUM рассчитывает сумму

Вычислим сумму полей «Quantity» в таблице «OrderDetails».

SQL запросы к базе данных.

Пишем слово SELECT, а затем название агрегатной функции SUM(). В скобках указываем, значения какого столбца мы хотим суммировать. Дальше пишем оператор FROM и имя таблицы.


SELECT SUM(Quantity)
FROM OrderDetails;

Функция SUM() вернула общую сумму указанного столбца.

SQL запросы к базе данных.

MAX рассчитывает максимальное значение

Найдем с помощью оператора MAX() самую большую стоимость продукта.

SQL запросы к базе данных.


SELECT MAX(Price)
FROM Products;

Функция MAX нашла цену самого дорогого продукта в столбце Price из таблицы Products.

SQL запросы к базе данных.

MIN рассчитывает минимальное значение

Найдем с помощью оператора MIN() самую маленькую стоимость продукта.


SELECT MIN(Price)
FROM Products;

Функция MIN нашла цену самого дешевого продукта в столбце Price из таблицы Products.

SQL запросы к базе данных.

COUNT подсчитывает количество значений

Функция COUNT() возвращает количество строк, которое соответствует заданному критерию. Давайте выведем общее количество товаров, хранящихся в базе данных. Проще всего подсчитать количество продуктов по ID.


SELECT COUNT(ProductID)
FROM Products;

SQL запросы к базе данных.

AVG рассчитывает среднее значение

Функция AVG() возвращает среднее значение чисел в указанном столбце.


SELECT AVG(Price)
FROM Products;

SQL запросы к базе данных.

Группировка данных Group By

Ключевое слово Group By чаще всего используется вместе с агрегатными функциями, чтобы группировать столбцы по тому или иному признаку. Например, нам нужно подсчитать количество клиентов в базе из каждой страны по отдельности.

SQL запросы к базе данных.

Пишем оператор SELECT и рассчитываем количество клиентов по столбцу CustomerID для каждой страны и группируем результат расчета по странам. Например из Аргентины у нас 3 клиента, а из Бельгии – 2 клиента.


SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

SQL запросы к базе данных.

Упорядочим наш список и отсортируем клиентов в порядке убывания. Нам нужно знать, в каких странах живет всех больше клиентов.


SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

Всех больше клиентов проживает в USA.

SQL запросы к базе данных.

  • Создано 30.04.2021 10:11:41


  • Михаил Русаков

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

REALIST07

Автор FAQ

Автор FAQ

199 / 198 / 21

Регистрация: 11.06.2010

Сообщений: 1,024

1

Найти наибольшую цену продукта

31.03.2015, 01:25. Показов 3579. Ответов 2

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Помогите составить быстрый запрос SQL
Задание такое: по Id продукта находить самую высокую цену за которую его когда либо продавали. для этого надо обыскать таблицу ордер детайлов для всех ордеров где result code начинается с W.
Набросал SQL запрос,но он не работает и по ходу вообще не быстрый, очень давно не занимался этим (

SQL
1
2
3
4
5
6
7
8
9
10
SELECT    Manual_Unit_Price
FROM      Order_Detail  
             INNER JOIN
              Order_  ON Order_Detail.Order__Id = Order_.Order__Id 
         INNER JOIN
              JLA_Result_Code ON Order_.Result_code = JLA_Result_Code.JLA_Result_Code_Id               
WHERE (Order_Detail.Product_Id = '0x00000000000040E9') 
AND
Manual_Unit_Price = ANY ( SELECT TOP 1 MAX(Manual_Unit_Price) FROM Order_Detail GROUP BY Manual_Unit_Price )
AND  (JLA_Result_Code.Result_Code LIKE 'W%')

Очень нужна ваша помощь.



0



Metall_Version

2148 / 1285 / 516

Регистрация: 04.03.2014

Сообщений: 4,092

31.03.2015, 11:10

2

Лучший ответ Сообщение было отмечено REALIST07 как решение

Решение

я так понял узнать JLA_Result_Code.Result_Code можно только через таблицу Order_ ?

T-SQL
1
2
3
4
SELECT MAX(Manual_Unit_Price)
FROM Order_Detail od INNER JOIN Order_ o ON od.Order__Id = o.Order__Id 
   INNER JOIN JLA_Result_Code rc  ON o.Result_code = rc.JLA_Result_Code_Id
WHERE od.Product_Id = '0x00000000000040E9' AND rc.Result_Code LIKE 'W%'



1



Автор FAQ

Автор FAQ

199 / 198 / 21

Регистрация: 11.06.2010

Сообщений: 1,024

31.03.2015, 14:36

 [ТС]

3

Да, связь у них такая как в моем запросе, просто сам запрос не айс



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

31.03.2015, 14:36

Помогаю со студенческими работами здесь

Дана стоимость 100 гр. продукта и сумма. Найти количество продукта в граммах и килограммах.
Задана стоимость 100 гр. продукта и имеющаяся сумма. Найти соответствующее количество продукта в…

Вывести цену, уплачиваемую покупателем в j-ый день при покупке им K килограмм (Ki кг) каждого i-го продукта
помогите пожалуйста
Дана таблица начальных стоимостей 1 кг продуктов (N типов); в ней для каждого…

Найти равновесную цену; функцию p(t); цену товара и выручку через пять лет
Известно, что на рынке одного товара функции спроса и предложения товара по цене p линейные и…

Где указать Название продукта, версия продукта для своей программы в Visual Studio 2013
Приветствую.
Вопрос в теме

Создать приложение «Аптека», включающая следующую информацию: наименование продукта, дата выпуска, код продукта, поставщик, цена и т.п.
Помогите, пожалуйста, какие процедуры и функции нужно использовать в данной программе?

Создать…

Метод, изменяющий цену изделия и выводящий на консоль старую и новую цену
Не могу понять как реализовать метод, помогите.
Изменяет цену изделия и выводит…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

3

Поиск минимального или максимального значения по условию

В Microsoft Excel давно есть в стандартном наборе функции СЧЁТЕСЛИ (COUNTIF), СУММЕСЛИ (SUMIF) и СРЗНАЧЕСЛИ (AVERAGEIF) и их аналоги, позволяющие искать количество, сумму и среднее в таблице по одному или нескольким условиям. Но что если нужно найти не сумму или среднее, а минимум или максимум по условию(ям)? 

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

min-if1.png

Таким образом, условием будет наименование товара (бумага, карандаши, ручки), а диапазоном для выборки – столбец с ценами.

Для будущего удобства, конвертируем исходный диапазон с ценами в “умную таблицу”. Для этого выделите его и выберите на вкладке Главная – Форматировать как таблицу (Home – Format as Table) или нажмите Ctrl+T. Наша “поумневшая” таблица автоматически получит имя Таблица1, а к столбцам можно будет, соответственно, обращаться по их именам, используя выражения типа Таблица1[Товар] или Таблица1[Цена]. При желании, стандартное имя Таблица1 можно подкорректировать на вкладке Конструктор (Design), которая появляется, если щелкнуть в любую ячейку нашей “умной” таблицы. Подробнее о таких таблицах и их скрытых возможностях можно почитать здесь.

Способ 1. Функции МИНЕСЛИ и МАКСЕСЛИ в Excel 2016

Начиная с версии Excel 2016 в наборе функции Microsoft Excel наконец появились функции, которые легко решают нашу задачу – это функции МИНЕСЛИ (MINIFS) и МАКСЕСЛИ (MAXIFS). Синтаксис этих функции очень похож на СУММЕСЛИМН (SUMIFS):

=МИНЕСЛИ(Диапазон_чисел; Диапазон_проверки1; Условие1; Диапазон_проверки2; Условие2 … )

где

  • Диапазон_чисел – диапазон с числами, из которых выбирается минимальное или максимальное
  • Диапазон_проверки – диапазон, который проверяется на выполнение условия
  • Условие – критерий отбора

Например, в нашем случае:

Поиск минимального по условию функцией МИНЕСЛИ

Просто, красиво, изящно. Одна проблема – функции МИНЕСЛИ и МАКСЕСЛИ появились только начиная с 2016 версии Excel. Если у вас (или тех, кто будет потом работать с вашим файлом) более старые версии, то придется шаманить другими способами.

Способ 2. Формула массива

min-if2.png

В английской версии это будет, соответственно =MIN(IF(Table1[Товар]=F4;Table1[Цена]))

Не забудьте после ввода этой формулы в первую зеленую ячейку G4 нажать не Enter, а Ctrl+Shift+Enter, чтобы ввести ее как формулу массива. Затем формулу можно скопировать на остальные товары в ячейки G5:G6.

Давайте разберем логику работы этой формулы поподробнее. Функция ЕСЛИ проверяет каждую ячейку массива из столбца Товар на предмет равенства текущему товару (Бумага). Если это так, то выдается соответствующее ему значение из столбца Цена. В противном случае – логическое значение ЛОЖЬ (FALSE).

Таким образом внешняя функция МИН (MIN) выбирает минимальное не из всех значений цен, а только из тех, где товар был Бумага, т.к. ЛОЖЬ функцией МИН игнорируется. При желании, можно выделить мышью всю функцию ЕСЛИ(…) в строке формул

min-if3.png

… и нажать на клавиатуре F9, чтобы наглядно увидеть тот самый результирующий массив, из которого потом функция МИН и выбирает минимальное значение:

min-if4.png

Способ 3. Функция баз данных ДМИН

Этот вариант использует малоизвестную (и многими, к сожалению, недооцененную) функцию ДМИН (DMIN) из категории Работа с базой данных (Database) и требует небольшого изменения результирующей таблицы:

min-if5.png

Как видите, зеленые ячейки с результатами транспонированы из столбца в строку и над ними добавлена мини-таблица (F4:H5) с условиями. Логика работы этой функции следующая:

min-if6.png

  • База_данных – вся наша таблица вместе с заголовками.
  • Поле – название столбца из шапки таблицы, из которого выбирается минимальное значение.
  • Критерий – таблица с условиями отбора, состоящая (минимально) из двух ячеек: названия столбца, по которому идет проверка (Товар) и критерия (Бумага, Карандаши, Ручки).

Это обычная формула (не формула массива), т.е. можно вводить и использовать ее привычным образом. Кроме того, в той же категории можно найти функции БДСУММ (DSUM), ДМАКС (DMAX), БСЧЁТ (DCOUNT), которые используются совершенно аналогично, но умеют находить не только минимум, но и сумму, максимум и количество значений по условию.

Способ 4. Сводная таблица

Если в исходной таблице очень много строк, но данные меняются не часто, то удобнее будет использовать сводную таблицу, т.к. формула массива и функция ДМИН могут сильно тормозить Excel.

Установите активную ячейку в любое место нашей умной таблицы и выберите на вкладке Вставка – Сводная таблица (Insert – Pivot Table). В появившемся окне нажмите ОК:

min-if7.png

В конструкторе сводной таблицы перетащите поле Товар в область строк, а Цену в область значений. Чтобы заставить сводную вычислять не сумму (или количество), а минимум щелкните правой кнопкой мыши по любому числу и выберите в контекстном меню команду Итоги по – Минимум:

min-if8.png

Вытаскивать данные из сводной в дальнейшие расчеты теперь можно с помощью функции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GET.PIVOT.DATA), которую мы подробно разбирали ранее:

min-if9.png

Ссылки по теме

  • Зачем нужна функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ
  • Выборочное вычисление суммы, среднего и т.д. по одному или нескольким критериям
  • Что такое “умные таблицы” в Excel и как с ними работать



Мастер

(2183),
на голосовании



15 лет назад

Голосование за лучший ответ

1 1

Ученик

(175)


15 лет назад

И в чем проблема?
Все это глупости, типа “смотри все функции на панели задач”. Если не имешь представления механизма работы в Exell, то смотреть бесполезно в любые панели.
Высылай файл.

Лена Агафонова

Профи

(807)


15 лет назад

самый дорогой или дешёвый товар ножно найти с помощью синхронизировании…. на панеле задач есть кнопочка там буквы А и Я и стрела или вверх или вниз…. когда выделишь нужный толбец нажмёш эту кнопку и тебе автоматически цифры станут в хронологическом порядке либо по по уменьшению либо по увеличению…. там сраму видно что больше всего что меньше! так же и с поличеством.
Второй вариант…. вставка-функция – МАКС (ну или МИН) – выделяешь необходимый столбец – ок…. усе автоматом найдёт максимальное и минимальное значение. вот.

чтобы построить график…. вставка-диаграмма- выбираешь – гистограмма. . Х-товар, У- количество…. ок…. сам выведет график…. если нужна будет формула этого графика обращайся подскажу как делать!

усё!!!!будут вопросы пиши! мне как для экономиста эта задачка плёвое дело, объясню быстро и подробно! ася 220093725, а вообще меня быстрее найти в моём мире, оставив личное сообщение или запись в гостевой книге…. всё! пиши!… надеюсь хоть капельку но помогла
я бы ещё тя поучила но на работу опаздываю!!!! пиши на работе объясню!!!! пока =)))))))))))

Источник: мой любимый институт! ВЗФЭИ!

СеборМастер (1603)

12 лет назад

Плевое дело говорите?
Как насчет сделать 1 единственный инструмент, с помощью которого можно было бы выполнить все приведенные в задаче расчеты? Без использования сортировок.
Скажу больше. Всеми любимая сортировка нередко является непримелемой при сложных расчетах в сортируемых ячейках или же просто в случаях, когда под таблицей есть объединенная ячейка типа “итого”. Также между ними может быть зависимость друг от друга или от местоположения в таблице, а значит сортировка собьет все расчеты. Как тогда быть?
Насчет минимальных и максимальных значений. Опять же, если сортировка неприемлема, как вы будете искать в диапозоне 50 тыс. строк нужное вам значение? А если еще и столбцов около сотни – как найдете нужный столбец, где есть строка с максимальным во всей таблице значением?Ну и наконец, если требуется постоянно проверять по несколько 10 условий за раз, будете постоянно вручную пересортировывать таблицы?

Добавить комментарий