Xlfn ceiling math выдает ошибку

формула =_xlfn.CEILING.MATH выдает ошибку

Flatcher

Дата: Вторник, 21.06.2016, 07:26 |
Сообщение № 1

Группа: Проверенные

Ранг: Участник

Сообщений: 92


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Добрый день! Достался в наследство файл и кое где вместо результатов вычислений выскакивает ошибка #ИМЯ.
Формула =_xlfn.CEILING.MATH(B330;0,5)
подскажите как это исправить?

 

Ответить

TimSha

Дата: Вторник, 21.06.2016, 07:35 |
Сообщение № 2

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +

Однако, мо быть так?! —

Вероятна нестыковка версий XL’я.


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

_Boroda_

Дата: Вторник, 21.06.2016, 07:43 |
Сообщение № 3

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16620


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Вероятна нестыковка версий XL’я.

Совершенно верно.
Функция ОКРВВЕРХ.МАТ появилась только в 2013 Excel. Можно использовать


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Flatcher

Дата: Вторник, 21.06.2016, 08:09 |
Сообщение № 4

Группа: Проверенные

Ранг: Участник

Сообщений: 92


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Да у меня 2010 спасибо большое

Сообщение отредактировал FlatcherВторник, 21.06.2016, 10:21

 

Ответить

TimSha

Дата: Вторник, 21.06.2016, 08:57 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +

К сообщению приложен файл:

4121251.png
(10.3 Kb)


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

RAN

Дата: Суббота, 23.09.2017, 15:03 |
Сообщение № 6

Группа: Друзья

Ранг: Экселист

Сообщений: 5650

.

К сообщению приложен файл:

8730679.jpg
(10.5 Kb)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСуббота, 23.09.2017, 15:36

 

Ответить

формула =_xlfn.CEILING.MATH выдает ошибку

Flatcher

Дата: Вторник, 21.06.2016, 07:26 |
Сообщение № 1

Группа: Проверенные

Ранг: Участник

Сообщений: 91


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Добрый день! Достался в наследство файл и кое где вместо результатов вычислений выскакивает ошибка #ИМЯ.
Формула =_xlfn.CEILING.MATH(B330;0,5)
подскажите как это исправить?

 

Ответить

TimSha

Дата: Вторник, 21.06.2016, 07:35 |
Сообщение № 2

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +

Однако, мо быть так?! —

Вероятна нестыковка версий XL’я.


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

_Boroda_

Дата: Вторник, 21.06.2016, 07:43 |
Сообщение № 3

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16550


Репутация:

6441

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Вероятна нестыковка версий XL’я.

Совершенно верно.
Функция ОКРВВЕРХ.МАТ появилась только в 2013 Excel. Можно использовать


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Flatcher

Дата: Вторник, 21.06.2016, 08:09 |
Сообщение № 4

Группа: Проверенные

Ранг: Участник

Сообщений: 91


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Да у меня 2010 спасибо большое

Сообщение отредактировал FlatcherВторник, 21.06.2016, 10:21

 

Ответить

TimSha

Дата: Вторник, 21.06.2016, 08:57 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +

К сообщению приложен файл: 4121251.png(10.3 Kb)


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

RAN

Дата: Суббота, 23.09.2017, 15:03 |
Сообщение № 6

Группа: Друзья

Ранг: Экселист

Сообщений: 5638

.

К сообщению приложен файл: 8730679.jpg(10.5 Kb)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСуббота, 23.09.2017, 15:36

 

Ответить

With the following MWE:

ExcelPackage package = new ExcelPackage(@"C:Usersmpaulustest.xlsx");
ExcelWorksheet sheet = package.Workbook.Worksheets.Add("Sheet");
sheet.Cells[1, 1].Formula = "CEILING.MATH(1.6)";
package.Save();

I get a #NAME() error when opening the output xlsx. There is no EPPlus exception for unknown function.

When I look at the output XML in the sheetData element, everything looks fine:

<sheetData><row r="1"><c r="A1" s="0"><f>CEILING.MATH(1.6)</f></c></row></sheetData>

If I make a spreadsheet within Excel itself and look at that, it looks like:

<sheetData><row r="1" spans="1:1" x14ac:dyDescent="0.35"><c r="A1"><f>_xlfn.CEILING.MATH(1.6)</f><v>3</v></c></row></sheetData>

When I looked through the code base, it looks like the _xlfn is removed on purpose in a few places.

src/EPPlus/FormulaParsing/ExpressionGraph/FunctionExpression.cs
62:                // older versions of Excel (pre 2007) adds "_xlfn." in front of some function names for compatibility reasons.
64:                if (funcName.StartsWith("_xlfn.", StringComparison.OrdinalIgnoreCase)) funcName = funcName.Replace("_xlfn.", string.Empty);

src/EPPlus/DataValidation/Formulas/ExcelDataValidationFormula.cs
102:            formula = formula.Replace("_xlfn.", string.Empty).Replace("_xlws.", string.Empty);

I did confirm if I manually add that _xlfn back in, there is no error, meaning:

sheet.Cells[1, 1].Formula = "_xlfn.CEILING.MATH(1.6)";

did work.

Is this a case where that prefix is required?

I am using EPPlus version 6.1.1.
Excel version is 2210 (Build 15726.20202)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Проблема

Объект _xlfn. Префикс отображается перед функцией в формуле. Когда формула вычисляется, отображается #NAME? (значение ошибки).

Причина

Книга Excel содержит функцию, которая не поддерживается в версии Excel, которая выполняется в данный момент. Например, вы могли открыть книгу, содержащую функцию IFERROR, которая не поддерживается в версиях Excel более ранних версий, чем Excel 2007. Функции, которые не поддерживаются в версиях Excel, предшествующих Excel 2007, включают: AVERAGEIF, AVERAGEIFS, MAXIFS, MINIFS, IFS, CUBEKPIMEMBER, CUBEMEMBER, CUBEMEMBERPROPERTY, CUBERANKEDMEMBER, CUBESET, CUBESETCOUNT, CUBEVALUE, COUNTIFS, IFERROR и SUMIFS.

Решение

Удалите неподдерживаемые функции или, если возможно, замените неподдерживаемые функции поддерживаемыми функциями.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функции Excel (по алфавиту)

Функции Excel (по категориям)

Нужна дополнительная помощь?

Forum rules
and Helpful information

ajlittoz

Posts: 31
Joined: Wed Aug 25, 2021 5:26 pm

Re: Spreadsheet Import Failure

Sorry to come back again.

Here is my contorted workflow:

  • Prepare worksheet in LibreOffice Calc and save it native format .odt
  • Save a copy as .xslx
  • Import into FreeCAD using File_Import (evantually with the necessary «pre» delete of existing spreadsheet

I meet a few issues at the end of this procedure:

  1. During the export to Excel format, function names CEILING and FLOOR are converted to CEILING.MATH and FLOOR.MATH. FreeCAD reads them as _xlfn.CEILING.MATH and _xlfn.FLOOR.MATH and does not recognise them as its CEIL and FLOOR functions.
  2. Since there are not many occurrences, I can remove _xlfn. and .MATH manually. But I discovered function names are case-sensitive! I must also turn them lower case.

Is there a way to circumvent these two problems?

GeneFC

Veteran
Posts: 4183
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Spreadsheet Import Failure

Post

by GeneFC » Sat Sep 04, 2021 3:19 pm

ajlittoz wrote: ↑Sat Sep 04, 2021 12:40 pm
Is there a way to circumvent these two problems?

A brute-force method is to use grep or grepwin to change all instances of «CEILING.MATH» to «ceiling», for example.

Very fast and easy.

Gene

User avatar

Roy_043

Veteran
Posts: 6178
Joined: Thu Dec 27, 2018 12:28 pm

Re: Spreadsheet Import Failure

Post

by Roy_043 » Sat Sep 04, 2021 3:47 pm

The XLSX import code is written in Python, luckily.

Look for importXLSX.py in the …ModSpreadsheet folder.
Rename the file (just in case).
Place the attached file in the same folder.
Restart FreeCAD.

Attachments
importXLSX.py
(15.11 KiB) Downloaded 11 times

User avatar

Roy_043

Veteran
Posts: 6178
Joined: Thu Dec 27, 2018 12:28 pm

Хитрости »

30 Ноябрь 2022              872 просмотров


Иногда, при работе с «чужими» файлами(т.е. с теми, которые были созданы или отредактированы на другом ПК), в формулах можно встретить формулы, которые начинаются на =_xlfn.(нечто вроде: =_xlfn.MAXIFS, _xlfn.IFERROR и т.п.)
xlfn в Excel
При первом открытии файла такие функции показывают последний успешно вычисленный результат и при вычислении не обновляются, а если попытаться их пересчитать вручную, то в результате можно получить ошибку #ИМЯ!(#NAME!).

Что это и откуда? Для начала попробуем разобраться откуда берется это загадочное _xlfn. и что оно означает. Таким префиксом обозначаются функции, которые были созданы в более новых версиях Excel(чем та, в которой на данный момент открыт файл) и в текущей версии отсутствуют. По сути они читаются как =_xlfn.ИМЯ_ФУНКЦИИ. Например, =_xlfn.MAXIFS – это функция МАКСЕСЛИ(MAXIFS), _xlfn.IFERRORЕСЛИОШИБКА(IFERROR), _xlfn.UNIQUEУНИК(UNIQUE) и т.д. Т.е. после самого префикса _xlfn идет как раз имя недоступной функции на английском. Если Вы увидели такой префикс в своем Excel в какой-либо формуле на листе — значит ваш Excel не поддерживает ту функцию, которая указана после префикса _xlfn.
Ниже перечень некоторых функций с их переводом на русскую локализацию и версии, начиная с которых эти функции будут работать(соответственно для версий ниже функции недоступны):

Префикс Функция и доступность
_xlfn.IFERROR ЕСЛИОШИБКА (доступна, начиная с Excel 2007)
_xlfn.AGGREGATE АГРЕГАТ (доступна, начиная с Excel 2010)
_xlfn.GAMMA ГАММА (доступна, начиная с Excel 2013)
_xlfn.MAXIFS МАКСЕСЛИ (доступна, начиная с Excel 2019 и в Excel 365)
_xlfn.MINIFS МИНЕСЛИ (доступна, начиная с Excel 2019 и в Excel 365)
_xlfn.CONCAT СЦЕП (доступна, начиная с Excel 2019 и в Excel 365)
_xlfn.SORTBY СОРТПО (доступна, начиная с Excel 2019 и в Excel 365)
_xlfn.XLOOKUP ПРОСМОТРХ (доступна, начиная с Excel 2021 и в Excel 365)
_xlfn.UNIQUE УНИК (доступна, начиная с Excel 2021 и в Excel 365)
_xlfn.LAMBDA LAMBDA (доступна только в Excel 365)
_xlfn.TOCOL ПОСТОЛБЦ (доступна только в Excel 365)
_xlfn.TOROW ПОСТРОК (доступна только в Excel 365)

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

Как же появляется это самое _xlfn.ИМЯ_ФУНКЦИИ и откуда Excel вообще понимает, какой именно функции нет и что писать после _xlfn, если в самом текущем Excel такой функции нет? Здесь все достаточно просто — _xlfn.ИМЯ_ФУНКЦИИ создается в тот момент, когда на лист записывается функция, у которой могут быть проблемы с вычислением в более старых версиях. Т.е. создается это в самой исходной книге и еще в той версии Excel, которая эту функцию успешно может вычислить. А записывается в диспетчер имен, как новая именованная формула(вкладка Формулы(Formulas)Диспетчер имен(Name Manager)). При этом имена эти создаются скрытыми – т.е. просто вызвав диспетчер имен мы эти все _xlfn не увидим. И удалить эти имена тоже нельзя, даже если до них добраться.

Так же можно встретить и чуть иной префикс: _xlfn._xlws.SORT и _xlfn._xlws.FILTER. Это как правило относится к формулам динамических массивов. SORT – СОРТ и FILTER – ФИЛЬТР. Эти функции записываются всегда только в одну ячейку, но результат возвращают сразу в несколько. При этом количество занимаемых ячеек в итоге динамически изменяется в зависимости от того, сколько строк и столбцов передано в качестве исходных данных и сколько после обработки было возвращено функцией.

А еще есть и такие имена: _xlfn.ANCHORARRAY и _xlfn.SINGLE. Они тоже относятся к динамическим массивам, но не являются напрямую именно функциями:

  • _xlfn.ANCHORARRAY — означает, что в формуле используется ссылка на динамический массив, вроде такой: =A2#, где =A2 – это ячейка, в которую записана формула динамического массива, а решетка(#) означает, что вернуть необходимо все ячейки, которые входят в динамический массив, созданный формулой в =A2#.
  • _xlfn.SINGLE – означает, что в формуле используется оператор неявного пересечения @. Появляется, когда в формуле указывается ссылка на диапазон ячеек, но использовать в функции надо только одну. Появился вместе с динамическими массивами для избежания неверных вычислений в новых версиях.

  • Можно ли исправить?

    Как же быть, если одна из таких функций попалась в файле? Можно ли как-то её все же сделать вычисляемой?
    Для того, чтобы ответить на эти вопросы разберемся

    для чего это придумано

    . Сделано такое именование(

    _xlfn.ИМЯ_ФУНКЦИИ

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

    _xlfn

    — функции просто нет в текущей версии, а значит вычислить именно её невозможно. Но если определить имя функции(которое записано после префикса) — можно обратиться к справке Microsoft, найти эту функцию и попробовать заменить её доступной функцией(или связкой функций), которая будет выполнять ту же задачу. Да, далеко не всегда для этого может хватить знаний, а в некоторых случаях и вовсе придется использовать VBA для восполнения функционала, т.к. какие-то функции будет невозможно воспроизвести встроенными. Но других вариантов все равно нет: либо так, либо устанавливать ту версию Excel, в которой эти функции есть.
    В данной статье я, к сожалению, тоже никаких однозначных рекомендаций по замене

    _xlfn

    не дам, т.к. все зависит от конкретной задачи, которая выполняется функцией. Могу лишь привести пару примеров простой замены. Например, возьмем классическую ситуацию — есть таблица отгрузок товара:
    Чем заменить МИНЕСЛИ
    надо определить самую минимальную, но при этом не учитывать нулевые отгрузки, т.к. в выходные отгрузка не производится, но в отчете нулевые отгрузки все же есть. В Excel 2019 и новее можно применить одну функцию:

    =МИНЕСЛИ(B2:B10;B2:B10;»>0″)
    =MINIFS(B2:B10,B2:B10,»>0″)

    в более старых версиях вместо неё появится =

    _xlfn.MINIFS(B2:B10;B2:B10;»>0″)

    и её придется заменить такой формулой массива:

    =МИН(ЕСЛИ(B2:B10>0;B2:B10))
    =MIN(IF(B2:B10>0,B2:B10))

    Или другая задача, которая в Excel 2019 и новее легко решается функцией

    МАКСЕСЛИ(MAXIFS)

    . Из таблицы ниже необходимо определить максимальную сумму по операции «приход»:
    Чем заменить МАКСЕСЛИ

    =МАКСЕСЛИ(A2:A10;B2:B10;»приход»)
    =MAXIFS(A2:A10,B2:B10,»приход»)

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

    =МАКС(ЕСЛИ(B2:B10=»приход»;A2:A10))
    =MAX(IF(B2:B10=»приход»,A2:A10))

    А такие функции как

    СОРТ(SORT)

    и

    ФИЛЬТР(FILTER)

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


    Статья помогла? Поделись ссылкой с друзьями!

      Плейлист   Видеоуроки


    Поиск по меткам

    Access
    apple watch
    Multex
    Power Query и Power BI
    VBA управление кодами
    Бесплатные надстройки
    Дата и время
    Записки
    ИП
    Надстройки
    Печать
    Политика Конфиденциальности
    Почта
    Программы
    Работа с приложениями
    Разработка приложений
    Росстат
    Тренинги и вебинары
    Финансовые
    Форматирование
    Функции Excel
    акции MulTEx
    ссылки
    статистика

    Цитата
    noteXcellent написал: … Что именно не так с файлом клиента…

    Проблема возникла из-за использования функции ОКРВНИЗ.МАТ (англ. FLOOR.MATH).
    Это относительно новая функция, которая есть только в Excel 2013+ (т.е. начиная с Excel 2013).

    Если книгу с такой формулой открыть, например, в Excel 2010, то вместо указанной функции появится _xlfn.FLOOR.MATH.
    Это означает, что данная функция новая и не поддерживается в данной версии Excel, при сохранении книги она так и сохранится, но при открытии книги в MS Excel 2013+ формула автоматически восстановится, в других же приложениях а-ля Excel формула не восстанавливается.

    Для совместимости со всеми версиями предлагаю такую замену:
    1. Русский вариант формулы (запятая – разделитель целой и дробной частей числа)
    =ЕСЛИ(D2>G2/0,94;
     D2/0,9;
     ЦЕЛОЕ(
       G2/ВЫБОР(СУММПРОИЗВ(—(G2>{-9E+307;5000;10000;50000;100000;500000}));0,94;0,945;0,95;0,955;0,96;0,965) /ВЫБОР(СУММПРОИЗВ(—(G2>{-9E+307;10;50;100})); 0,01;0,05;0,1;1)
     ) * ВЫБОР(СУММПРОИЗВ(—(G2>{-9E+307;10;50;100})); 0,01;0,05;0,1;1)
    )

    2. Английский вариант формулы
    =IF(D2>G2/0.94,
     D2/0.9,
     INT(
       G2/CHOOSE(SUMPRODUCT(—(G2>{-9E+307,5000,10000,50000,100000,500000})),0.94,0.945,0.95,0.955,0.96,0.965) /CHOOSE(SUMPRODUCT(—(G2>{-9E+307,10,50,100})), 0.01,0.05,0.1,1)
     ) * CHOOSE(SUMPRODUCT(—(G2>{-9E+307,10,50,100})), 0.01,0.05,0.1,1)
    )

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

    Created attachment 125048 [details]
    destroy formula
    
    I use windows 10 64 bits LO 5.1.3.2 (x64):
    
    With reference to bug 86575 i have the problem make small.
    
    Reproduce bug:
    
    1) open attachment "afronden.ods"
    2) save as *.xlsx
    3) the formula in A2, A3, A4, A5 and B2, B3, B4, B5 are destroyed
    
    I have test in LO 3.5 to 4.4.7 and there was it oke.
    In LO 5.1.0.1 there was the first where the bug are precent.
    I didn't have LO 5.0.0 and 5.1.0 and didnt have test here.


    Comment 1


    VLB


    2016-05-14 19:40:31 UTC

    I have test in LO 5.0.6 and there is also the bug precent.


    Comment 4


    VLB


    2016-05-15 07:59:31 UTC

    (In reply to m.a.riosv from comment #2)
    > Please what do you mean by destroyed?
    > 
    > What I see is FLOOR() changed by FLOOR.MATH() and CEILING() changed by
    > CEILING.MATH()
    > 
    > Related information:
    > https://wiki.documentfoundation.org/ReleaseNotes/5.
    > 0#New_spreadsheet_functions
    
    I have a Dutch version of LO.
    There is also change the formula from NL to EN, i didn't know about change in release note.
    
    The change is:
    "afronden.beneden()" in "_xlfn.FLOOR.MATH()"
    and
    "afronden.bboven()" in "_xlfn.CEILING.MATH()"
    This shos a error in the result in #name?.


    Comment 5


    VLB


    2016-05-15 08:32:31 UTC

    (In reply to vlb from comment #4)
    > (In reply to m.a.riosv from comment #2)
    > > Please what do you mean by destroyed?
    > > 
    In version LO 4.4.7 is the formula disappeared in cel A2, A3 and B2, B3.
    Here is a celname used.
    In LO 4.4.2 isn't the formula disappeared.


    Comment 7


    VLB


    2016-05-15 09:36:57 UTC

    > The change is:
    > "afronden.beneden()" in "_xlfn.FLOOR.MATH()"
    > and
    > "afronden.bboven()" in "_xlfn.CEILING.MATH()"
    > This shos a error in the result in #name?.
    This happens when i save the file in *.xlsx and open in excel 2007.
    When i open the *.xlsx file in LO 5.1.3.2 the change are:
    
    LO English
    FLOOR() -> FLOOR.MATH()
    CELING() -> CEILING.MATH()
    
    LO Dutch
    afronden.beneden() -> ONDERGRENS.MATH()
    afronden.boven() -> BOVENGRENS.WISKUNDIG()


    Comment 8


    VLB


    2016-05-15 10:24:03 UTC

    (In reply to vlb from comment #7)
    > > The change is:
    
    > LO Dutch
    > afronden.beneden() -> ONDERGRENS.MATH()
    > afronden.boven() -> BOVENGRENS.WISKUNDIG()
    
    In Excel 2016 is change in, when open *.xlsx:
    LO Dutch
    afronden.beneden() -> afronden.beneden.wisk() with error mention
    afronden.boven() -> afronden.boven.wisk()     with error mention


    Comment 9


    Markus Mohrhard


    2016-05-17 00:52:22 UTC

    Can we please try to limit bug reports to one issue and provide one descriptive set of steps how to reproduce the error.
    
    For this bug report anything happening before 5.0 is irrelevant as the code around FLOOR import/export changed a lot.


    Comment 10


    Eike Rathke


    2016-05-19 16:42:07 UTC

    For the relevant changes see https://wiki.documentfoundation.org/ReleaseNotes/5.0#Formula_engine "New spreadsheet functions".
    
    I guess if you use Excel2007 to open .xlsx you're out of luck in this case because Excel2007 doesn't implement FLOOR.MATH() and CEILING.MATH(). If you need compatibility with such old versions then use FLOOR.XCL() and CEILING.XCL() that require 2 parameters, which the others don't, and gets saved as FLOOR() and CEILING() for Excel.
    1. 01-21-2014, 09:59 PM

      #1

      jammyjj is offline


      Registered User


      Changing an CEILING.PRECISION formula to work in Excel 2007

      I am having an issue making an excel 2010 formula work with 2007.

      =_xlfn.CEILING.PRECISE(IF(H21>30,((H21-30)/40)+2-H28,IF(H21>4.99,2-H28,1)))

      I believe it needs to be the CEILING function but I can’t get it to work

      Any ideas?
      Cheers


    2. 01-21-2014, 10:37 PM

      #2

      Re: Changing an CEILING.PRECISION formula to work in Excel 2007

      That function must be part of an add-in. It’s not a native Excel function.
      What are you trying to do? Maybe we can put something together for you.


    3. 01-21-2014, 10:49 PM

      #3

      jammyjj is offline


      Registered User


      Re: Changing an CEILING.PRECISION formula to work in Excel 2007

      Isn’t CEILING.PRECISION a standard excel function in excel 2010 onwards?


    4. 01-22-2014, 07:37 AM

      #4

      Re: Changing an CEILING.PRECISION formula to work in Excel 2007

      Interesting…The prefix you posted: «_xlfn.» threw me off. So, I assumed it was an add-in. However, when I typed it in a formula, Excel discarded it.
      Excel 2013 doesn’t list it in formula auto-complete, but Excel 2010 does.
      Excel 2013 can use CEILING.PRECISE, but it has been replaced by CEILING.MATH. (I wonder what Microsoft is up to)

      Anyway…Does this do the same thing as your posted formula?


    5. 01-22-2014, 02:58 PM

      #5

      jammyjj is offline


      Registered User


      Re: Changing an CEILING.PRECISION formula to work in Excel 2007

      Thanks Ron,
      Yes that was what I was after.
      I missed the final argument off.
      It was one of those days.


    Функция ОКРВВЕРХ.МАТ округляет число с избытком до ближайшего целого или до ближайшего кратного указанному значению точности.

    Описание функции ОКРВВЕРХ.МАТ

    Округляет число с избытком до ближайшего целого или до ближайшего кратного указанному значению точности.

    Синтаксис

    =ОКРВВЕРХ(число; [точность]; [режим])

    Аргументы

    числоточностьрежим

    Обязательный. Должен быть меньше 9,99E+307 и больше -2,229E-308.

    Необязательный. Кратное, до которого требуется округлить число.

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

    Замечания

    • По умолчанию точность равна +1 для положительных чисел и -1 для отрицательных.
    • По умолчанию положительные числа с дробной частью округляются до ближайшего целого числа. Например, 6,3 округляется до 7.
    • По умолчанию отрицательные числа с дробной частью округляются (в сторону 0) до ближайшего целого числа. Например, -6,7 округляется до -6.
    • Указывая аргументы «точность» и «режим», можно изменить направление округления отрицательных чисел. Например, округление -6,3 с точностью 1 и режимом 1 округляет в отрицательную сторону до -7. Существует много сочетаний значений точности и режима, которые по-разному влияют на округление отрицательных чисел.
    • Аргумент «режим» не влияет на положительные числа.
    • Аргумент «точность» округляет число с избытком до ближайшего целого числа, кратного указанной точности, кроме случаев, когда округляемое число ― целое. Например, с точностью 3 число округляется в сторону увеличения до следующего целого числа, кратного 3.
    • Если при делении числа на точность 2 или больше возникает остаток, результат округляется в сторону увеличения.

    Пример

    With the following MWE:

    ExcelPackage package = new ExcelPackage(@"C:Usersmpaulustest.xlsx");
    ExcelWorksheet sheet = package.Workbook.Worksheets.Add("Sheet");
    sheet.Cells[1, 1].Formula = "CEILING.MATH(1.6)";
    package.Save();

    I get a #NAME() error when opening the output xlsx. There is no EPPlus exception for unknown function.

    When I look at the output XML in the sheetData element, everything looks fine:

    <sheetData><row r="1"><c r="A1" s="0"><f>CEILING.MATH(1.6)</f></c></row></sheetData>

    If I make a spreadsheet within Excel itself and look at that, it looks like:

    <sheetData><row r="1" spans="1:1" x14ac:dyDescent="0.35"><c r="A1"><f>_xlfn.CEILING.MATH(1.6)</f><v>3</v></c></row></sheetData>

    When I looked through the code base, it looks like the _xlfn is removed on purpose in a few places.

    src/EPPlus/FormulaParsing/ExpressionGraph/FunctionExpression.cs
    62:                // older versions of Excel (pre 2007) adds "_xlfn." in front of some function names for compatibility reasons.
    64:                if (funcName.StartsWith("_xlfn.", StringComparison.OrdinalIgnoreCase)) funcName = funcName.Replace("_xlfn.", string.Empty);
    
    src/EPPlus/DataValidation/Formulas/ExcelDataValidationFormula.cs
    102:            formula = formula.Replace("_xlfn.", string.Empty).Replace("_xlws.", string.Empty);
    

    I did confirm if I manually add that _xlfn back in, there is no error, meaning:

    sheet.Cells[1, 1].Formula = "_xlfn.CEILING.MATH(1.6)";

    did work.

    Is this a case where that prefix is required?

    I am using EPPlus version 6.1.1.
    Excel version is 2210 (Build 15726.20202)

    MS Excel является одним из самых популярных программных продуктов в мире, которые используются как в деловой сфере, так и в быту. При работе с этой программой пользователи могут столкнуться с ошибками при использовании формул. Один из таких случаев, когда возникает ошибка, связан с использованием формулы =_xlfn.CEILING.MATH.

    Формула =_xlfn.CEILING.MATH используется для округления чисел в большую сторону до ближайшего заданного кратного. Эта формула может показаться довольно простой, но если при ее использовании возникнет ошибка, то разобраться в ней не так-то просто. Неправильное использование формулы может привести к неправильным решениям и сбоям в работе таблицы.

    В этой статье мы рассмотрим причины возникновения ошибки при использовании формулы =_xlfn.CEILING.MATH и предложим подходы для ее решения. Мы также приведем примеры использования формулы и объясним, какие ошибки могут возникнуть при различных комбинациях параметров. Если вы столкнулись с ошибкой при использовании формулы =_xlfn.CEILING.MATH, то эта статья позволит вам разобраться в причинах ее возникновения и решить проблему.

    Содержание

    1. Формула =_xlfn.CEILING.MATH в MS Excel: что она значит?
    2. Проявление ошибки при использовании формулы =_xlfn.CEILING.MATH в MS Excel
    3. Как решить проблему с формулой =_xlfn.CEILING.MATH в MS Excel
    4. Как избежать ошибок при использовании формул в MS Excel
    5. Использование правильной синтаксиса
    6. Использование правильных ссылок на ячейки
    7. Проверка формул на наличие ошибок
    8. Вопрос-ответ
    9. Что такое формула =_xlfn.CEILING.MATH в MS Excel?
    10. Какие проблемы могут возникнуть при использовании формулы =_xlfn.CEILING.MATH в MS Excel?
    11. Как исправить ошибки при использовании формулы =_xlfn.CEILING.MATH в MS Excel?
    12. Какие еще функции округления чисел доступны в MS Excel?
    13. Как выбрать наиболее подходящую функцию округления чисел в MS Excel?

    Формула =_xlfn.CEILING.MATH в MS Excel: что она значит?

    Формула =_xlfn.CEILING.MATH — это одна из функций, доступных в программа MS Excel. Она используется для округления чисел в большую сторону, так что результат округления будет наименьшим числом, которое больше или равно исходному.

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

    Однако стоит учитывать, что формула =_xlfn.CEILING.MATH может вызывать проблемы, если ее использовать неправильно. Неправильное округление может повлиять на точность расчетов и привести к ошибкам в данных. Поэтому важно понимать, как правильно использовать эту формулу и следить за точностью округления.

    Проявление ошибки при использовании формулы =_xlfn.CEILING.MATH в MS Excel

    Ошибка при использовании формулы =_xlfn.CEILING.MATH может проявиться из-за неправильно введенных аргументов. Если в формулу вводится нулевое значение, то будет выведено сообщение об ошибке. Также ошибка может возникнуть, если значение аргумента не составляет целое число.

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

    Кроме того, при использовании формулы =_xlfn.CEILING.MATH может возникнуть ситуация, когда результат округления получается неверным. Это может произойти, если вводятся некорректные значения аргументов или дробные числа.

    • Для избежания ошибок необходимо правильно вводить значения аргументов в формулу.
    • Если нужно округлять отрицательные числа до ближайшего целого значения в большую сторону, то нужно использовать другую формулу — =CEILING.MATH(Abs(число), step).
    • Для того, чтобы получить корректный результат округления, необходимо запомнить правила округления и следовать им.

    Как решить проблему с формулой =_xlfn.CEILING.MATH в MS Excel

    При использовании формулы =_xlfn.CEILING.MATH в MS Excel могут возникать ошибки, связанные с синтаксисом. Для того чтобы решить проблему необходимо следовать определенным инструкциям.

    Во-первых, проверьте правильность написания формулы. Проверьте, что все скобки написаны в правильном порядке и что все аргументы введены корректно.

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

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

    Если проблема все еще не решена, обратитесь к специалистам Microsoft для получения конкретной помощи. В целом, проблемы с использованием формулы =_xlfn.CEILING.MATH в MS Excel можно решить, следуя простым инструкциям и методам, описанным выше.

    Как избежать ошибок при использовании формул в MS Excel

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

    Использование правильной синтаксиса

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

    Использование правильных ссылок на ячейки

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

    Проверка формул на наличие ошибок

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

    Вопрос-ответ

    Что такое формула =_xlfn.CEILING.MATH в MS Excel?

    Формула =_xlfn.CEILING.MATH в MS Excel используется для округления числа вверх до ближайшего кратного указанного числа. Например, если нужно округлить число 23 до ближайшего кратного 5, нужно использовать формулу =_xlfn.CEILING.MATH(23,5), которая вернет результат 25.

    Какие проблемы могут возникнуть при использовании формулы =_xlfn.CEILING.MATH в MS Excel?

    У пользователей MS Excel могут возникнуть проблемы при использовании формулы =_xlfn.CEILING.MATH, если они неправильно указали аргументы функции, в результате может быть получено неверное значение. Также, в некоторых версиях программы формула может быть недоступна или работать некорректно.

    Как исправить ошибки при использовании формулы =_xlfn.CEILING.MATH в MS Excel?

    При возникновении ошибок при использовании формулы =_xlfn.CEILING.MATH в MS Excel, необходимо проверить правильность указания аргументов функции. В случае, если формула не работает, рекомендуется обновить программу до последней версии и проверить доступность функции.

    Какие еще функции округления чисел доступны в MS Excel?

    В MS Excel доступно несколько функций для округления чисел вверх или вниз: ROUNDUP, ROUNDDOWN, ROUND, MROUND, INT. Функции ROUNDUP и ROUND выполняют округление числа вверх и до ближайшего целого числа соответственно. Функции ROUNDDOWN и INT округляют число вниз до ближайшего целого числа, а функция MROUND округляет число до ближайшего кратного заданному значению.

    Как выбрать наиболее подходящую функцию округления чисел в MS Excel?

    Выбор функции для округления чисел в MS Excel зависит от требований к точности результата и характера данных. Если необходимо округлять до ближайшего целого числа, можно использовать функции ROUND, ROUNDDOWN или ROUNDUP. Если нужно округлить до заданного значения, лучше использовать функции MROUND или =_xlfn.CEILING.MATH. Если же необходимо получить только целую часть числа, можно использовать функции INT или TRUNC.

    Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

    Проблема

    Объект _xlfn. Префикс отображается перед функцией в формуле. Когда формула вычисляется, отображается #NAME? (значение ошибки).

    Причина

    Книга Excel содержит функцию, которая не поддерживается в версии Excel, которая выполняется в данный момент. Например, вы могли открыть книгу, содержащую функцию IFERROR, которая не поддерживается в версиях Excel более ранних версий, чем Excel 2007. Функции, которые не поддерживаются в версиях Excel, предшествующих Excel 2007, включают: AVERAGEIF, AVERAGEIFS, MAXIFS, MINIFS, IFS, CUBEKPIMEMBER, CUBEMEMBER, CUBEMEMBERPROPERTY, CUBERANKEDMEMBER, CUBESET, CUBESETCOUNT, CUBEVALUE, COUNTIFS, IFERROR и SUMIFS.

    Решение

    Удалите неподдерживаемые функции или, если возможно, замените неподдерживаемые функции поддерживаемыми функциями.

    Дополнительные сведения

    Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

    См. также

    Функции Excel (по алфавиту)

    Функции Excel (по категориям)

    Нужна дополнительная помощь?

    Нужны дополнительные параметры?

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

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

    Возможно, вам также будет интересно:

  • Xiaoxun ошибка входа 101
  • Xiaomitool v2 ошибка при прошивке
  • Xiaomitool v2 ошибка procedure error occurred
  • Xiaomiflash ошибка при прошивке
  • Xiaomi скачать полную прошивку ошибка загрузки

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии