Чтение данных из файла
Когда данных очень много, неудобно записывать их прямо в программе. Проще хранить их в отдельном файле, и в нем же редактировать.
Как научить программу читать по-настоящему?Отдельные текстовые данные можно хранить в отдельном текстовом файле формата .txt. Программа сможет их прочитать и использовать в дальнейшем. |
Для открытия файлов в Python используется следующая запись:
<переменная> = open(“<путь к файлу>”, “<режим доступа>”)
Разберем элементы этой записи:
- Сам файл будет записан в указанную переменную, что позволит нам работать с ним как, собственно, с переменной.
- Команда open откроет файл по указанному пути.
- Если текстовый файл лежит в одной папке с файлом вашей программы, то в качестве пути файла можно указать только его имя — программа найдет его в своей же папке.
Если же файл находится в другом месте, необходимо прописывать полный путь
- Режим доступа — дополнительный параметр. Файл можно открыть так, чтобы его можно было читать, но нельзя в него ничего записывать. Или наоборот — открыть файл на запись, но тогда он будет переписан, а прочитать его мы не сможем.
- режим “r” откроет файл только на чтение;
- режим “w” — только на запись, причем этот режим полностью очистит документ;
- режим “a” позволит дописывать информацию к имеющейся.
Если не указать этот параметр совсем, файл будет открыт по умолчанию только на чтение.
Чтобы считывать данные из файла, есть несколько способов:
- команда readline будет считывать по одной строке текстового файла;
- readlines создаст массив, в котором будут храниться сразу все строки файла;
- как строку или массив, файл можно перебирать с помощью цикла for.
Важно запомнить — читаются данные из файла именно в строковом формате. Если нужно преобразовать их к числам, делаем это с помощью команды int
Если у нас есть текстовый документ text.txt, в котором прописаны необходимые числа — каждое в новой строке — у нас есть несколько способов создать массив, содержащий все эти числа. Для удобства, пусть в первой строке файла будет количество чисел для обработки.
Цикл долой: как одной строкой изменить все данные списка?В последнем примере мы использовали функцию map. Она занимается тем, что применяет определенную команду ко всем элементам переданного ей массива. В данном случае мы создали массив со всеми числами файла командой file.readlines(). Так как из файла считывается строковой тип данных, функцией map мы применили команду int сразу ко всем считанным числам. Но сам map список не создаст, потому мы ему поможем командой list. |
В итоге результат один — в списке numbers будут находиться все числа из файла в количестве count штук.
Допишем эту часть в наш код и попробуем запустить:
Теперь засечем время, сколько будет работать программа для поиска пар чисел при разном количестве чисел в файле:
- 100 чисел — 0.1 секунда;
- 1000 чисел — 0.2 секунды;
- 10000 чисел — 6.5 секунды.
Станет хуже, если мы начнем искать тройки чисел. Для этого понадобится немного изменить программу — добавить третий внутренний цикл и учесть третье число в проверке произведения:
И снова засекаем время:
- 100 чисел — 0.2 секунды;
- 1000 чисел — 45.5 секунды;
- 10000 чисел — за 8 часов программа так и не выполнилась.
Это явно не самый успешный результат. От перебора надо избавляться и придумывать что-то хитрее.
Ок, бинарный поиск лучше, но зачем тогда нужен линейный?
Часто студенты спрашивают: «Зачем нужен линейный поиск, если бинарный обходит его по всем позициям?» Отвечаю: линейный поиск работает с любыми массивами, а бинарный — только с отсортированными.
Мы дошли до важного принципа: чем сложнее структура данных, тем более быстрые алгоритмы к ней можно применять. Отсортированный массив — более сложная структура, чем неотсортированный
Забегу вперёд и скажу, что сортировка в общем случае требует от O(n * log(n)) до O(n^2) времени.
Создать дополнительные структуры данных несложно, вот только это не бесплатное удовольствие. Они едят много памяти. Как правило, O(n). Отсюда вытекает довольно логичный, но обидный вывод: время и память — «взаимообмениваемые» ресурсы. Алгоритм можно ускорить, пожертвовав памятью, или решать задачу медленно, зато in-place. Кроме того, почти всегда есть промежуточный вариант.
Наибольшее и наименьшее значения функции на множестве(основные определения)
Пусть X – некоторое множество, входящее в D ( f ) функции y = f (x).
Определение 1. Значение f (x) функции y = f (x) в точкеназывают наибольшим значением функции f (x) на множестве X, если для любой точки выполнено неравенство
Наибольшее значение функции f (x) на множестве X часто обозначают
или
Определение 2. Значение f (x) функции y = f (x) в точке называют наименьшим значением функции f (x) на множестве X, если для любой точки выполнено неравенство
Наименьшее значение функции f (x) на множестве X часто обозначают
или
Определение 3. Наибольшее значение функции на множестве X часто называют максимальным значением функции f (x) на множестве X или максимумом функции f (x) на множестве X . Наименьшее значение функции на множестве X часто называют минимальным значением функции f (x) на множестве X или минимумом функции f (x) на множестве X .
Пример 1. Минимальным значением y = x2 на множестве является число (рис. 1).
Рис.1
Максимального значения функция y = x2 на множестве не имеет.
Пример 2. Максимальным значением y = – x2 на множестве является число (рис. 2).
Рис.2
Минимального значения функция y = – x2 на множестве не имеет.
Пример 3. y = x на множестве не имеет ни максимального, ни минимального значений (рис. 3).
Рис.3
Пример 4. y = arctg x на множестве не имеет ни максимального, ни минимального значений (рис. 4).
Рис.4
Как сравнить две ячейки в Excel.
Существует два разных способа выяснения тождества текстовых данных в Excel в зависимости от того, требуется ли это делать с учетом регистра или без него.
Формула без учета регистра.
Чтобы сопоставить две ячейки в Excel без учета регистра, используйте самый простой вариант:
Где A1 и B1 – объекты для сопоставления. Результатом являются логические значения ИСТИНА и ЛОЖЬ.
Если вы хотите в качестве результата вывести свои собственные сообщения для обозначения совпадений и различий, вставьте приведенный выше оператор в логический тест функции ЕСЛИ. Например:
Как вы видите на скриншоте ниже, обе формулы одинаково хорошо сравнивают текст, даты и числа:
Формула с учетом регистра.
В некоторых ситуациях может быть важно не просто сравнить текст, но и учесть регистр символов. Сопоставлениес учетом регистра можно выполнить с помощью функции Excel СОВПАД (EXACT в английской версии):. Где текст1 и текст2 — две сравниваемые ячейки
Где текст1 и текст2 — две сравниваемые ячейки.
Предполагая, что ваши значения находятся в A2 и B2, расчёт выглядит следующим образом:
В результате вы получите ИСТИНА для текстовых данных, точно совпадающих с регистром каждого символа, в противном случае — ЛОЖЬ.
Если вы хотите, чтобы функция СОВПАД выдавала другие результаты, вставьте ее в формулу ЕСЛИ и введите свой собственный текст для вариантов ответа:
На следующем скриншоте показаны результаты с учетом регистра:
Примеры решения задач
Задача 1. Найти
y = 2×3 + 3×2 – 36x + 30 | (1) |
на отрезке .
Решение. Найдем функции (1). Для этого вычислим производную функции (1):
y’ = 6×2 + 6x – 36 = 6 (x2 + x – 6) = 6 (x + 3) (x – 2) y’ = 6×2 + 6x – 36 == 6 (x2 + x – 6) == 6 (x + 3) (x – 2) |
(2) |
Из формулы (2) получаем, что критическими точками функции (1) являются точки x = – 3 , x = 2, причем только точка x = 2 принадлежит отрезку . (1) в критической точке x = 2, а также на концах отрезка x = – 2 и x = 4 , получим:
y (2) = – 14 , |
y (– 2) = 98 , |
y (4) = 62 . |
Ответ. Наибольшее значение функции (1) на отрезке равно 98 , а наменьшее значение функции (1) на отрезке равно – 14 .
Задача 2. Найти
(3) |
на отрезке .
Решение. Найдем функции (3). Для этого вычислим производную функции (3):
(4) |
Решая уравнение y’ = 0 , получим
Заметим также, что (4) функции (3) не существует в точке x = 0 . Следовательно, у функции (3) есть три критические точки: x = 0, и , причем все эти точки лежат на отрезке . (3) в критических точках x = 0, и , а также на концах отрезка x = – 1 и x = 27 , получим:
y (0) = 0 , |
y (– 1) = – 1 , |
y (27) = 99 . |
Ответ. Наибольшее значение функции (3) на отрезке равно 99 , а наменьшее значение функции (3) на отрезке равно – 1 .
Задача 3. Найти
y = (x – 4) e| x | | (5) |
на отрезке .
Решение. Для того, чтобы найти функции (5), перепишем правую часть формулы (5), используя определение модуля:
Следовательно,
В точке x = 0 функции (5) не существует. являются точки
x = 0, x = 3, x = 5.
Все критические точки принадлежат отрезку . (5) в критических точках x = 0, x = 3, x = 5, а также на концах отрезка x = – 1 и x = 6 , получим:
y (0) = – 4 , |
y (3) = – e 3, |
y (5) = e 5, |
y (– 1) = – 5e , |
y (6) = 2e 6. |
Ответ. Наибольшее значение функции (5) на отрезке равно 2e 6, а наменьшее значение функции (5) на отрезке равно – e 3.
Задача 4. Найти
y = (x – 27) e 28 – x | (6) |
на отрезке .
Решение. Найдем функции (6). Для этого вычислим производную функции (6):
y’ = e 28 – x – (x – 27) e 28 – x = (28 – x) e 28 – x y’ = e 28 – x – (x – 27) e 28 – x == (28 – x) e 28 – x |
(7) |
Решая уравнение y’ = 0 , получаем, что функция (6) имеет единственную критическую точку x = 28 , причем эта точка лежит на отрезке . При переходе через точку x = 28 (7) меняет знак с «+» на «–» , откуда вытекает, что точка x = 28 является функции (6) на множестве . Следовательно, точка x = 28 является функции (6) и на отрезке . Найдем (6) в точке x = 28:
y (28) = 1 .
Ответ. Наибольшее значение функции (6) на отрезке равно 1.
Примеры использования функции ОБЛАСТИ для диапазонов Excel
Функция ОБЛАСТИ в Excel используется для подсчета числа областей, содержащихся в переданной ссылке, и возвращает соответствующее значение. В Excel областью является одна ячейка либо интервал смежных ячеек.
Примеры работы функции ОБЛАСТИ в Excel для работы с диапазонами ячеек
Пример 1. Вернуть число, соответствующее количеству областей в диапазонах A1:B7, C14:E19, D9, Пример2!A4:C6.
Исходные данные на листе «Пример1»:
Для подсчета количества областей используем формулу:
Результат вычисления функции является ошибка #ЗНАЧ!, поскольку диапазон «Пример2!A4:C6» находится на другом листе.
Для решения задачи используем формулу с помощью функции СУММ:
Данная функция вычисляет сумму полученных значений в результате выполнения функций ОБЛАСТИ для подсчета количества областей в диапазонах A1:B7;C14:E19;D9 и Пример2!A4:C6 соответственно. Результат:
С помощью такой не хитрой формулы мы получили правильный результат.
Как посчитать количество ссылок на столбцы таблицы Excel
Пример 2. Определить количество столбцов в таблице и записать это значение в ячейку A16.
Таблица:
Используем формулу ОБЛАСТИ, поочередно выделяя каждый столбец ячейки в качестве параметра. Перед выбором последующего столбца нажимаем и удерживаем кнопку Ctrl. Если добавить символ «)» и нажать Enter, появится диалоговое окно с сообщением о том, что было введено слишком много аргументов. Добавим дополнительные открывающую и закрывающую скобки.
Результат вычислений:
Определение принадлежности ячейки к диапазону таблицы
Пример 3. Определить, принадлежит ли ячейка заданному диапазону ячеек.
Рассматриваемая функция также позволяет определить, принадлежит ли ячейка выделенной области. Выполним следующие действия:
- В какой-либо ячейке введем часть формулы «=ОБЛАСТИ((» и выделим произвольную область ячеек для заполнения аргументов:
- Поставим пробел и выберем любую ячейку из данного диапазона:
- Закроем обе скобки и нажмем Enter. В результате получим:
- Если выбрать ячейку не из указанного диапазона, получим ошибку #ПУСТО!.
Данная ошибка означает, что ячейка не принадлежит выделенной области.
Если выделить несколько ячеек внутри диапазона, функция ОБЛАСТИ вернет количество выделенных ячеек:
Описанные особенности работы данной функции могут быть полезны при работе с большим количеством таблиц данных.
Особенности использования функции ОБЛАСТИ в Excel
Функция находиться в категории формул «Ссылки и Массивы». Она имеет следующую форму синтаксической записи:
=ОБЛАСТИ(ссылка)
Описание аргумента:
- ссылка – обязательный для заполнения аргумент, который принимает ссылку на одну или несколько ячеек из указанного диапазона.
Примечания:
- Аргументом рассматриваемой функции может являться только ссылка на диапазон ячеек. Если было передано текстовое или числовое значение, функция выполнена не будет, Excel отобразит диалоговое «В этой формуле обнаружена ошибка».
- В качестве аргумента ссылка могут быть переданы несколько диапазонов ячеек. Для этого необходимо использовать еще по одной открывающей и закрывающей скобки (в этом случае Excel не будет распознавать символ «;» как разделитель аргументов в функции. Например, результатом выполнения функции с указанными аргументами: ((A1:C5;E1:h22)) будет значение 2, поскольку в качестве аргумента переданы два диапазона ячеек.
- Если аргумент рассматриваемой функции ссылается на диапазон ячеек, находящихся на еще не созданном листе, Excel предложит создать лист с указанным именем и сохранить книгу.
- Если некоторые ячейки, например, A1 и B1 были объединены, при выделении полученной ячейки в строке имен будет отображено имя «A1». Несмотря на объединение ячеек функция с аргументами ((A1;B1)) все равно вернет значение 2. Эта особенность показана на рисунке ниже:
- Функция возвращает значения даже для заблокированных ячеек на листах со включенной функцией защиты.
Четвертое наименьшее значение в массиве чисел
Пример 2. Для наглядности работы функции определим 1-й, 2-й, 3-й, 4-й и 5-й элементы массива данных, состоящего из пяти элементов. Из полученных результатов составим новую таблицу, произведя таким образом, по сути, сортировку элементов массива по возрастанию.
Внесем данные в таблицу:
Для решения будем использовать функцию НАИМЕНЬШИЙ, находя последовательно наименьшее 1-е, 2-е, … ,5-е значения и занося их в новую таблицу. Для примера рассмотрим процесс нахождение наименьшего 1-го значения. В ячейке C2 введем следующую формулу:
Функция принимает следующие аргументы:
- B2:B6 – диапазон значений исходного массива;
- 1 – порядок искомого наименьшего значения.
Аналогичным способом заполним ячейки C3, C4, C5 и C6, указывая в качестве аргумента k числа 2, 3, 4 и 5 соответственно.
В результате получим:
То есть, нам удалось отсортировать исходный массив и наглядно продемонстрировать работу функции НАИМЕНЬШИЙ.
- Подобным способом можно выполнить обратную сортировку (от большего к меньшему) используя функцию НАИБОЛЬШИЙ;
- Для сортировки лучше использовать другие возможности Excel, данный пример приведен лишь с целью наглядной демонстрации работы.
Поиск 10 максимальных значений в таблице
не них менять.:((GuestАналогичным способом можно выделять формат со соответствующимДля примера возьмем таблицуЭто обычная формула (не скопировать на остальные Format as Table)
ИНДЕКС и ПОИСКПОЗ. не отсортирован в в списке неизвестного
Найдем адрес ячейки, содержащей то формула вернетСформулируем задачи в виде
той же группеDV а не получается..(( А кроме меня: =МИН(ЕСЛИ(B3:B15=1;C3:C15;»»)) цветом наибольшие значения. цветом заливки. Так расходов: формула массива), т.е. товары в ячейкиили нажмитеЩелкните ячейку в диапазоне. алфавитном порядке. размера по точному максимальное значение в
ошибку #ЧИСЛО! в вопросов. функций, что и
: Или так:kim еще и другие
Формула массива, вводится Просто изменить в же срабатывает правилоЧтобы молниеносно выделить наибольшие можно вводить и G5:G6.Ctrl+TНа вкладкеC1 совпадению списке. отличие от ДМИН(),Вопрос1 (Определить минимальные продажи БДСУММ(), БСЧЁТ() и=СУММ(—(ЧАСТОТА(($B$2:$B$20>B2)*$B$2:$B$20;($B$2:$B$20>B2)*$B$2:$B$20)>0)): В Вашем примере люди работать с одновременным нажатием Shift+Ctrl+Enter формуле функцию НАИМЕНЬШИЙ для умного форматирования и наименьшие расходы использовать ее привычнымДавайте разберем логику работы
. Наша «поумневшая» таблицаФормулы — это левая верхняя
Поиск значений в спискеНиже приведено 3 решения: которая вернет 0
Белова). др. Поэтому составление
pavel159357 нет листа с документом будут, ониМаугли на НАИБОЛЬШИЙ. Например: ячеек столбца и делаем следующее: образом. Кроме того, этой формулы поподробнее. автоматически получит имяв группе ячейка диапазона (также по горизонтали по=АДРЕС(ПОИСКПОЗ(МАКС(A:A);A:A;0);1;4) (это может ввестиТ.е. найдем строки, формул и задание: Спасибо. Так все названием «номера» о формулах вообще: Так будет лучше, =НАИБОЛЬШИЙ($B$2:$B$9;3)=B2 с функцией МИН.Выделите диапазон с расходами в той же Функция ЕСЛИ проверяет
Таблица1Решения называемая начальной ячейкой).
точному совпадению=»A»&ПОИСКПОЗ(МАКС(A:A);A:A;0) в заблуждение, т.к. в которой в критериев производится для отлично работает. toGuest ничего слышать не =МИН(ЕСЛИ($B$3:$B$15=B3;$C$3:$C$15;»»))
Функция =НАИМЕНЬШИЙ() ищет в B2:B10 и выберите категории можно найти
каждую ячейку массива, а к столбцамвыберите команду
ФормулаПоиск значений в списке=ЯЧЕЙКА(«АДРЕС»;ИНДЕКС(A:A;ПОИСКПОЗ(МАКС(A:A);A:A;0))) не понятно есть столбце Продавец содержится ДМИН() аналогично этим kim — конечно,: Ээээ, сорри, это хотят.Владимир заданном (в первомВ разных ситуациях полезно
инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать функции из столбца можно будет, соответственно,
ПодстановкаПОИСКПОЗ(«Апельсины»;C2:C7;0) по горизонтали поЕсли в диапазоне поиска ли в исходной значение Белов. Если функциям. сам мучаюсь с вкладка Значение. ))))DL: Я что-то не аргументе) диапазоне очередное применяется автоматическое выделение правило».БДСУММ (DSUM)Товар обращаться по их.ищет значение «Апельсины»
приблизительному совпадению имеется несколько значений, таблице строки, удоблетворяющие такие строки есть
Для использования этой функции 2007 дома))vikttur: Формула массива понимаю, shevnk задаёт наименьшее значение. Очередь цветом трех ячеекВыберите: «Использовать формулу для,
на предмет равенства именам, используя выраженияЕсли команда в диапазоне C2:C7.Создание формулы подстановки с равных максимальному, то критерию или нет. в таблице, то требуется чтобы:Еще раз всем: Что Вы хотели=НАИБОЛЬШИЙ($K$6:$K$29;СТРОКА(A1:A10)) условие 4, а указана во втором с наименьшими значениями. определения форматируемых ячеек».ДМАКС (DMAX) текущему товару ( типаПодстановка
Начальную ячейку не помощью мастера подстановок все вышеуказанные формулы См. раздел для них выведем
исходная таблица имела заголовки спасибо!!))) сказать формулой
Guest все отвечают с аргументе функции. То Условное форматирование соВ поле ввода введите,БумагаТаблица1
planetaexcel.ru>
недоступна, необходимо загрузить
- Excel значение по адресу ячейки
- Excel диапазон значений
- Excel значение ячейки
- Excel максимальное значение
- Excel найти минимальное значение в ряду чисел
- Excel поиск в диапазоне
- Excel поиск числа в ячейке
- Excel поиск решения
- Excel сложить значения ячеек в excel
- Excel поиск решений
- Исключить повторяющиеся значения в excel
- Excel уникальные значения
Хороший, плохой, средний
У каждого алгоритма есть худший, средний и лучший сценарии работы — в зависимости от того, насколько удачно выбраны входные данные. Часто их называют случаями.
Худший случай (worst case) — это когда входные данные требуют максимальных затрат времени и памяти.
Например, если мы хотим отсортировать массив по возрастанию (Ascending Order, коротко ASC), то для простых алгоритмов сортировки худшим случаем будет массив, отсортированный по убыванию (Descending Order, коротко DESC).
Для алгоритма поиска элемента в неотсортированном массиве worst case — это когда искомый элемент находится в конце массива или если элемента нет вообще.
Лучший случай (best case) — полная противоположность worst case, самые удачные входные данные. Правильно отсортированный массив, с которым алгоритму сортировки вообще ничего делать не нужно. В случае поиска — когда алгоритм находит нужный элемент с первого раза.
Средний случай (average case) — самый хитрый из тройки. Интуитивно понятно, что он сидит между best case и worst case, но далеко не всегда понятно, где именно. Часто он совпадает с worst case и всегда хуже best case, если best case не совпадает с worst case. Да, иногда они совпадают.
Другие применения функции
Функция НАИМЕНЬШИЙ () является достаточно часто используемой, т.к. она позволяет упорядочивать числовые массивы. Ее можно, например, использовать для сортировки списков и таблиц.
Скорее всего вам известны простые функции МИН (MIN) и МАКС (MAX) , позволяющие быстро найти минимальное или максимальное значение в таблице. Но что если нам требуется найти, например, не самое большое, а 2-е или 5-е значение в ТОПе? Здесь помогут функции НАИБОЛЬШИЙ (LARGE) и НАИМЕНЬШИЙ (SMALL) .
Синтаксис этих функций похож:
=НАИБОЛЬШИЙ( Диапазон ; Позиция )
=НАИМЕНЬШИЙ( Диапазон ; Позиция )
- Диапазон – диапазон ячеек с числами, которые мы проверяем.
- Позиция – целое число, представляющее собой позицию (ранг, номер в рейтинге) извлекаемого элемента.
Например, если у нас есть таблица с прибылями по товарам, то с помощью функции НАИБОЛЬШИЙ можно легко определить максимальное (первое в рейтинге) значение из диапазона прибыли (B2:B22), которое фактически будет тождественно формуле МАКС(B2:B22):
Аналогичным образом, функция
… выдаст следующее за ним максимальное (2-е в рейтинге) и т.д.
Массив констант и сумма ТОПов
Что интересно, аргумент Позиция может быть не просто числом, а набором чисел — массивом констант в фигурных скобках. Так, например, для получения суммы первых трех максимальных значений в диапазоне можно использовать формулу с прописанным внутри массивом констант для первых трех позиций (сочетание Ctrl+Shift+Enter в конце можно не нажимать, хотя по факту это и формула массива):
Сортировка формулой
Функцию НАИМЕНЬШИЙ (SMALL) очень удобно использовать для сортировки формулой набора числовых значений. Для этого достаточно сделать вспомогательную нумерацию (1, 2, 3. ) и ссылаться на нее во втором аргументе:
Если вместо НАИМЕНЬШИЙ использовать функцию НАИБОЛЬШИЙ, то сортировка, естественно, будет уже по убыванию.
Только числа
Еще одной полезной особенностью этих функций является то, что они игнорируют все, кроме чисел, т.е. «не видят» текст и логические значения (ИСТИНА, ЛОЖЬ). Это бывает полезно использовать, например, для извлечения всех сумм по заданному наименованию, когда товар встречается больше одного раза и ВПР (VLOOKUP) уже не поможет:
В этом примере функция ЕСЛИ (IF) в столбце С проверяет наименование на соответствие заданному (Огурцы) и выводит сумму или логическую ЛОЖЬ. А для извлечения потом всех полученных сумм из столбца С используется наша функция НАИМЕНЬШИЙ, которая игнорирует ЛОЖЬ — и мы получаем список стоимостей всех сделок по нужному товару.
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки
Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы
Для удобства также приводим ссылку на оригинал (на английском языке).
Допустим, вам нужно узнать, кто имеет наименьший процент ошибок в производственных прогонах на фабрике или в самой крупной заработной плате вашего отдела. Существует несколько способов вычисления наименьшего или наибольшего числа в диапазоне.
Примеры
Ниже приведен пример довольно типичного вложенного оператора ЕСЛИ, предназначенного для преобразования тестовых баллов учащихся в их буквенный эквивалент.
=ЕСЛИ(D2>89;»A»;ЕСЛИ(D2>79;»B»;ЕСЛИ(D2>69;»C»;ЕСЛИ(D2>59;»D»;»F»))))
Этот сложный оператор с вложенными функциями ЕСЛИ следует простой логике:
-
Если тестовых баллов (в ячейке D2) больше 89, учащийся получает оценку A.
-
Если тестовых баллов больше 79, учащийся получает оценку B.
-
Если тестовых баллов больше 69, учащийся получает оценку C.
-
Если тестовых баллов больше 59, учащийся получает оценку D.
-
В противном случае учащийся получает оценку F.
Этот частный пример относительно безопасен, поскольку взаимосвязь между тестовыми баллами и буквенными оценками вряд ли будет меняться, так что дополнительных изменений не потребуется. Но что если вам потребуется разделить оценки на A+, A и A– (и т. д.)? Теперь ваши четыре условных оператора ЕСЛИ нужно переписать с учетом 12 условий! Вот так будет выглядеть ваша формула:
=ЕСЛИ(B2>97;»A+»;ЕСЛИ(B2>93;»A»;ЕСЛИ(B2>89;»A-«;ЕСЛИ(B2>87;»B+»;ЕСЛИ(B2>83;»B»;ЕСЛИ(B2>79;»B-«; ЕСЛИ(B2>77;»C+»;ЕСЛИ(B2>73;»C»;ЕСЛИ(B2>69;»C-«;ЕСЛИ(B2>57;»D+»;ЕСЛИ(B2>53;»D»;ЕСЛИ(B2>49;»D-«;»F»))))))))))))
Она по-прежнему работает правильно и работает правильно, но на написание и проверку нужно много времени, чтобы убедиться, что она работает правильно. Еще одна наиболее взглялая проблема в том, что вам приходилось вручную вводить оценки и эквивалентные буквы оценок. Какова вероятность случайного опечатки? Теперь представьте, что вы пытаетесь сделать это 64 раза с более сложными условиями! Конечно, это возможно, но действительно ли вы хотите обучебиться с такого рода усилиями и возможными ошибками, которые будет трудно обнаружить?
Совет: Для каждой функции в Excel обязательно указываются открывающая и закрывающая скобки (). При редактировании Excel попытается помочь вам понять, что куда идет, окрашивая разными цветами части формулы. Например, во время редактирования показанной выше формулы при перемещении курсора за каждую закрывающую скобку «)» тем же цветом будет окрашиваться соответствующая открывающая скобка. Это особенно удобно в сложных вложенных формулах, когда вы пытаетесь выяснить, достаточно ли в них парных скобок.
Определение наименьшего значения с несколькими критериями
Теперь найдем 3-е наименьшее значение среди тех чисел, которые соответствуют сразу 2-м критериям.
Пусть имеется таблица с тремя столбцами: Название фрукта, Поставщик и Количество.
Таблицу критериев разместим правее таблицы с данными.
Найдем 3-е наименьшее значение среди чисел, находящихся в строках, для которых Название фрукта = Яблоко, а Поставщик = ООО Рога с помощью формулы массива
После набора формулы не забудьте вместо ENTER нажать CTRL+SHIFT+ENTER .
Если ни одна запись в таблице не удовлетворяет одновременно двум критериям (Условие И), то формула возвращает значение ошибки #ЧИСЛО!
СОВЕТ: Создание формул с множественными критериями подробно рассмотрено в разделах Сложения и Подсчета значений .