Stalker Пользователь Сообщений: 19 |
нашел мощную формулу массива типа автофильтра (выборка по 2 и более критериям!!!!) http://spreadsheetpage.com/index.php/tip/summing_and_counting_using_multiple_criteria/ НО!!! например формула завтра добавляю в массив еще 1000 строк получаю формулу формат ячеек копировал. не помогает. в чем заковырка? |
После ввода или изменения формулы массива нажать Ctrl+Shift+Enter не забываете? |
|
Stalker Пользователь Сообщений: 19 |
{quote}{login=}{date=13.04.2010 08:40}{thema=}{post}После ввода или изменения формулы массива нажать Ctrl+Shift+Enter не забываете?{/post}{/quote} не забываю. |
Dophin Пользователь Сообщений: 2684 |
вычислите формулу пошагово -посмотрите как и где спотыкается, выложите пример с неработающей формулой. |
vikttur Пользователь Сообщений: 47199 |
{quote}{login=StalkeR}{date=13.04.2010 07:04}{thema=периодически не работает формула массива}{post}было такое: нужно просматривать колонку «А», а формула видит только с колонки «С». пришлось вставлять пустые колонки, что бы сместить «А» на место «С»{/post}{/quote} |
{quote}{login=The_Prist}{date=13.04.2010 09:31}{thema=}{post}Может стоит диапазоны закрепить? =SUM(($A$2:$A$2000=»Jan»)*($B$2:$B$2000=»North»)*$C$2:$C$2000) А еще можно обойтись без Ctrl+Shift+Enter =SUMPRODUCT(($A$2:$A$2000=»Jan»)*($B$2:$B$2000=»North»);$C$2:$C$2000){/post}{/quote} извините, а по-русски это как? )))) я написал по англицки ибо со страницы формулу стащил для простоты. ))) |
|
Stalker Пользователь Сообщений: 19 |
{quote}{login=vikttur}{date=13.04.2010 09:32}{thema=}{post}{quote}{login=StalkeR}{date=13.04.2010 07:04}{thema=периодически не работает формула массива}{post}было такое: нужно просматривать колонку «А», а формула видит только с колонки «С». пришлось вставлять пустые колонки, что бы сместить «А» на место «С»{/post}{/quote} более. ((( 4,8мб. архив в мыло? |
Микки Пользователь Сообщений: 3280 |
{quote}{login=}{date=13.04.2010 09:38}{thema=Re: }{post}{quote}{login=The_Prist}{date=13.04.2010 09:31}{thema=}{post}Может стоит диапазоны закрепить? =SUM(($A$2:$A$2000=»Jan»)*($B$2:$B$2000=»North»)*$C$2:$C$2000) А еще можно обойтись без Ctrl+Shift+Enter =SUMPRODUCT(($A$2:$A$2000=»Jan»)*($B$2:$B$2000=»North»);$C$2:$C$2000){/post}{/quote} извините, а по-русски это как? )))) я написал по англицки ибо со страницы формулу стащил для простоты. ))){/post}{/quote} |
vikttur Пользователь Сообщений: 47199 |
Упростите пример, сохранив структуру данных, строк 20-30 достаточно. |
Stalker Пользователь Сообщений: 19 |
{quote}{login=vikttur}{date=13.04.2010 09:32}{thema=}{post}{quote}{login=StalkeR}{date=13.04.2010 07:04}{thema=периодически не работает формула массива}{post}было такое: нужно просматривать колонку «А», а формула видит только с колонки «С». пришлось вставлять пустые колонки, что бы сместить «А» на место «С»{/post}{/quote} да!!! просматривает со 2 стоки по 900. делаешь больше — ошибка. один чел говорит проблемы в длинных именах просматриваемых строк. |
vikttur Пользователь Сообщений: 47199 |
У Вас еще и «имена строк»? Тем более покажите зверя |
Stalker Пользователь Сообщений: 19 |
{quote}{login=vikttur}{date=13.04.2010 09:47}{thema=}{post}У Вас еще и «имена строк»? Тем более покажите зверя возможно я не правильно формулирую названия… ))) |
Haken Пользователь Сообщений: 495 |
У Вас в ячейке D969 на листе «потреб» стоит «56/0.11». Это значение не суммируется и из-за этого ошибка вылетает при расчетах. |
Dophin Пользователь Сообщений: 2684 |
ну и что? сложно было самому ошибку выцепить чтоли? у вас в ячейке Д969 стоит значение 56/0.11, что не является числом и выдает ошибку. |
vikttur Пользователь Сообщений: 47199 |
D969=56/0.11 — неверное значение, об него и спотыкается. |
Stalker Пользователь Сообщений: 19 |
{quote}{login=Dophin}{date=13.04.2010 10:01}{thema=}{post}ну и что? сложно было самому ошибку выцепить чтоли? у вас в ячейке Д969 стоит значение 56/0.11, что не является числом и выдает ошибку.{/post}{/quote} прошу прощения, что отнял время. …а сводная суммирует…. 8-\\ |
Serge Пользователь Сообщений: 11308 |
{quote}{login=StalkeR}{date=13.04.2010 10:32}{thema=Re: }{post} В сводной Шплинт 3.2х32.019 ГОСТ397-79 даёт значение 0,60 |
Stalker Пользователь Сообщений: 19 |
{quote}{login=The_Prist}{date=13.04.2010 10:42}{thema=}{post}=СУММ((потреб!$B$2:$B$1500=$A5)*(потреб!$A$2:$A$1500=D$4)*Ч(потреб!$D$2:$D$1500)){/post}{/quote} это чего? Ч будет только числовые суммировать? |
Stalker Пользователь Сообщений: 19 |
{quote}{login=Serge 007}{date=13.04.2010 10:45}{thema=Re: Re: }{post}{quote}{login=StalkeR}{date=13.04.2010 10:32}{thema=Re: }{post} В сводной Шплинт 3.2х32.019 ГОСТ397-79 даёт значение 0,60 не просчитывал, просто исправил если число * текст = ошибка |
vikttur Пользователь Сообщений: 47199 |
Верить правильным данным. Или ставить проверку, например, =СЧЕТЗ(диапазон)-СЧЕТ(диапазон) |
Serge Пользователь Сообщений: 11308 |
{quote}{login=StalkeR}{date=13.04.2010 11:55}{thema=Re: Re: Re: }{post} |
Stalker Пользователь Сообщений: 19 |
{quote}{login=Serge 007}{date=13.04.2010 12:07}{thema=Re: Re: Re: Re: }{post}{quote}{login=StalkeR}{date=13.04.2010 11:55}{thema=Re: Re: Re: }{post} не то имею ввиду. если таких строк с материалами и количествами 10000 будет? |
Serge Пользователь Сообщений: 11308 |
#23 13.04.2010 13:00:42 {quote}{login=StalkeR}{date=13.04.2010 12:31}{thema=Re: Re: Re: Re: Re: }Не то имею ввиду. См пример. Прикрепленные файлы
<#0> |
Наверное, где-то среди этих ячеек закралась ошибка. Пробовали применить формулу без ЕСЛИОШИБКА?
В строке формул стать на формулу, нажать F9. формула заменится результатом вычислений. Что там? Пустая строка «»? Значит, возникает ошибка внутри формулы. Откатить назад, выделить законченный фрагмент формулы, нажать F9 — выделенная часть пересчитается и покажет результат. Если порядок, откатиться (но можно и оставить результат) и продолжить проверку. Так можно определить, какой фрагмент вызывает ошибку.
Дополнение: В строке 8 ссылка на пустую ячейку E8
В строке 32 ищите с помощью F9
Наверное, где-то среди этих ячеек закралась ошибка. Пробовали применить формулу без ЕСЛИОШИБКА?
В строке формул стать на формулу, нажать F9. формула заменится результатом вычислений. Что там? Пустая строка «»? Значит, возникает ошибка внутри формулы. Откатить назад, выделить законченный фрагмент формулы, нажать F9 — выделенная часть пересчитается и покажет результат. Если порядок, откатиться (но можно и оставить результат) и продолжить проверку. Так можно определить, какой фрагмент вызывает ошибку.
Дополнение: В строке 8 ссылка на пустую ячейку E8
В строке 32 ищите с помощью F9 vikttur
Сообщение Наверное, где-то среди этих ячеек закралась ошибка. Пробовали применить формулу без ЕСЛИОШИБКА?
В строке формул стать на формулу, нажать F9. формула заменится результатом вычислений. Что там? Пустая строка «»? Значит, возникает ошибка внутри формулы. Откатить назад, выделить законченный фрагмент формулы, нажать F9 — выделенная часть пересчитается и покажет результат. Если порядок, откатиться (но можно и оставить результат) и продолжить проверку. Так можно определить, какой фрагмент вызывает ошибку.
Дополнение: В строке 8 ссылка на пустую ячейку E8
В строке 32 ищите с помощью F9 Автор — vikttur
Дата добавления — 18.09.2017 в 00:24
Источник
Формулы массива в Excel
Терминология
Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице Excel при желании можно найти один или несколько таких массивов:
Формулы массива в Excel — это специальные формулы для обработки данных из таких массивов. Формулы массива делятся на две категории — те, что возвращают одно значение и те, что дают на выходе целый набор (массив) значений. Рассмотрим их на простых примерах.
Пример 1. Классика жанра — товарный чек
Задача: рассчитать общую сумму заказа. Если идти классическим путем, то нужно будет добавить столбец, где перемножить цену и количество, а потом взять сумму по этому столбцу. Если же применить формулу массива, то все будет гораздо красивее:
- выделяем ячейку С7
- вводим с клавиатуры =СУММ(
- выделяем диапазон B2:B5
- вводим знак умножения (звездочка)
- выделяем диапазон C2:C5 и закрываем скобку функции СУММ — в итоге должно получиться так:
Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.
Обратите внимание на фигурные скобки, появившиеся в формуле — отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно — они автоматически появляются при нажатии Ctrl + Shift + Enter.
Пример 2. Разрешите Вас. транспонировать?
При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.
Допустим, имеем двумерный массив ячеек, который хотим транспонировать.
- Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
- вводим функцию транспонирования =ТРАНСП(
- в качестве аргумента функции выделяем наш массив ячеек A1:B8
жмем Ctrl + Shift + Enter и получаем «перевернутый массив» в качестве результата:
Редактирование формулы массива
Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.
Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.
Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)
Пример 3. Таблица умножения
Вспомните детство, школу, свою тетрадку по математике. На обороте тетради на обложке было что? Таблица умножения вот такого вида:
При помощи формул массива она вся делается в одно движение:
- выделяем диапазон B2:K11
- вводим формулу =A2:A11*B1:K1
- жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива
и получаем результат:
Пример 4. Выборочное суммирование
Посмотрите как при помощи одной формулы массива красиво и легко выбираются данные по определенному товару и заказчику:
В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.
Источник
Excel works!
Excel работает за вас
Excel works!
Thanks for Visiting
Нельзя изменять часть массива. Ошибка Excel
Встречали такую ошибку «Нельзя изменять часть массива»? Мне вот за последнее время несколько раз попадался файл, в котором нельзя было удалить определенные строки или столбцы, взамен выползает ошибка как на рисунке
Нельзя изменять часть массива — уберите все объединение ячеек в файле
Как мы уже не раз обсуждали, объединение ячеек — это локальное зло Excel. Если вам нужно сделать красивое оформление текста, выровнять его по середине, то можно воспользоваться специальной возможностью Excel.
Чтобы удалить все объединение ячеек, сделайте простые действия — выделите всю таблицу на листе, нажав на кнопку в верхнем левом углу
Рекомендую выбирать именно эту кнопку, а не выделять вручную, т.к. возможно у вас есть объединения в невидимой части таблицы.
Затем переходим Главная — блок Выравнивание — Кнопку объединить ячейки, если она активна как на картинке, значит объединения есть — жмем на нее, должно помочь.
2. Используется формула массива
Если не помог предыдущий пункт пробуем так. В расчетах используется формула массива? Удалите ее на время изменений, если вы не знаете есть ли она в файле делаем так:
Включаем в Меню формулы видимость всех формул в модуле зависимости формул
И ищите, где формулы помещены в фигурные скобки <>. Как например:
3. Ячейка ссылает на группу ячеек с формулой массива
Скорее всего это глюк Excel 2007 и версий ниже. Т.е. есть формула массива, она корректно работает и так далее. Но вы ссылаетесь на 2 и более ячеек из этого массива, чтобы посчитать например сумму.
При попытке удалить строку, где вы считаете сумму, выдает ошибку выше. Не могу выложить пример — защищен конфиденциальностью, но, поверьте мне на слово, потратил минут 10 когда искал, почему не могу удалить строку.
Глюк обнаружен только в этом файле. На англоязычных форумах уже сообщили об это ошибке и в версиях 10 и выше она должна быть исправлена.
Я же могу предложить поискать самим такое условие или, если файл огромный, перенести данные на новый чистый лист как значение — и перезаписать формулы заново.
Если и это не помогает, то видимо придется перенести данные в блокнот, чтобы все форматы и мусор не сохранились и вернуть в Excel, но это советую делать только в самых крайних случаях.
Источник
Работа с массивами функций в Excel
Массив функций Excel позволяет решать сложные задачи в автоматическом режиме одновременно. Те, которые выполнить посредством обычных функций невозможно.
Фактически это группа функций, которые одновременно обрабатывают группу данных и сразу выдают результат. Рассмотрим подробно работу с массивами функций в Excel.
Виды массивов функций Excel
Массив – данные, объединенные в группу. В данном случае группой является массив функций в Excel. Любую таблицу, которую мы составим и заполним в Excel, можно назвать массивом. Пример:
В зависимости от расположения элементов различают массивы:
- одномерные (данные находятся в ОДНОЙ строке или в ОДНОМ столбце);
- двумерные (НЕСКОЛЬКО строк и столбцов, матрица).
Одномерные массивы бывают:
- горизонтальными (данные – в строке);
- вертикальными (данные – в столбце).
Примечание. Двумерные массивы Excel могут занимать сразу несколько листов (это сотни и тысячи данных).
Формула массива – позволяет обработать данные из этого массива. Она может возвращать одно значение либо давать в результате массив (набор) значений.
С помощью формул массива реально:
- подсчитать количество знаков в определенном диапазоне;
- суммировать только те числа, которые соответствуют заданному условию;
- суммировать все n-ные значения в определенном диапазоне.
Когда мы используем формулы массива, Excel видит диапазон значений не как отдельные ячейки, а как единый блок данных.
Синтаксис формулы массива
Используем формулу массива с диапазоном ячеек и с отдельной ячейкой. В первом случае найдем промежуточные итоги для столбца «К оплате». Во втором – итоговую сумму коммунальных платежей.
- Выделяем диапазон Е3:Е8.
- В строку формул вводим следующую формулу: =C3:C8*D3:D8.
- Нажимаем одновременно клавиши: Ctrl + Shift + Enter. Промежуточные итоги посчитаны:
Формула после нажатия Ctrl + Shift + Enter оказалась в фигурных скобках. Она подставилась автоматически в каждую ячейку выделенного диапазона.
Если попытаться изменить данные в какой-либо ячейке столбца «К оплате» — ничего не выйдет. Формула в массиве защищает значения диапазона от изменений. На экране появляется соответствующая запись:
Рассмотрим другие примеры использования функций массива Excel – рассчитаем итоговую сумму коммунальных платежей с помощью одной формулы.
- Выделяем ячейку Е9 (напротив «Итого»).
- Вводим формулу вида: =СУММ(C3:C8*D3:D8).
- Нажимаем сочетание клавиш: Ctrl + Shift + Enter. Результат:
Формула массива в данном случае заменила две простые формулы. Это сокращенный вариант, вместивший всю необходимую информацию для решения сложной задачи.
Аргументы для функции – одномерные массивы. Формула просматривает каждый из них по отдельности, совершает заданные пользователем операции и генерирует единый результат.
Рассмотрим ее синтаксис:
Функции работы с массивами Excel
Предположим, в следующем месяце планируется увеличение коммунальных платежей на 10%. Если мы введем обычную формулу для итога =СУММ((C3:C8*D3:D8)+10%), то вряд ли получим ожидаемый результат. Нам нужно, чтобы каждый аргумент увеличился на 10%. Чтобы программа поняла это, мы используем функцию как массив.
- Посмотрим, как работает оператор «И» в функции массива . Нам нужно узнать, сколько мы платим за воду, горячую и холодную. Функция: . Итого – 346 руб.
- Функция «Сортировки» в формуле массива. Отсортируем суммы к оплате в порядке возрастания. Для списка отсортированных данных создадим диапазон. Выделим его. В строке формул вводим . Жмем сочетание Ctrl + Shift + Enter.
- Транспонированная матрица. Специальная функция Excel для работы с двумерными массивами. Функция «ТРАНСП» возвращает сразу несколько значений. Преобразует горизонтальную матрицу в вертикальную и наоборот. Выделяем диапазон ячеек, где количество строк = числу столбцов в таблице с исходными данными. А количество столбцов = числу строк в исходном массиве. Вводим формулу: . Получается «перевернутый» массив данных.
- Поиск среднего значения без учета нулей. Если мы воспользуемся стандартной функцией «СРЗНАЧ», то получим в результате «0». И это будет правильно. Поэтому вставляем в формулу дополнительное условие: 0;A1:A8))’ >. Получаем:
Распространенная ошибка при работе с массивами функций – НЕ нажатие кодового сочетания «Ctrl + Shift + Enter» (никогда не забывайте эту комбинацию клавиш). Это самое главное, что нужно запомнить при обработке больших объемов информации. Правильно введенная функция выполняет сложнейшие задачи.
Источник
Adblock
detector
@california2007
Sorry, but I disagree. To use 365 as if nothing has changed is a dreadful choice. True Mike Girvin puts out some great material with more tricks than a cart load of monkeys, but the game has changed. All of the time-honoured tricks with AGGREGATE (to compress a list of indices) and ROW (to generate a sequence of numbers) are no longer needed.
= FILTER(Table, (SalesRep=SelectedRep)*(Date=selectedDate))
is neater or, padding it out
= LET(
repCriterion, (SalesRep=selectedRep)+(selectedRep=""),
dateCriterion, (Date=selectedDate)+(selectedDate=""),
FILTER(Table, repCriterion*dateCriterion)
)
is more flexible in terms of catering for omitted criteria. Similarly, Mike’s other formula would now be
= TAKE(SORTBY(UnitsRep, Units,-1), Top)
or, failing that,
= INDEX(
SORTBY(UnitsRep, Units,-1),
SEQUENCE(Top),
{1,2}
)
Содержание
- Устранение проблем с вычислением
- Способ 1: изменение формата ячеек
- Способ 2: отключение режима «Показать формулы»
- Способ 3: исправление ошибки в синтаксисе
- Способ 4: включение пересчета формулы
- Способ 5: ошибка в формуле
- Вопросы и ответы
Одной из наиболее востребованных возможностей Excel является работа с формулами. Благодаря данной функции программа самостоятельно производит различного рода расчеты в таблицах. Но иногда случается так, что пользователь вписывает формулу в ячейку, но она не выполняет своего прямого назначения – вычисления результата. Давайте разберемся, с чем это может быть связано, и как решить данную проблему.
Устранение проблем с вычислением
Причины проблем с вычислением формул в Экселе могут быть совершенно разными. Они могут быть обусловлены, как настройками конкретной книги или даже отдельного диапазона ячеек, так и различными ошибками в синтаксисе.
Способ 1: изменение формата ячеек
Одной из самых распространенных причин, по которой Эксель вообще не считает или не правильно считает формулы, является неверно выставленный формат ячеек. Если диапазон имеет текстовый формат, то расчет выражений в нем вообще не производится, то есть, они отображаются как обычный текст. В других случаях, если формат не соответствует сути рассчитываемых данных, результат, выводимый в ячейку, может отображаться некорректно. Давайте выясним, как решить эту проблему.
- Для того, чтобы посмотреть, какой формат имеет конкретная ячейка или диапазон, переходим во вкладку «Главная». На ленте в блоке инструментов «Число» имеется поле отображения текущего формата. Если там указано значение «Текстовый», то формула точно вычисляться не будет.
- Для того, чтобы произвести смену формата достаточно кликнуть по данному полю. Откроется список выбора форматирования, где можно выбрать значение, соответствующее сути формулы.
- Но выбор типов формата через ленту не такой обширный, как через специализированное окно. Поэтому лучше применить второй вариант форматирования. Выделяем целевой диапазон. Кликаем по нему правой кнопкой мыши. В контекстном меню выбираем пункт «Формат ячеек». Можно также после выделения диапазона нажать комбинацию клавиш Ctrl+1.
- Открывается окно форматирования. Переходим во вкладку «Число». В блоке «Числовые форматы» выбираем тот формат, который нам нужен. Кроме того, в правой части окна имеется возможность выбрать тип представления конкретного формата. После того, как выбор произведен, кликаем по кнопке «OK», размещенной внизу.
- Выделите поочередно ячейки, в которых функция не считалась, и для пересчета нажмите функциональную клавишу F2.
Теперь будет производиться расчет формулы в стандартном порядке с выводом результата в указанную ячейку.
Способ 2: отключение режима «Показать формулы»
Но возможно причина того, что вместо результатов расчета у вас отображаются выражения, состоит в том, что в программе включен режим «Показать формулы».
- Чтобы включить отображение итогов, переходим во вкладку «Формулы». На ленте в блоке инструментов «Зависимости формул», если кнопка «Показать формулы» активна, то кликаем по ней.
- После этих действий в ячейках снова вместо синтаксиса функций начнет отображаться результат.
Способ 3: исправление ошибки в синтаксисе
Формула также может отображаться как текст, если в её синтаксисе были допущены ошибки, например, пропущена или изменена буква. Если вы вводили её вручную, а не через Мастер функций, то такое вполне вероятно. Очень распространенной ошибкой, связанной с отображением выражения, как текста, является наличие пробела перед знаком «=».
В таких случаях нужно внимательно пересмотреть синтаксис тех формул, которые неправильно отображаются, и внести в них соответствующие коррективы.
Способ 4: включение пересчета формулы
Бывает и такая ситуация, что формула вроде и отображает значение, но при изменении связанных с ней ячеек сама не меняется, то есть, результат не пересчитывается. Это означает, что у вас неправильно настроены параметры вычислений в данной книге.
- Перейдите во вкладку «Файл». Находясь в ней, следует кликнуть по пункту «Параметры».
- Откроется окно параметров. Нужно перейти в раздел «Формулы». В блоке настроек «Параметры вычислений», который расположен в самом верху окна, если в параметре «Вычисления в книге», переключатель не установлен в позицию «Автоматически», то это и есть причина того, что результат вычислений неактуальный. Переставляем переключатель в нужную позицию. После выполнения вышеуказанных настроек для их сохранения в нижней части окна жмем на кнопку «OK».
Теперь все выражения в данной книге будут автоматически пересчитываться при изменении любого связанного значения.
Способ 5: ошибка в формуле
Если же программа все-таки производит расчет, но в результате показывает ошибку, то тут вероятна ситуация, что пользователь просто ошибся при вводе выражения. Ошибочными формулами считаются те, при расчете которых в ячейке появляются следующие значения:
- #ЧИСЛО!;
- #ЗНАЧ!;
- #ПУСТО!;
- #ДЕЛ/0!;
- #Н/Д.
В этом случае нужно проверить, правильно ли записаны данные в ячейках, на которые ссылается выражение, нет ли в них ошибок в синтаксисе или не заложено ли в самой формуле какое-либо некорректное действие (например, деление на 0).
Если функция сложная, с большим количеством связанных ячеек, то легче проследить вычисления с помощью специального инструмента.
- Выделяем ячейку с ошибкой. Переходим во вкладку «Формулы». На ленте в блоке инструментов «Зависимости формул» кликаем по кнопке «Вычислить формулу».
- Открывается окно, в котором представляется полный расчет. Нажимаем на кнопку «Вычислить» и просматриваем вычисление пошагово. Ищем ошибку и устраняем её.
Как видим, причины того, что Эксель не считает или не правильно считает формулы, могут быть совершенно различными. Если вместо расчета у пользователя отображается сама функция, тот в этом случае, скорее всего, либо ячейка отформатирована под текст, либо включен режим просмотра выражений. Также, возможна ошибка в синтаксисе (например, наличие пробела перед знаком «=»). В случае если после изменения данных в связанных ячейках результат не обновляется, то тут нужно посмотреть, как настроено автообновление в параметрах книги. Также, нередко вместо корректного результата в ячейке отображается ошибка. Тут нужно просмотреть все значения, на которые ссылается функция. В случае обнаружения ошибки следует устранить её.
- Что такое формула массива в Excel
- Массивы в Excel
- Отличие массивов от диапазонов в Excel
- Размерность массивов
- Виды массивов
- Методы создания массивов
- Массив констант, созданный вручную
- Именованный массив констант
- С помощью функций
- С помощью математических операторов
- С помощью операторов сравнения
- С помощью других массивов
- С помощью комбинаций указанных методов
- Вывод массива на лист
- Взаимодействие функций Excel с массивами
- Формулы массива – примеры формул
Формулы массива – загадочная и, казалось бы, сложнейшая сущность в Excel. Но на практике все очень просто, нужно только понять принцип их работы и рассмотреть несколько примеров.
Не знаю, новичок вы в Excel или уже опытный пользователь, но коль судьба привела вас на эту страницу, в ходе прочтения вы:
- узнаете все о формулах массива;
- увидите множество примеров таких формул;
- сможете начать активно их применять на практике.
Поехали!
Формула массива (array formula) – это такая формула, в процессе вычисления которой создается один или несколько массивов. При этом не обязательно как результат вычисления, но и как промежуточный этап.
Будьте на 100% уверены: если формула
- принимает массив на вход,
- создает его как промежуточную сущность
- или выводит как результат вычислений
– это формула массива.
Слишком очевидно и все еще непонятно? Не беда – читаем далее.
На деле, прежде, чем говорить о формулах массива, нужно упомянуть сами массивы и их отличие от диапазонов. Т.к. многие не до конца понимают разницу.
Массивы в Excel
Массив (array) – это фиксированный набор элементов с фиксированным порядком. Иными словами, все элементы массива, включая их положение в нем, являются его неотъемлемой частью, их порядок и количество нельзя изменить.
Отличие массивов от диапазонов в Excel
В отличие от массива, диапазон (range) – это просто метод адресации к ячейкам в Excel, никак не связанный с самим их содержимым.
Между ячейками диапазона можно вставить дополнительные столбцы и строки, сделав его длиннее и шире, а ссылка на такой диапазон изменится автоматически.
Содержимое диапазона также можно свободно сортировать, если в нем нет объединенных ячеек.
Если же на лист Excel выведен массив, ни сортировка строк, ни вставка строк и столбцов в середину диапазона, в который он выведен, не возможна – это нарушило бы само его определение.
При попытке изменения порядка элементов массива Excel выдаст ошибку. К сожалению, она не очень информативна и не сообщает, какой массив или массивы имеются в виду. Текст ошибки:
Нельзя изменить часть массива.
Размерность массивов
Как массивы, так и диапазоны в Excel могут быть одномерными (вектор), двумерными (таблица) и трехмерными (многослойная таблица).
Одномерные массивы (векторы) в свою очередь могут быть вертикальными и горизонтальными.
Трехмерные массивы – довольно редко используемая на практике сущность.
Виды массивов
По типам элементов в них:
По типу данных –
- числовой массив (массив чисел)
- строковый массив (текстовые значения)
- булевый массив (значения ИСТИНА-ЛОЖЬ)
- смешанного типа
По изменяемости элементов –
- массив констант,
- вычисляемый массив
Методы создания массивов
Создать массив в Excel можно множеством способов. Ниже – подробнее с примерами. Все перечисленные выражения в них являются формулами массива, даже если не содержат в себе функций.
Массив констант, созданный вручную
Одномерные и двумерные массивы констант можно создавать вручную и сразу выводить на лист безо всяких дополнительных операций над ними.
При этом разделителем между элементами слева направо является точка с запятой, а разделителем строк – двоеточие.
Двумерные массивы вводятся построчно, т.е. сначала первая строка через точку с запятой, далее двоеточие, вторая строка через точку с запятой, и так далее.
Именованный массив констант
Если приходится один и тот же набор сущностей использовать часто в формулах, его можно сохранить в книге как именованный массив.
Массив цифр как в примере ниже, поможет быстро найти цифры в текстовых ячейках.
Это позволит больше не вводить его вручную, а обращаться к нему по его имени. Более того, Microsoft Excel помогает при их вводе всплывающими подсказками.
С помощью функций
Указанные выше методы создания массивов довольно редки на практике. Чаще всего массивы создаются автоматически при обращении различных функций к диапазонам в Excel.
Единственное условие для создания массива с помощью функции – функция не должна обладать агрегирующим свойством. Например, СУММ, СРЗНАЧ не создадут массив при обращении к диапазону.
На этом сайте есть статья – как дописать символ, слово или текст к нескольким ячейкам. Там рассматриваются несколько способов, в том числе без создания дополнительного столбца. Но вот еще один – с помощью функции СЦЕПИТЬ и формулы массива:
Кавычки-ёлочки в этой формуле нам помогает создать функция СИМВОЛ.
С помощью математических операторов
Достаточно применить любую из математических операций к диапазону – и будет создан массив, аналогичный по размерам.
С помощью операторов сравнения
Аналогично математическим операторам, массивы создаются при сравнении диапазонов с константой или значением ячейки. Результатом операции сравнения являются значения ИСТИНА или ЛОЖЬ.
С помощью других массивов
В двух предыдущих примерах массивы создавались на основе взаимодействия диапазона ячеек и некой константы.
Но можно создать массив и по принципу наоборот – на основе одной ячейки, произведя ее взаимодействие (операторами или функциями) с массивом констант.
Размер результирующего массива в таком случае будет аналогичен размеру массива констант.
Еще раз обратите внимание на разделители строк и столбцов в массивах. Столбцы разделяются точкой с запятой, строки – двоеточием.
С помощью комбинаций указанных методов
Как вы уже догадались, возможности фантазии безграничны – можно строить какие угодно комбинации перечисленных выше методов, производя операции над массивами и диапазонами.
Вывод массива на лист
Для корректного вывода массива на лист нужно выделить диапазон ячеек эквивалентной размерности и размера, использовать метод создания массива (вручную или формулой), и нажать
Ctrl+Shift+Enter
Если выделить недостаточное количество ячеек – будут выведены не все элементы массива, а только те, что соответствуют по порядку.
Если выделить избыточное количество – лишние ячейки выдадут ошибку #Н/Д.
На примере результирующий массив должен быть размером 5*5, но перед вводом формулы массива был выделен диапазон 6*6.
Взаимодействие функций Excel с массивами
Как мы уже выяснили чуть ранее, некоторые функции могут создавать массивы, если их применить к диапазону ячеек. Они обычно обращаются к одной ячейке, и таких функций в Excel большинство.
Однако, есть ряд функций, называемых агрегирующими. Если им на вход подается диапазон или массив, они возвращают единственное результирующее значение. Самая популярная – функция СУММ. Но есть и множество других.
Из раздела математических функций к таковым также относятся ПРОИЗВЕД, СУММПРОИЗВ, СУММЕСЛИ, СУММЕСЛИМН.
Практически все статистические функции по природе берут на вход диапазон или массив и возвращают одно число. Наиболее популярные из них – СРЗНАЧ, МИН, МАКС, СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ.
Среди логических функций агрегирующим свойством обладают функция И и функция ИЛИ.
Ну и особняком можно выделить функции поиска. Их нельзя в полной мере назвать агрегирующими, но их взаимодействие с массивами весьма похоже. Ведь они тоже:
- учитывают весь массив
- выводят одно значение
ВЫБОР, ВПР, ГПР, ИНДЕКС, ПОИСКПОЗ – эти функции поиска используются наиболее часто.
Формулы массива – примеры формул
Ну что ж, теперь, когда основной понятийный аппарат рассмотрен, приступим к практическому этапу. Я покажу на нескольких задачках из реальной жизни, как их решать, используя комбинации функций и массивов, которые они создают и обсчитывают.
Приступаем к практическим шагам:
Учимся формулам массива 1/4:
Как создать алфавит в Excel