Excel

Работа с формулами в excel: Функции Excel (по категориям) — Служба поддержки Майкрософт

Содержание

Формулы — Запорізька обласна універсальна наукова бібліотека

09.01.2021 Коментарів — 0 Переглядів — 847

Начало работы

Начните со знака равенства

Для расчёта в Excel используют формулы как обучающий пример рассмотрим следующее:

Два компакт-диска, купленные в феврале, стоили 12,99 и 16,99 грн.. Их суммарная стоимость равна расходам на компакт-диски в этом месяце.

Введите формулу в ячейку C6.
Нажмите клавишу ВВОД, чтобы отобразить результат вычислений по формуле.
Формула отображается в строке формул каждый раз при выборе ячейки C6.


Эти значения можно сложить в Excel, введя в ячейку C6 простую формулу.

Формулы в Microsoft Excel всегда начинаются со знака равенства (=). Чтобы сложить числа 12,99 и 16,99, введите в ячейку C6 формулу

=12,99+16,99

Знак сложения (+) — это математический оператор, обозначающий суммирование значений.

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

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

Для вычисления разности используйте знак «минус», для вычисления произведения — знак «звездочка» (*), для вычисления частного — знак «косая черта» (/). Обязательно начинайте формулу со знака равенства.

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

 

Суммирование значений по столбцу

 

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

 На вкладке Главная в группе Правка нажмите кнопку Сумма.

 Ячейки будут обведены цветовым индикатором, в ячейке B7 будет отображена формула.

 Нажмите клавишу ВВОД, чтобы отобразить результат вычислений по формуле.

 Щелкните в ячейке B7, чтобы отобразить формулу в строке формул.


 

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

Расходы за январь можно подсчитать, выбрав ячейку B7 и нажав кнопку Сумма в группе Правка на вкладке Главная. Таким образом будет введена функция «СУММ», складывающая значения по столбцу в интервале ячеек. Использование этой функции упрощает суммирование, если требуется сложить большое число значений, при этом нет необходимости набирать формулу.

По нажатии кнопки ВВОД в ячейке B7 будет отображен результат вычислений (95,94). Формула =CУММ(B3:B6) отображается в строке формул при каждом щелчке в ячейке B7.

Знаки «B3:B6» называются аргументом; аргументы сообщают функции «СУММ», какие значения требуется суммировать. Использование ссылки на ячейку (B3:B6) вместо самих значений в ячейках позволяет автоматически обновлять результат, если значение в ячейках изменится. Двоеточие (:) между B3 и B6 обозначает диапазон ячеек в столбце B, строки с третьей по шестую. Круглые скобки отделяют аргумент от функции.

В следующих двух уроках более подробно рассказывается о ссылках на ячейки и функции.

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

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

 

Копирование формулы вместо создания новой

Иногда копирование формул существенно проще создания новых. 

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

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

 

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

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

Типы ссылок

Относительные. Относительные ссылки в формуле автоматически изменяются при копировании в строке или столбце. Это сделало возможным копирование формулы, относящейся к январю, для вычисления февральских расходов в первом уроке. Как показывает приведенный здесь пример, при копировании формулы =C4*$D$9 из строки в строку относительная ссылка на ячейку изменяется с C4 на C5 и C6.

Абсолютные. Абсолютные ссылки на ячейки имеют постоянное значение. Абсолютные ссылки не изменяются при копировании формулы из ячейки в ячейку. Абсолютные ссылки обозначаются знаком доллара ($), например $D$9. На рисунке показано, что при копировании со строки на строку формулы =C4*$D$9 абсолютная ссылка на ячейку $D$9 не изменяется.

Смешанные. Смешанная ссылка является абсолютной по столбцу и относительной по строке или относительной по столбцу и абсолютной по строке. Например, ссылка $A1 является абсолютной по столбцу A и относительной по строке 1. При копировании смешанной ссылки из ячейки в ячейку ее относительная ссылка меняется, а абсолютная остается неизменной.

 

 Относительные ссылки на ячейки меняются от строки к строке.

 Абсолютная ссылка на ячейку всегда ссылается на ячейку D9.

 В ячейке D9 хранится значение скидки, равное 7 процентам.


 

Абсолютные ссылки используются в случаях, когда при копировании формулы требуется сохранить ссылку неизменной. По умолчанию ссылки являются относительными. Чтобы изменить тип ссылки на абсолютный, требуется ввести знак доллара ($), как показано в примере под цифрой 2.

Допустим, получено несколько купонов со скидкой в семь процентов на прокат видеокассет, фильмов и компакт-дисков. Требуется вычислить сумму, которую можно сэкономить за месяц, используя скидки. Для вычисления 7 процентов от февральских расходов можно использовать формулу.

Введите размер скидки 0,07 в свободную ячейку D9, в ячейку D4 введите формулу, начинающуюся с =C4*. Затем введите знак доллара ($) и букву D, чтобы указать абсолютную ссылку на столбец D, и $9, чтобы указать абсолютную ссылку на строку 9.

Результатом вычислений по формуле будет произведение значений ячеек C4 и D9.

Затем с помощью маркера заполнения  скопируйте формулу из ячейки D4 в ячейку D5. При копировании формулы относительная ссылка изменится с C4 на C5, а абсолютная ссылка на размер скидки в ячейке D9 останется неизменной ($D$9).
 

СУММ — это только одна из многих функций Excel. Эти встроенные формулы упрощают процесс ввода формул для вычислений. Используя функции, можно легко и быстро создавать формулы, написание которых представляет трудность для пользователя.

Нахождение среднего значения

Функцию «СРЗНАЧ» предназначена для вычисления среднего значения.

Excel введет формулу за вас. Щелкните по ячейке в которой вы хотите видеть результат. На вкладке Главная в группе Правка

 щелкните стрелку на кнопке Сумма и выберите в списке значение Среднее. В строке формул  в верхней части листа отобразится формула =СРЗНАЧ(кординаты ячеек). после чего нажимаете Enter. 

Формулу также можно ввести непосредственно в ячейку.

Примечание. Кнопка Сумма также находится на вкладке Формулы в группе Библиотека функций.

 

 

Непонятные знаки на листе

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

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

#ССЫЛКА! Ссылка на ячейку неверна. Ячейки могли быть удалены или вставлены поверх.

#ИМЯ? Опечатка в имени функции или использование имени, неизвестного программе Excel.

Использование других функций

 

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

Чтобы увидеть все другие функции, щелкните стрелку на кнопке Сумма в группе Правка на вкладке Главная и затем щелкните пункт Другие функции в списке. Откроется диалоговое окно Мастер функций — шаг 1 из 2, в котором можно искать функции. Это диалоговое окно является еще одним способом ввода формул в приложении Excel. Можно также отобразить другие функции, щелкнув вкладку 

Формулы.

Оставив диалоговое окно открытым, можно выбрать категорию и затем выполнить прокрутку списка функций в этой категории. Дополнительные сведения о функции доступны по ссылке Справка по этой функции, расположенной внизу диалогового окна.

Работа с формулами Excel. Использование встроенных функций Excel

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

Особенности расчетов в Excel

Excel позволяет пользователю создавать формулы разными способами:

  • ввод вручную;
  • применение встроенных функций.

Отличительной чертой формулы в Экселе независимо от способа создания заключается в том, что она начинается знаком равно (=). Если ячейка содержит формулу, в самой таблице пользователь видит результат вычисления. Выражение, по которому была рассчитана ячейка, отражает строка состояния.

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



Ручное создание формул Excel


Ввод вручную применим, когда необходимо осуществить простые расчеты (сложение, вычитание, умножение, деление) небольшого количества данных. Чтобы ввести ее следует выполнить следующие шаги:

  1. щелчком левой кнопки мыши выделяем ячейку, где будет отображаться результат;
  2. нажимаем знак равенства на клавиатуре;
  3. вводим выражение;
  4. нажимаем Enter.

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

Между операндами ставят соответствующий знак: +, -, *, /. Легче всего их найти на дополнительной цифровой клавиатуре.

Использование функций Майкрософт Эксель

Помимо ручного ввода формулы в Экселе задаются при помощи встроенных функций. Используемые величины называют аргументами.

Для выбора требуемой функции нужно нажать на кнопку fx в строке состояния или (если вы работаете в 2007 excel) на треугольник, расположенный около значка автосуммы, выбрав пункт меню «Другие функции».



В открывшемся окне следует выбрать необходимую категорию и непосредственно функцию.

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



Категории функций Эксель

Функции, встроенные в Excel, сгруппированы в несколько категорий:

    1. Финансовые позволяют производить вычисления, используемые в экономических расчетах, связанных обычно с ценными бумагами, начислением процентов, амортизацией и другими показателями;
    2. Дата и время. Эти функции позволяют работать с временными данными, например, можно вычислить день недели для определенной даты;
    3. Математические позволяют произвести расчеты, имеющие отношения к различным областям математики;
    4. Статистические позволяют определить различные категории статистики – дисперсию, вероятность, доверительный интервал и другие;
  1. Для обработки ссылок и массивов;
  2. Для работы с базой данных;
  3. Текстовые используются для проведения действия над текстовой информацией;
  4. Логические позволяют установить условия, при которых следует выполнить то или иное действие;
  5. Функции проверки свойств и значений.

Правила записи функций Excel



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

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

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

Для разделения аргументов используется знак «;». Если для вычисления используется массив данных, начало и конец его разделяются двоеточием.

Редактирование формул Microsoft Excel



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

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

  • кликнуть в строке состояния;
  • нажать на клавиатуре F2;
  • либо два раза щелкнуть мышью по ячейке. (как вам удобнее)

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

Ошибки в формулах Excel


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

  • ### – ширины столбца недостаточно для отображения результата;
  • #ЗНАЧ! – использован недопустимый аргумент;
  • #ДЕЛ/0 – попытка разделить на ноль;
  • #ИМЯ? – программе не удалось распознать имя, которое было применено в выражении;
  • #Н/Д – значение в процессе расчета было недоступно;
  • #ССЫЛКА! – неверно указана ссылка на ячейку;
  • #ЧИСЛО! – неверные числовые значения.

Копирование формул Excel

В случае необходимости формулу можно внести в несколько ячеек. Для этого можно использовать несколько способов:

  1. при ручном вводе достаточно выделить необходимый диапазон, ввести формулу и нажать одновременно клавиши Ctrl и Enter на клавиатуре;
  2. для ранее созданного выражения необходимо подвести мышку в левый нижний угол ячейки и, удерживая зажатой левую клавишу, потянуть.

Абсолютные и относительные ссылки в Эксель

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

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

  • при вертикальном копировании в ссылке изменяется номер строки;
  • при горизонтальном перенесении изменяется номер столбца.

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

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

Закрепить какую-либо ячейку можно, используя знак $ перед номером столбца и строки в выражении для расчета: $F$4. Если поступить таким образом, при копировании номер ячейки останется неизменным.

Относительные ссылки

Абсолютные ссылки

Имена в формулах Эксель

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

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

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

excel 2007



excel 2010

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

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

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

Работа с формулами — XlsxWriter Documentation

Обычно формулу в Excel можно использовать непосредственно в write_formula() метод:

 worksheet.write_formula('A1', '=10*B1 + C1')
 

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

Функции и синтаксис Excel, не относящиеся к США

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

 worksheet.write_formula('A1', '=СУММ(1, 2, 3)') # ОК
worksheet.write_formula('A2', '=SOMME(1, 2, 3)') # Французский.  Ошибка при загрузке.
 

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

 worksheet.write_formula('A1', '=СУММ(1, 2, 3)') # ОК
worksheet.write_formula('A2', '=СУММ(1; 2; 3)') # Точка с запятой. Ошибка при загрузке.
 

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

Результаты формулы

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

Этот метод рекомендуется в документации Excel, и в целом он отлично работает с табличными приложениями. Однако приложения, которые не иметь средство для расчета формул будет отображать только 0 Результаты. Примерами таких приложений являются Excel Viewer, PDF Converters и некоторые приложения для мобильных устройств.

При необходимости также можно указать расчетный результат формула с использованием необязательного параметра value для write_formula() :

 worksheet.write_formula('A1', '=2+2', num_format, 4)
 

Параметр value может быть числом, строкой, логическим значением или одним из следующие коды ошибок Excel:

 #DIV/0!
#Н/Д
#ИМЯ?
#НУЛЕВОЙ!
#ЧИСЛО!
#ССЫЛКА!
#ЦЕНИТЬ!
 

Также можно указать вычисленный результат формулы массива создано с write_array_formula() :

 # Укажите результат для одного диапазона ячеек.
worksheet.write_array_formula('A1:A1', '{=СУММ(B1:C1*B2:C2)}', cell_format, 2005)
 

Однако при использовании этого параметра в левый верхний угол записывается только одно значение. ячейка в результирующем массиве. Для формулы массива с несколькими ячейками, где результаты требуется, другие значения результата можно указать с помощью write_number() для записи в соответствующую ячейку:

 # Укажите результаты для диапазона из нескольких ячеек.
worksheet.write_array_formula('A1:A3', '{=TREND(C1:C3,B1:B3)}', cell_format, 15)
рабочий лист.write_number('A2', 12, формат_ячейки)
рабочий лист.write_number('A3', 14, формат_ячейки)
 

Поддержка динамических массивов

В Excel представлена ​​концепция «динамических массивов» и новые функции, использующие их в Office 365. Новые функции:

  • ФИЛЬТР()
  • УНИКАЛЬНЫЙ()
  • СОРТИРОВКА()
  • СОРТИРОВАТЬ()
  • XLOOKUP()
  • ПОИСКПОЗ()
  • СЛУЧАЙНЫЙ ()
  • ПОСЛЕДОВАТЕЛЬНОСТЬ()

В динамических массивах также были добавлены следующие специальные функции:

  • SINGLE() — Объясняется ниже в Динамические массивы — Оператор неявного пересечения «@».
  • ANCHORARRAY() — Объясняется ниже в Динамические массивы — Оператор пропущенного диапазона «#».
  • LAMBDA() и LET() — поясняется ниже в функции Excel 365 LAMBDA().

Динамические массивы — это диапазоны возвращаемых значений, размер которых может меняться в зависимости от результаты. Например, такая функция, как ФИЛЬТР() возвращает массив значения, которые могут различаться по размеру в зависимости от результатов фильтрации. Это показано во фрагменте ниже из Примера: Формулы динамического массива:

 worksheet1.write('F2', '=FILTER(A1:D17,C1:C17=K2)')
 

Это дает результаты, показанные на изображении ниже. Динамический диапазон здесь «F2:I5», но может отличаться в зависимости от критериев фильтра.

Также можно получить поведение динамического массива в старых версиях Excel. функции. Например, функция Excel =LEN(A1) относится к одному ячейка и возвращает одно значение, но также возможно применить его к диапазону ячеек и вернуть диапазон значений, используя формулу массива, например {=ДЛСТР(A1:A3)} . Этот тип «статического» поведения массива называется CSE. Формула (Ctrl+Shift+Enter). С введением динамических массивов в Excel 365 теперь вы можете записать эту функцию как =LEN(A1:A3) и получить динамический диапазон возвращаемых значений. В XlsxWriter вы можете использовать write_array_formula() метод рабочего листа для получения диапазона статических/CSE и write_dynamic_array_formula() для получения динамического диапазона. Например:

 worksheet.write_dynamic_array_formula('B1:B3', '=LEN(A1:A3)')
 

Что дает следующий результат:

Разница между двумя типами функций массива объясняется в Документация Microsoft по формулам динамического массива и устаревшему массиву CSE формулы. Примечание использование слова «наследие» здесь. Это и сама документация четкое указание на будущую важность динамических массивов в Excel.

Для более широкого и общего ознакомления с динамическими массивами см. следующее: Формулы динамического массива в Excel.

Динамические массивы — оператор неявного пересечения «@»

Оператор неявного пересечения «@» используется Excel 365 для обозначения позиция в формуле, которая неявно возвращает одно значение, когда диапазон или массив может быть возвращен.

Мы можем увидеть, как этот оператор работает на практике, рассмотрев формулу, которую мы использовано в последнем разделе: =ДЛСТР(A1:A3) . В версиях Excel без поддержки для динамических массивов, то есть до Excel 365, эта формула работала бы на одно значение из входного диапазона и вернуть одно значение, например:

Здесь происходит неявное преобразование диапазона входных значений «A1:A3» в одно значение «A1». Поскольку это было поведением по умолчанию в старых версиях В Excel это преобразование никак не выделяется. Но если вы откроете тот же файл в Excel 365 будет выглядеть следующим образом:

Результат формулы тот же (это важно отметить) и по-прежнему работает с одним значением и возвращает его. Однако формула теперь содержит Оператор «@», чтобы показать, что он неявно использует одно значение из заданного диапазон.

Наконец, если вы ввели эту формулу в Excel 365 или с write_dynamic_array_formula() в XlsxWriter, он будет работать на весь диапазон и вернуть массив значений:

Если вы столкнулись с неявным оператором пересечения «@» для первого время, то это, вероятно, с точки зрения «почему Excel/XlsxWriter вставляя @s в мои формулы». С практической точки зрения, если вы столкнетесь с этим оператором, и вы не предполагаете, что это будет там, то вам, вероятно, следует написать формула как CSE или функция динамического массива с использованием write_array_formula() или write_dynamic_array_formula() (см. предыдущий раздел о поддержка динамических массивов).

Полное объяснение этого оператора показано в документации Microsoft на Неявный оператор пересечения: @.

Важно отметить, что оператор «@» не сохраняется вместе с формула. Он просто отображается Excel 365 при чтении «устаревшего» формулы. Однако при необходимости его можно записать в виде формулы используя ОДИНОЧНЫЙ() или _xlfn.SINGLE() . Необычные случаи, когда это может быть необходимые показаны в связанном документе в предыдущем абзаце.

Динамические массивы — оператор расширенного диапазона «#»

В разделе выше о поддержке динамических массивов мы видели, что динамический формулы массива могут возвращать диапазоны результатов переменного размера. Excel документация называет это «пролитым» диапазоном/массивом из-за того, что результаты разливаются на необходимое количество ячеек. Это объясняется в Документация Microsoft по формулам динамического массива и поведению массива с разбросом.

Так как разбросанный диапазон может быть разным по размеру, новый оператор должен ссылаться к диапазону. Этот оператор является оператором Spilled range. и он представлен знаком «#». Например, диапазон F2# на изображении ниже используется для ссылки на динамический массив, возвращаемый UNIQUE() в ячейке Ф2 . Этот пример взят из программы XlsxWriter. Пример: формулы динамического массива.

К сожалению, Excel не хранит такую ​​формулу, и в XlsxWriter вы нужно использовать явную функцию ANCHORARRAY() для обозначения разлитого диапазон. Пример на изображении выше был создан с использованием следующего:

 worksheet9.write('J2', '=COUNTA(ANCHORARRAY(F2))') # То же, что и '=COUNTA(F2#)' в Excel.
 

Функция Excel 365 LAMBDA()

В последних версиях Excel 365 появилась новая мощная функция/функция с именем LAMBDA() . Это похоже на лямбду функция в Python (и других языках).

Рассмотрим следующий пример Excel, который преобразует переменную temp от Фаренгейта до Цельсия:

 LAMBDA(temp, (5/9) * (temp-32))
 

Это можно вызвать в Excel с аргументом:

 =LAMBDA(temp, (5/9) * (temp-32))(212)
 

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

 =ToCelsius(212)
 

Это похоже на этот пример в Python:

 >>> to_celsius = lambda temp: (5. 0/9.0) * (temp-32)
>>> to_celsius(212)
100,0
 

Программа XlsxWriter, копирующая Excel, показана в примере: функция Excel 365 LAMBDA().

Формула записывается следующим образом:

 worksheet.write('A2', '=LAMBDA(_xlpm.temp, (5/9) * (_xlpm.temp-32))(32)')
 

Обратите внимание, что параметры в функции LAMBDA() должны иметь «_xlpm». префикс для совместимости с тем, как формулы хранятся в Excel. Эти префиксы не будут отображаться в формуле, как показано на рисунке.

Функция LET() часто используется в сочетании с LAMBDA() для назначения имена к результатам расчета.

В Excel 2010 и более поздних версиях добавлены формулы

В Excel 2010 и более поздних версиях добавлены функции, которые не были определены в исходной версии спецификация файла. Microsoft называет эти функции будущими . функции. Примеры этих функций: ACOT , CHISQ.DIST.RT , .

При записи с использованием write_formula() эти функции должны быть полностью квалифицирован с _xlfn. (или другой) префикс, как показано в списке ниже. Например:

 worksheet.write_formula('A1', '=_xlfn.STDEV.S(B1:B10)')
 

Эти функции будут отображаться в Excel без префикса:

Кроме того, вы можете включить параметр use_future_functions в Workbook() конструктор, который добавит префикс по мере необходимости:

 workbook = Workbook('write_formula.xlsx', {'use_future_functions': True})
# ...
worksheet.write_formula('A1', '=STDEV.S(B1:B10)')
 

Если формула уже содержит _xlfn. префикс для любой функции, то формула будет проигнорирована и больше не будет расширена.

Примечание

Включение параметра use_future_functions добавляет дополнительную нагрузку ко всем формулам обработка в XlsxWriter. Если в вашем приложении много формул или зависит от производительности, тогда лучше использовать явный _xlfn. префикс вместо.

Следующий список взят из Документация по расширениям MS XLSX по будущим функциям.

  • _xlfn.ACOT
  • _xlfn.ACOTH
  • _xlfn.АГРЕГАТ
  • _xlfn.АРАБСКИЙ
  • _xlfn.BASE
  • _xlfn.БЕТА.РАСП
  • _xlfn.БЕТА.ИНВ
  • _xlfn.БИНОМ.РАСП
  • _xlfn.БИНОМ.РАСП.ДИАПАЗОН
  • _xlfn.БИНОМ.ИНВ
  • _xlfn.BITAND
  • _xlfn.BITLSHIFT
  • _xlfn.BITOR
  • _xlfn.BITRSHIFT
  • _xlfn.BITXOR
  • _xlfn.CEILING.MATH
  • _xlfn.ПОТОЛОК.ТОЧНЫЙ
  • _xlfn.CHISQ.DIST
  • _xlfn.CHISQ.DIST.RT
  • _xlfn.CHISQ.INV
  • _xlfn.CHISQ.INV.RT
  • _xlfn.CHISQ.ТЕСТ
  • _xlfn.COMBINA
  • _xlfn. CONCAT
  • _xlfn.ДОВЕРИТЕЛЬНАЯ НОРМА
  • _xlfn.ДОВЕРИЕ.T
  • _xlfn.COT
  • _xlfn.COTH
  • _xlfn.COVARIANCE.P
  • _xlfn.COVARIANCE.S
  • _xlfn.CSC
  • _xlfn.CSCH
  • _xlfn.ДНЕЙ
  • _xlfn.ДЕСЯТИЧНОЕ
  • ECMA.ПОТОЛОК
  • _xlfn.ERF.PRECISE
  • _xlfn.ERFC.ТОЧНЫЙ
  • _xlfn.ЭКСПОН.РАСП
  • _xlfn.F.DIST
  • _xlfn.F.DIST.RT
  • _xlfn.F.INV
  • _xlfn.F.INV.RT
  • _xlfn.F.ТЕСТ
  • _xlfn.FILTERXML
  • _xlfn.FLOOR.MATH
  • _xlfn.ПОЛ.ТОЧНЫЙ
  • _xlfn.ПРОГНОЗ.ETS
  • _xlfn. ПРОГНОЗ.ETS.CONFINT
  • _xlfn.ПРОГНОЗ.ETS.СЕЗОННОСТЬ
  • _xlfn.ПРОГНОЗ.ETS.СТАТ
  • _xlfn.ПРОГНОЗ.ЛИНЕЙНЫЙ
  • _xlfn.ФОРМУЛАТЕКСТ
  • _xlfn.ГАММА
  • _xlfn.ГАММА.РАСП
  • _xlfn.GAMMA.INV
  • _xlfn.GAMMALN.PRECISE
  • _xlfn.ГАУСС
  • _xlfn.HYPGEOM.DIST
  • _xlfn.IFNA
  • _xlfn.IFS
  • _xlfn.IMCOSH
  • _xlfn.ИМКОТ
  • _xlfn.IMSCC
  • _xlfn.IMCSCH
  • _xlfn.IMSEC
  • _xlfn.IMSECH
  • _xlfn.IMSINH
  • _xlfn.ИМТАН
  • _xlfn.ИСФОРМУЛА
  • ISO.ПОТОЛОК
  • _xlfn.ISOWWEEKNUM
  • _xlfn. ЛОГНОРМ.РАСП
  • _xlfn.LOGNORM.INV
  • _xlfn.MAXIFS
  • _xlfn.МИНИФС
  • _xlfn.MODE.MULT
  • _xlfn.MODE.SNGL
  • _xlfn.МУНИТ
  • _xlfn.НЕГБИНОМ.РАСП
  • ЧИСТРАБДНИ.МЕЖДУНАРОДНЫЙ
  • _xlfn.НОРМ.РАСП
  • _xlfn.НОРМ.ИНВ
  • _xlfn.НОРМ.СТ.РАСП
  • _xlfn.НОРМ.С.ИНВ
  • _xlfn.ЧИСЛОЗНАЧЕНИЕ
  • _xlfn.PDURATION
  • _xlfn.ПРОЦЕНТИЛЬ.ИСКЛ
  • _xlfn.ПРОЦЕНТИЛЬ.ВКЛ
  • _xlfn.PERCENTRANK.EXC
  • _xlfn.PERCENTRANK.INC
  • _xlfn.ПЕРМУТАЦИЯA
  • _xlfn.PHI
  • _xlfn.ПУАССОН.РАСП
  • _xlfn.КВАРТИЛЬ.ИСКЛ
  • _xlfn. КВАРТИЛЬ.ВКЛ
  • _xlfn.СТРОКА ЗАПРОСА
  • _xlfn.RANK.AVG
  • _xlfn.RANK.EQ
  • _xlfn.RRI
  • _xlfn.SEC
  • _xlfn.SECH
  • _xlfn.ЛИСТ
  • _xlfn.ЛИСТЫ
  • _xlfn.SKEW.P
  • _xlfn.STDEV.P
  • _xlfn.STDEV.S
  • _xlfn.ПЕРЕКЛЮЧАТЕЛЬ
  • _xlfn.T.DIST
  • _xlfn.T.DIST.2T
  • _xlfn.T.DIST.RT
  • _xlfn.T.INV
  • _xlfn.T.INV.2T
  • _xlfn.Т.ТЕСТ
  • _xlfn.TEXTJOIN
  • _xlfn.UNICHAR
  • _xlfn.UNICODE
  • _xlfn.VAR.P
  • _xlfn.VAR.S
  • _xlfn.ВЕБ-СЕРВИС
  • _xlfn. WEIBULL.DIST
  • РАБДЕНЬ.МЕЖДУНАРОДНЫЙ
  • _xlfn.XOR
  • _xlfn.Z.ТЕСТ

Функции динамического массива, показанные в разделе поддержки динамического массива выше также будущие функции:

  • _xlfn.UNIQUE
  • _xlfn.XMATCH
  • _xlfn.XLOOKUP
  • _xlfn.SORTBY
  • _xlfn._xlws.СОРТ
  • _xlfn._xlws.ФИЛЬТР
  • _xlfn.RANDARRAY
  • _xlfn.ПОСЛЕДОВАТЕЛЬНОСТЬ
  • _xlfn.ANCHORARRAY
  • _xlfn.ОДИНАРНЫЙ
  • _xlfn.LAMBDA

Однако, поскольку эти функции являются частью новой мощной функции Excel, и, вероятно, очень важны для конечных пользователей, они автоматически конвертируются от их более короткой версии к явной версии будущей функции с помощью XlsxWriter, даже без вариант use_future_function . Если вам нужно отменить автоматическое преобразование, вы можете использовать явные версии с префиксы, показанные выше.

Использование таблиц в формулах

Таблицы рабочего листа можно добавлять с помощью XlsxWriter с помощью add_table() метод:

 worksheet.add_table('B3:F7', {параметры})
 

По умолчанию таблицы называются Table1 , Table2 и т.д., в порядке они добавлены. Однако он также может быть установлен пользователем с помощью имя параметр:

 worksheet.add_table('B3:F7', {'имя': 'SalesData'})
 

При использовании в формуле имени таблицы, например TableX , следует ссылаться на как TableX[] (как список Python):

 worksheet.write_formula('A5', '=VLOOKUP("Продажи", Table1[], 2, FALSE')
 

Работа с ошибками в формулах

Если в синтаксисе формулы есть ошибка, она обычно отображается в Excel как #ИМЯ? . В качестве альтернативы вы можете получить предупреждение от Excel, когда файл загружен. Если вы столкнулись с такой ошибкой, вы можете отладить ее как следует:

  1. Убедитесь, что формула действительна в Excel, скопировав и вставив ее в клетка. Обратите внимание, что это следует делать в Excel, а не в других приложениях, таких как OpenOffice или LibreOffice, так как они могут иметь немного другой синтаксис.
  2. Убедитесь, что в формуле используются разделители-запятые вместо точек с запятой, см. Функции и синтаксис Excel не для США выше.
  3. Убедитесь, что формула на английском языке, см. раздел Функции и синтаксис Excel для неамериканских стран выше.
  4. Убедитесь, что формула не содержит будущей функции Excel 2010+, поскольку перечисленных выше (формулы, добавленные в Excel 2010 и более поздних версиях). Если это так, убедитесь, что используется правильный префикс.
  5. Если функция загружается в Excel, но появляется с одним или несколькими символами @ добавлено, то это, вероятно, функция массива и должна быть написана с использованием write_array_formula() или write_dynamic_array_formula() (см. разделы выше о поддержке динамических массивов и Динамические массивы — оператор неявного пересечения «@»).

Наконец, если вы выполнили все предыдущие шаги и по-прежнему получаете #ИМЯ? , вы можете проверить действительный файл Excel, чтобы увидеть, что правильно синтаксис должен быть. Для этого вы должны создать действующую формулу в Excel и сохраните файл. Затем вы можете изучить XML в разархивированном файле.

Ниже показано, как это сделать с помощью Linux unzip и xmllint libxml для форматирования XML для ясности:

 $ unzip myfile.xlsx -d myfile
$ xmlint --format myfile/xl/worksheets/sheet1.xml | грэп ''
        СУММ(1, 2, 3)
 

Формулы Excel не вычисляются? Что проверить

Кристи Перри Категории: Базовый Excel

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

1. Проверка автоматического пересчета

На ленте Формулы посмотрите в крайний правый угол и щелкните Параметры расчета . В раскрывающемся списке убедитесь, что выбрано Автоматически .

Если для этого параметра установлено значение «Автоматически», Excel пересчитывает формулы электронной таблицы всякий раз, когда вы изменяете значение ячейки. Это означает, что если у вас есть формула, которая суммирует ваши продажи, и вы меняете одну из продаж, Excel обновляет итог, чтобы показать правильную сумму.

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

К сожалению, если вы установите ручной режим и забудете об этом, ваши формулы не будут пересчитаны.

2. Проверьте формат ячейки для текста

Выберите ячейку, которая не пересчитывается, и на ленте Home проверьте формат числа. Если формат показывает Text , измените его на Number . Когда ячейка имеет формат Text , Excel не пытается интерпретировать содержимое как формулу.

После того, как вы измените формат, вам нужно будет еще раз подтвердить формулу, щелкнув в Панель формул , а затем нажмите клавишу Enter .

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

3. Проверка циклических ссылок

Найдите в нижней части окна Excel слова ЦИРКУЛЯРНЫЕ ССЫЛКИ .

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

Следующие шаги

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

Или продолжите обучение Excel здесь.

 

 

PRYOR+ 7 ДНЕЙ БЕСПЛАТНОГО ОБУЧЕНИЯ

Курсы по обслуживанию клиентов, Excel, управлению персоналом, лидерству, ОСАГО и многое другое. Нет кредитной карты. Без комментариев.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *