Sdscompany.ru

Компьютерный журнал
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка числа или значения

Ошибка числа или значения

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Подскажите пожалуйста, версия Юджет 8,5,4,0 от февраля 2009 года. При выборе счета контрагента в любом разделе выходит ошибка «PL/SQL: : ошибка преобразования символа в число ошибка числа или значения» Откуда берется ума не приложу. в табличке вроде все адекватно! Очень прошу Разработчика помочь, пожалуйста .

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

ORA-06502: PL/SQL: : ошибка преобразования символа в число ошибка числа или значения
ORA-06512: на line 2

Call stack:
p8540vcl.bpl (Ora, 5960)
p8540vcl.bpl (DBAccess, 3207)
p8540vcl.bpl (PDbAccess, 1228)
p8540vcl.bpl (DllDoc, 135)
p8540vcl.bpl (DllDoc, 152)
bs_acnt.dll ($000A76A3)
p8540vcl.bpl (PDocument, 150)
p8540vcl.bpl (PDocument, 192)
bs_acnt.dll ($000A79B9)
p8540vcl.bpl (Document, 1252)
p8540vcl.bpl (DictIntf, 803)
p8540vcl.bpl (PEditors, 2774)
p8540vcl.bpl (PEditors, 4630)
p8540vcl.bpl (PEditors, 1601)
p8540vcl.bpl (PEditors, 1576)
p8540vcl.bpl (Controls, 4614)
p8540vcl.bpl (Controls, 6311)
p8540vcl.bpl (Controls, 6357)
p8540vcl.bpl (Controls, 6311)
p8540vcl.bpl (Classes, 10565)
user32.dll ($00007708)
user32.dll ($000077EA)
user32.dll ($0000A742)
user32.dll ($0000A7AA)
comctl32.dll ($00025FF5)
comctl32.dll ($000260D7)
comctl32.dll ($000283DC)
user32.dll ($00007708)
user32.dll ($000077EA)
user32.dll ($0000B00D)
user32.dll ($0000D365)
p8540vcl.bpl (Controls, 6339)
p8540vcl.bpl (Controls, 4614)
p8540vcl.bpl (Controls, 6311)
p8540vcl.bpl (Classes, 10565)
user32.dll ($00007708)
user32.dll ($000077EA)
user32.dll ($000079A4)
user32.dll ($0000ACCB)
p8540vcl.bpl (Forms, 6745)
p8540vcl.bpl (PDocDbAccess, 2634)
p8540vcl.bpl (PDocDbAccess, 2379)
p8540vcl.bpl (DllDocumentView, 2541)
p8540vcl.bpl (DllDocumentView, 3388)
p8540vcl.bpl (DbPopup, 1947)
p8540vcl.bpl (DbPopup, 669)
p8540vcl.bpl (PDbGrids, 6408)
p8540vcl.bpl (PDbGrids, 4249)
p8540vcl.bpl (PDocDbAccess, 4561)
p8540vcl.bpl (Controls, 4697)
p8540vcl.bpl (Controls, 4721)
p8540vcl.bpl (dcregexpr, 67)
p8540vcl.bpl (Controls, 6311)
p8540vcl.bpl (Controls, 6209)
p8540vcl.bpl (Classes, 10565)
user32.dll ($00007708)
user32.dll ($000077EA)
user32.dll ($000079A4)
user32.dll ($0000ACCB)
p8540vcl.bpl (Forms, 6745)
p8540vcl.bpl (PDispatcher, 2197)
p8540vcl.bpl (PDispatcher, 303)
p8application.exe (p8application, 456)
p8application.exe (p8application, 483)
kernel32.dll ($00015D4E)

Из монитора. последняя запись перед ошибкой

begin
FIND_AGNLIST_CODE(NULL, ‘Кейтеринговая К’, 20709, 0, 0);
end;

Ошибки Excel 2007

Я ввожу формулу, но вместо результата я вижу текст #Н/Д или #####. Что это значит?

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

Ошибка #####

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

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

Ошибка #Н/Д

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

  • В функции не указаны один или несколько обязательных аргументов.
  • В функциях ВПР, ГПР, ПРОСМОТР или ПОИСКПОЗ указано неправильное значение аргумента искомое_значение.
  • Функции ВПР, ГПР или ПОИСКПОЗ применяются для поиска в несортированной таблице.
  • В исходной таблице вместо пропущенных данных было введено значение #Н/Д или НД().

Ошибка #ДЕЛ/0!

Ошибка #ДЕЛ/0! Означает, что в процессе вычисления происходит деление на ноль. Причины могут быть следующие:

  • В формуле явно задано деление на ноль (например, =10/0).
  • В формуле или функции в качестве делителя стоит ссылка на пустую ячейку или на ячейку, которая содержит ноль.

Ошибка #ПУСТО!

Эта ошибка возникает, когда в условиях функции указано два пересекающихся диапазона, но на самом деле они не пересекаются.

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

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

Ошибка #ЧИСЛО!

Данная ошибка возникает, если в формуле или функции указаны некорректные числовые значения. Например:

  • В функции, которая использует числовой аргумент, в его качестве указан текст или ссылка на ячейку с нечисловым значением.
  • Функция, которая выполняет итерации (вычисление, которое повторяется до тех пор, пока не будет выполнено заданное условие, например ВСД или СТАВКА) не может вычислить результат (например, заданное условие не наступило).
  • Результатом вычисления стало число, слишком большое или слишком малое для использования в Excel. Напоминаем, что максимальное число в Excel не может превышать 10307 и быть меньше минус 10307.

Ошибка #ССЫЛКА!

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

Ошибка #ЗНАЧ!

Такая ошибка возникает при использовании неверного типа аргумента или операнда. Например, пользователь может ошибиться в следующем:

  • В формулу вместо числа или логического значения (ИСТИНА или ЛОЖЬ) введен текст.
  • После ввода или редактирования формулы массива нажимается клавиша ВВОД вместо комбинации CTRL+SHIFT+ВВОД.
  • Ссылка, формула или функция указана как массив.
  • В качестве условия функции, который требует единичное значение, указан диапазон.

Я понял, что означает ошибка. Но моя формула очень большая/работает с большим объемом данных. Как мне найти место, где допущена ошибка?

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

Читать еще:  Ошибка при запуске payday 2 0xc000007b

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

У меня ошибка #ИМЯ? и я не могу найти её причину.

  • Проверьте правильность написания имени (названия) функции. Для этого можно вызвать Мастер функций (группа Библиотека функций вкладки Формулы), и выбрать нужную функцию из предлагаемого списка.
  • В формулу был введен текст, не заключенный в двойные кавычки. Допустим, результатом формулы должен был быть текст с числом — например, Итого 200 р. Если при введении текста Итого в формулу этот текст не заключен в двойные кавычки, Excel интерпретирует такие данные как имя, что вызывает ошибку.

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

  • В формуле или функции используется имя, которое не было определено. Проверьте, что данное имя существует. На вкладке Формулы в группе Именованные ячейки выберите Диспетчер имен и выясните, присутствует ли данное имя в списке. Если данное имя отсутствует, его можно добавить его путем выбора команды Создание имени.
  • Была допущена ошибка в написании имени. Для проверки правильности указания имен в строке формул нужно нажать клавишу F3, щелкнуть требуемое имя, а затем нажать ОК.
  • В формуле или функции используется ссылка на другой лист, не заключенный в ординарные кавычки. Если имя другого листа или книги содержит небуквенные знаки или пробел, то это имя необходимо заключить в апострофы ( ‘ ).

У меня огромная база данных клиентов — покупателей. Каждый день в базе данных добавляется столбец, в котором указывается сумма выручки от каждого покупателя. Если покупатель ничего не купил, в ячейке ставится #Н/Д. Как мне просуммировать столбец, если там есть такие данные?

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

Но если основную таблицу изменить невозможно (по разным причинам), эту проблему можно попробовать решить с помощью функции БДСУММ.

Допустим, исходная таблица имеет следующий вид:

Применив функцию БДСУММ, мы сможем выбрать для суммирования те ячейки, которые не содержат значения #Н/Д. Функция БДСУММ имеет следующий синтаксис:

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

То есть, в функции нам нужно задать суммирование первого столбца нашей таблицы, при условии, что значение ячейки этого столбца не равно #Н/Д. Для этого сначала создадим условие — в любом удобном месте рабочего листа напишем условие <>#Н/Д и озаглавим эту ячейку так же как и столбец нужной нам базы данных.

Далее мы вводим следующую формулу:

  • C2:C18 — наша таблица,
  • E2:E3 — наше условие.

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

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

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

Этот способ также может использоваться для функций СЧЁТ, БСЧЁТА, ДМАКС, ДМИН, БДПРОИЗВЕД и им подобных.

В начало страницы

В начало страницы

Шаг 86 — PL/SQL — Язык программирования Oracle (стр. 3 )

CREATE OR REPLACE PROCEDURE PTEST(I_PAR IN OUT NUMBER, II_PAR IN OUT VARCHAR2)

SQL> CREATE OR REPLACE PROCEDURE PTEST(I_PAR IN OUT NUMBER, II_PAR IN OUT VARCHAR2)

7 II_PAR := ‘POIUYTREWQLKJHGFDSA’;

Вот теперь I_PAR и II_PAR получили неявное ограничение посредством объявлений:

т. е. получилось, что то вроде:

CREATE OR REPLACE PROCEDURE PTEST(I_PAR IN OUT NUMBER(3.4), II_PAR IN OUT VARCHAR2(19))

Теперь, если произвести вот такой вызов:

Получаем, что-то довольно странное:

3 V_STR VARCHAR2(10);

4 V_NUM NUMBER(3,4);

8 PTEST(V_NUM, V_STR);

ошибка в строке 1:

ORA-06502: PL/SQL: : буфер символьных строк слишком маленький ошибка числа или значения

ORA-06512: на «MILLER. PTEST», line 7

ORA-06512: на line 8

Не сразу ясно, что происходит, так? А все очень просто, V_STR VARCHAR2(10) переопределила ограничение переменной II_PAR при ее явном вызове и запись строки длинной 19 символов в переменную всего в 10 символов привело к ошибке! Очень важно это понимать, иначе в дальнейшем вы запутаетесь совсем! Здесь ошибку вызвала сама вызывающая программа, а не код процедуры, как может показаться! Так вот во избежание ошибок, подобных ORA-06502 при создании процедур документируйте все ограничения налагаемые на фактические параметры — вносите в хранимые процедуры комментарии, а так же кроме описания каждого параметра записывайте функции выполняемые самой процедурой! Вот тогда я думаю, у вас все получится!

Так же единственным способом наложения ограничения на формальный параметр функции является использование оператора %TYPE. Мы с вами о нем говорили. В свете этого можно переписать нашу функцию пример — скажем, вот так:

CREATE OR REPLACE PROCEDURE PTEST(

I_PAR IN OUT CUSTOMERS. CUST_NUM%TYPE,

II_PAR IN OUT PANY%TYPE)

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

Читать еще:  Тексты с ошибками для редактирования

SQL> CREATE OR REPLACE PROCEDURE PTEST(

2 I_PAR IN OUT CUSTOMERS. CUST_NUM%TYPE,

3 II_PAR IN OUT PANY%TYPE)

9 II_PAR := ‘POIUYTREWQLKJHGFDSA’;

Ошибок нет! Значит, все прошло успешно! Как работать с параметрами это дело вкуса, а на него, как говорится, товарищей совсем не бывает! Вот пока можете все это переварить, а я пойду попью чаю! 🙂

Шаг 92 — PL/SQL — Процедуры и параметры еще немного

Что ж давайте покончим с этими параметрами. Осталось рассмотреть тип применения параметров при передаче их в процедуру. Рассмотрим пример. Создадим процедуру следующего вида:

CREATE OR REPLACE PROCEDURE TEST_POZ(

PR_C IN VARCHAR2,

PR_D IN VARCHAR2

Ничего особенного она проделывать не будет, но зато с явным энтузиазмом будет принимать аж четыре параметра! Компилируем:

SQL> CREATE OR REPLACE PROCEDURE TEST_POZ(

2 PR_A IN NUMBER,

3 PR_B IN NUMBER,

4 PR_C IN VARCHAR2,

5 PR_D IN VARCHAR2

13 END TEST_POZ;

Все прошло успешно, вот и славно! А вот теперь запишем такой анонимный блок:

SET SERVEROUTPUT ON

TEST_POZ(PR_1, PR_2, PR_3, PR_4);

Запускаем и получаем:

SQL> SET SERVEROUTPUT ON

5 PR_3 VARCHAR2(100);

6 PR_4 VARCHAR2(100);

10 TEST_POZ(PR_1, PR_2, PR_3, PR_4);

Процедура PL/SQL успешно завершена.

Смотрите, мы объявили четыре параметра и передали их нашей функции, в данном конкретном случае мы применили так называемое — «позиционное представление» (positional notation)! Такой тип передачи параметров применяется во всех языках программирования, например в таком как C и C++! Я сразу рекомендую вам пользоваться именно таким способом передачи! Хотя это еще далеко не все!

Запишем следующий анонимный блок:

SET SERVEROUTPUT ON

TEST_POZ(PR_A => PR_1, PR_B => PR_2, PR_C => PR_3, PR_D => PR_4);

SQL> SET SERVEROUTPUT ON

5 PR_3 VARCHAR2(100);

6 PR_4 VARCHAR2(100);

10 TEST_POZ(PR_A => PR_1, PR_B => PR_2, PR_C => PR_3, PR_D => PR_4);

Процедура PL/SQL успешно завершена.

В данном случае я использовал — «именное представление» (named notation), которое PL/SQL унаследовал от языка Ada. В данном случае указываются как формальные, так и фактические параметры. Идем далее. Запишем следующий анонимный блок:

SET SERVEROUTPUT ON

TEST_POZ(PR_B => PR_2, PR_C => PR_3, PR_D => PR_4, PR_A => PR_1);

SQL> SET SERVEROUTPUT ON

5 PR_3 VARCHAR2(100);

6 PR_4 VARCHAR2(100);

10 TEST_POZ(PR_B => PR_2, PR_C => PR_3, PR_D => PR_4, PR_A => PR_1);

Процедура PL/SQL успешно завершена.

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

SET SERVEROUTPUT ON

TEST_POZ(PR_1, PR_2, PR_C => PR_3, PR_D => PR_4);

SQL> SET SERVEROUTPUT ON

5 PR_3 VARCHAR2(100);

6 PR_4 VARCHAR2(100);

10 TEST_POZ(PR_1, PR_2, PR_C => PR_3, PR_D => PR_4);

Процедура PL/SQL успешно завершена.

Здесь хорошо видно, что позиционное и именное представление можно комбинировать, и использовать совместно. Хотя я думаю, что так легче запутать код, чтобы потом никто нифига не понял! 🙂 Хотя это все оставляется на усмотрение программиста и стиль написания кода! Так же смею заметить, что — чем больше параметров в процедуре, тем сложнее ее вызывать и тем труднее убеждаться в наличии всех требуемых параметров. Если необходимо передать в процедуру или получить из нее достаточно большое число параметров, то рекомендуется определить тип записи, полями которой будут эти параметры. Затем можно использовать единственный параметр имеющий тип записи. В PL/SQL — так же не установлено явное ограничение на количество передаваемых в процедуру параметров.

Значение параметров по умолчанию.

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

Давайте перепишем нашу первую процедуру с параметрами по умолчанию:

CREATE OR REPLACE PROCEDURE TEST_POZ(

PR_C IN VARCHAR2 := ‘HELLO’,

PR_D IN VARCHAR2 DEFAULT ‘WORLD. ‘)

SQL> CREATE OR REPLACE PROCEDURE TEST_POZ(

2 PR_A IN NUMBER,

3 PR_B IN NUMBER,

4 PR_C IN VARCHAR2 := ‘HELLO’,

5 PR_D IN VARCHAR2 DEFAULT ‘WORLD. ‘)

12 END TEST_POZ;

К слову, используйте параметры по умолчанию в конце списка всех параметров процедуры, при этом будет возможность использовать как именное, так и позиционное представление. Вот и все с параметрами процедур, теперь вам стало понятнее как все это работает в PL/SQL! Пробуйте!

Шаг 93 — PL/SQL — Функции

Вот теперь, наконец, давайте рассмотрим такое понятие как функции PL/SQL. Раньше в шагах мы с вами рассмотрели так называемые встроенные функции PL/SQL. А сейчас мы попробуем сами научится писать то, что называется функциями. По своей сути функция это то же, что и процедура, она может принимать параметры по всем тем же правилам, что и процедуры, и кроме всего она может возвращать значения! Но не применением OUT типа передаваемого параметра, а сама по себе. То есть функция, принимает параметры и возвращает одно(!), значение! В принципе в функции можно применять параметры с типом OUT — но это очень плохая идея! Такой метод я использовать не рекомендую! Определение функции таково:

Кое-что вам уже знакомо, за исключением того, что присутствует оператор RETURN. Посредством этого оператора функция возвращает значение. Функция, как правило, вызывается внутри какого-либо определения, т. к. вызывать функцию как оператор нет смысла. Но как вы дальше убедитесь, с помощью функция можно делать очень полезные вещи. Итак, давайте напишем функцию преобразования BOOLEAN типа в тип VARCHAR2 — это самая простая задачка во всех учебниках. Итак:

Читать еще:  Ошибка при сохранении документа

Ошибки #ЗНАЧ и #Н/Д в функции ВПР() Excel и как сними бороться.

В данной статье расскажу о двух ошибках которые может выдать функция ВПР() :

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

Когда возникает ошибка #Н/Д и как от нее избавиться при использовании ВПР().

Сообщение об ошибке Н/Д можно расшифровать как аббревиатуру (НД) – нет данных, то есть функции ВПР() нечего отобразить, и она как бы сообщает: «нет данных для отображения».

Почему возникает ошибка Н/Д (НД)?

  1. Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения нет искомого функцией ВПР() значения.
  2. Ошибка может возникать потому, что в Вашем списке (диапазоне) для сравнения значения ячеек имеют ошибки. Иногда ошибки нельзя увидеть «не вооружённым глазом», например, если в ячейке добавлен лишний пробел или едва заметная точка. ВПР() воспринимает значение ячейки без пробела и с пробелом как совершенно разные данные и выдает ошибку «Н/Д».
  3. Ошибка может возникать потому, что в искомой ячейке уже стоит значение «Н/Д», то есть ВПР() подтягивает эту ошибку из другой ячейки (искомой).

Как исправить ошибки Н/Д?

  1. Первый способ – применить обработку ошибок – функцию ЕСЛИОШИБКА(ВПР(*;*;*;0);”Здесь была ошибка”). Эта функция заменяет сообщение об ошибке на любое значение, которое Вы укажете.
  2. Способ №2 – удалить все пробелы и, по возможности, знаки препинания из ячеек. Для этого нужно нажатием клавиш ctrl+H вызвать окно замены значений, потом в поле «Найти» ввести пробел или знак препинания, а в поле «Заменить на:» не вводить ничего и нажить кнопку «Заменить все».
  3. Способ №3 – поставить в функции ВПР() допуск ошибки. Как нам извесчтно 4 –й аргумент функции это число ошибок которые может допускать в сравниваемой строке функция ВПР(). То есть, если поставить число «1», то допускается 1 ошибка при сравнении [ВПР(*;*;*;1)]. В таком случае строка без пробела и с одним пробелом будут считаться идентичными. Но в таком способе есть подвох — очень высока вероятность неверных результатов, например, слово «полка» и «палка» имеют отличие всего в один знак и будут восприняты функцией, как одно и то же.

Когда возникает ошибка #ЗНАЧ и как от нее избавиться при использовании ВПР().

Ошибка #ЗНАЧ может выводиться функцией ВПР(), если введенные значения аргументов функции некорректны и функция не может их обработать.

Казалось бы какие значения могут быть некорректными, если ВПР() необходимо просто сравнить одно значение с другим и присвоить ячейке данные из совпавших ячеек, но эта ошибка возникает.

Появляется ошибка #ЗНАЧ в функции ВПР() тогда, когда длина строки сравниваемой функцией слишком большая и не может быть обработана. Например, в Excel 2010 максимальная длина строки обрабатываемой функцией всего 255 символов, и если Вы будете сравнивать строки длиной 256 и более символов, то получите ошибку #ЗНАЧ.

Исправить ошибку #ЗНАЧ в таком случае можно уменьшив длины сравниваемых строк.

Еще ошибка #ЗНАЧ может возникнуть если Вы пропустили(не указали) один из аргументов в функции.

Как исправить #NUM! ошибка

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

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

Такое часто происходит, если ввести числовое значение, используя тип данных или числовой формат, который не поддерживается в разделе аргументов данной формулы. Например, вы не можете ввести значение, например $1 000 , в денежный формат, так как знаки доллары используются в качестве индикаторов абсолютных ссылок и запятыми в качестве разделителей аргументов в формулах. Чтобы избежать #NUM! ошибкам, введите значения в виде неформатированных чисел, например 1000.

В Excel ошибка #ЧИСЛО! также может возникать, если:

в формуле используется функция, выполняющая итерацию, например ВСД или СТАВКА, которая не может найти результат.

Чтобы исправить ошибку, измените число итераций формулы в Excel.

На вкладке Файл выберите команду Параметры. Если вы используете Excel 2007, нажмите кнопку Microsoft Office параметры _гт_ Excel.

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

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

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

Результат формулы — число, слишком большое или слишком малое для отображения в Excel.

Чтобы исправить ошибку, измените формулу таким образом, чтобы результат ее вычисления находился в диапазоне от -1*10307 до 1*10307.

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

У вас есть вопрос об определенной функции?

Помогите нам улучшить Excel

У вас есть предложения по улучшению следующей версии Excel? Если да, ознакомьтесь с разделами, посвященными голосовЫм пользовательСким приложением Excel

Ссылка на основную публикацию
Adblock
detector