Начини за избягване на повредени формули

Начини за избягване на повредени формули

Ако Excel не може да обработи формула, която се опитвате да създадете, може да получите съобщение за грешка като това:

Изображение на диалоговия прозорец "Проблем с тази формула" на Excel

За съжаление, това означава, че Excel не може да разбере какво се опитвате да направите, така че просто може да започнете отначало.

Започнете, като щракнете върху OK, или натиснете ESC, за да затворите съобщението за грешка.

Ще се върнете към клетката с повредената формула, която ще бъде в режим на редактиране, и Excel ще освети мястото, където има проблем. Ако все още не знаете какво да направите, и искате да започнете отначало, можете отново да натиснете ESC или да щракнете върху бутона Отказ в лентата за формули, като така ще излезете от режима на редактиране.

Изображение на бутона "Отказ" на лентата за формули

Ако не сте сигурни какво да направите в този момент или от какъв вид помощ имате нужда, можете да потърсите подобни въпроси във форума на общността на Excel или да публикувате свой.

Връзка към форума на общността на Excel

Ако искате да продължите напред, следващият контролен списък предоставя стъпките за отстраняване на неизправности, за да ви помогне да разберете какво може да се е объркало във вашите формули.

Excel дава редица грешки с диез (#) като #VALUE!, #REF!, #NUM, #N/A, #DIV/0!, #NAME? и #NULL!, за да посочи, че нещо във вашата формула не работи както трябва. Възможно е например грешката #VALUE! да се дължи на неправилно форматиране или неподдържани типове данни в аргументите. Може да видите грешка #REF!, ако формулата препраща към клетки, които са изтрити или заместени с други данни. Указанията за отстраняване на неизправности ще бъдат различни за всяка грешка.

Забележка: #### не е грешка, свързани с формули. Това просто означава, че колоната не е достатъчно широка, за да се покаже съдържанието на клетката. Просто плъзнете колоната, за да я разширите, или отидете на Начало > Формат > Автопобиране на ширината на колона.

Изображение на "Начало > Формат > Автопобиране на ширината на колона"

Разгледайте някоя от следните теми, които се занимават с грешката с диез, която виждате:

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

Диалогов прозорец за повредени препратки в Excel

Excel показва диалоговия прозорец по-горе, за да се уверите, че формулите в текущата електронна таблица винаги сочат към най-актуалната стойност, в случай че референтната стойност е променена. Можете да изберете да актуализирате препратките или не. Дори ако решите препратките да не се актуализират, винаги можете ръчно да актуализирате връзките в електронната таблица.

Можете винаги да забраните показването на диалоговия прозорец при стартиране. За да направите това, отидете на Файл > Опции > Разширени > Общи и изчистете отметката от Искай разрешение за актуализиране на автоматичните връзки. В Excel 2007 трябва да щракнете Бутон Office > Опции на Excel. Бутон Office 2007

Изображение на опцията "Искай разрешение за актуализиране на автоматичните връзки"

Важно: Ако това е първият път, когато работите с прекъснати връзки във формули, трябва да си припомните как си отстраняват проблеми с прекъснати връзки. Ако пък не знаете дали да се актуализират препратките, вижте Управление на това кога да се актуализират външни препратки (връзки).

Ако формулата не показва стойността, изпълнете следните стъпки:

  • Уверете се, че Excel е настроен да показва формули в електронната таблица. За да го настроите така, щракнете върху раздела Формули, а в групата Проверка на формули щракнете върху Показване на формули.

    Съвет: Можете също да използвате клавишната комбинация Ctrl + ` (клавиша над Tab). Когато направите това, колоните автоматично ще се разширят, за да се показват формулите. Но не се притеснявайте, когато превключите обратно към нормалния изглед, колоните ще се преоразмерят.

  • Ако предишната стъпка не разреши проблема, е възможно клетката да е форматирана като текст. Можете да щракнете с десния бутон върху клетката и да изберете Форматиране на клетки > Общи (или Ctrl + 1), след което да натиснете F2 > Enter, за да промените формата.

  • Ако имате голям диапазон от клетки в колона, които са форматирани като текст, можете да изберете диапазона, да приложите числов формат по избор и да отидете на Данни > Текст в колони > Готово. Това ще приложи формата върху всички избрани клетки.

    Изображение на диалоговия прозорец "Данни > Текст в колони"

Когато формула не се изчислява, трябва да проверите дали автоматичното изчисление е разрешено в Excel. Формулите не се изчисляват, ако е разрешено ръчно изчисление. Следвайте тези стъпки, за да проверите за Автоматично изчисление:

  1. Щракнете върху раздела Файл, щракнете върху Опции, а след това щракнете върху категорията Формули.

  2. В раздела Опции за изчисления под Изчисляване на работната книга се уверете, че е избрана опцията Автоматично.

    Изображение на опциите за автоматично и ръчно изчисляване

За повече информация за изчисления вижте Промяна на преизчисляването, итерацията или точността на формула.

Кръгова препратка възниква, когато една формула препраща към клетката, в която се намира самата формула. Решението е да преместите формулата в друга клетка или да промените синтаксиса на формулата така, че да избягва кръгови препратки. Обаче в някои случаи кръговите препратки може да са нужни, защото те принуждават функциите да извършват итерации – повторения, докато бъде изпълнено определено числово условие. В такъв случай ще трябва да разрешите Итеративно изчисление.

За повече информация за кръговите препратки вижте Намиране и поправяне на кръгова препратка

Ако вашият запис не започва със знак за равенство, той не е формула и няма да бъде изчислен – често срещана грешка.

Например когато въведете нещо като SUM(A1:A10), Excel показва текстовия низ SUM(A1:A10) вместо резултат от формула. Ако въведете 11/2, Excel ще покаже дата, например 2 ноември или 02.11.2009, вместо резултата от 11 делено на 2.

За да избегнете тези неочаквани резултати, винаги започвайте функцията със знак за равенство. Например въведете: =SUM(A1:A10) и =11/2

Когато използвате функция във формула, се уверете, че всички кръгли скоби са част от съответстващи си двойки. Когато използвате функция във формула, всяка отваряща кръгла скоба се нуждае от затваряща кръгла скоба, за да работи функцията правилно, така че всички скоби трябва да са част от съответстваща двойка. Например формулата =IF(B5<0);"Невалидно";B5*1,05) няма да работи, защото има две затварящи кръгли скоби, а само една отваряща. Правилната формула би изглеждала така: =IF(B5<0;"Невалидно";B5*1,05).

Функциите на Excel имат аргументи – стойности, които трябва да предоставите, за да работи функцията. Само няколко функции (като например PI или TODAY) не изискват аргументи. Проверете синтаксиса на формулата, който се появява, когато започнете да въвеждате функцията, за да се уверите, че присъстват задължителните аргументи.

Например функцията UPPER приема само един текстов низ или една препратка към клетка като свой аргумент: =UPPER("здравей") или =UPPER(C2)

Забележка: Ще видите аргументите на функцията, изброени в плаващата лента с инструменти за справки за функциите, докато го въвеждате.

Екранна снимка на лентата с инструменти за справки за функциите
Лента с инструменти за справки за функциите

Също така някои функции, като например SUM, изискват само числови аргументи, докато други функции, като например REPLACE, изискват текстова стойност за поне един от своите аргументи. Ако използвате грешен тип данни, функциите може да върнат неочаквани резултати или да покажат грешка #VALUE!.

Ако трябва бързо да намерите синтаксиса на дадена функция, вижте списъка с Функции на Excel (по категории).

Не въвеждайте числа, форматирани със знаци за долар ($) или с точка и запетая (;), във формули, защото знаците за долар показват Абсолютни препратки и знаците за точка и запетая служат като разделители на аргументите. Вместо да въвеждате $1000, въведете 1000 във формулата.

Ако използвате форматирани числата в аргументите, ще получите неочаквани резултати от изчислението, но може да видите и грешката #NUM!. Например ако въведете формулата =ABS(-2;134), за да намерите абсолютната стойност на -2134, Excel показва #NUM! грешка, защото функцията ABS приема само един аргумент.

Забележка: Можете да форматирате резултата от формулата с десетични разделители и валутни символи, след като въведете формулата, използвайки неформатирани числа (константи). Обикновено не е добра идея да слагате константи във формулите, тъй като може да е трудно да ги намерите, ако трябва да актуализирате по-късно, и е по-възможно да са били въведени неправилно. Много по-добре е да сложите константите в клетки, където се виждат и където лесно могат да се правят препратки.

Вашата формула може да не върне очаквани резултати, ако типът на данните на клетката не може да се използва в изчисления. Например ако въведете проста формула =2+3 в клетка, която е форматирана като текст, Excel не може да изчисли въведените от вас данни. Всичко, което ще видите в клетката, е =2+3. За да коригирате това, променете типа на данните в клетката от Текст на Общи, ето така:

  1. Изберете клетката.

  2. Щракнете върху Начало > стрелката до Числов формат (или натиснете Ctrl + 1) и изберете Общи.

  3. Натиснете F2, за да поставите клетката в режим на редактиране, и натиснете Enter, за да приемете формулата.

Дата, която сте въвели в клетка, използваща тип на данните Число, може да бъде показана като числова стойност за дата, а не като дата. За да покажете число като дата, изберете формат за Дата в галерията Числов формат.

Широко прието е използването на x като оператор за умножение във формулите, но Excel може да работи само с (*). Ако използвате константи във формулата, Excel показва съобщение за грешка и може да коригира формулата вместо вас чрез заместване на x със звездичка (*).

Прозорец за съобщения с молба да се замести x с * за умножение
Съобщение за грешка, когато за умножение е използвано "x" с константи, вместо *

Но ако използвате препратки към клетки, Excel ще върне грешка #NAME?.

Грешка #NAME, когато се използва x с препратки към клетки вместо * за умножение
Грешка #NAME, когато се използва x с препратки към клетки вместо *

Ако създадете формула, която включва текст, поставете текста в кавички.

Например формулата ="Днес е " & TEXT(TODAY();"дддд, дд.мммм") комбинира текста "Днес е " с резултатите от функциите TEXT и TODAY и връща нещо от рода на Днес е понеделник, 30 май в клетката.

Във формулата "Днес е " има интервал преди затварящата кавичка, за да се осигури интервалът между думите "Днес е" и "понеделник, 30 май". Без кавички, ограждащи текста, формулата може да покаже грешката #NAME?.

Можете да комбинирате (или вложите) до 64 нива на функции в дадена формула.

Например формулата =IF(SQRT(PI())<2;"По-малко от две!";"Повече от две!") има 3 нива на функции: Функцията PI е вложена във функцията SQRT, която на свой ред е вложена във функцията IF.

Когато въвеждате препратка към стойности или клетки в друг работен лист и името на този лист съдържа знак, който не е буква (например интервал), оградете името с единични кавички (').

Например за да върнете стойността от клетка D3 в работен лист с име "Тримесечни данни" в работната книга, въведете: ='Тримесечни данни'!D3. Без кавички около името на листа формулата показва грешка #NAME?.

Можете също да щракнете върху стойности или клетки в друг лист, за да създадете препратка към тях в своята формула. Тогава Excel автоматично добавя кавичките около имената на листовете.

Когато въведете препратка към стойности или клетки в друга работна книга, включете името на работната книга, заградено с квадратни скоби ([]), последвано от името на работния лист, съдържащ стойностите или клетките.

За да създадете например препратка към клетки от A1 до A8 в лист "Продажби" в работната книга "Операции през тримесечие 2", която е отворена в Excel, въведете: = [Операции през тримесечие 2.xlsx]Продажби!A1:A8. Без квадратните скоби формулата показва грешка #REF!.

Ако работната книга не е отворена в Excel, въведете пълния път до файла.

Например =ROWS('C:\Моите документи\Операции през тримесечие 2.xlsx]Продажби!'A1:A8).

Забележка: Ако пълният път съдържа знаци за интервал, трябва да оградите пътя в единични кавички (в началото на пътя и след името на работния лист, преди удивителния знак).

Съвет: Най-лесният начин да получите пътя към другата работна книга е да я отворите и след това, от вашата оригинална работна книга, да въведете = и да използвате Alt + Tab, за да преминете към другата работна книга и да изберете произволна клетка в листа, който искате. След това затворете работната книга източник. Вашата формула ще се актуализира автоматично, за да се покаже пълният път към файла и името на листа, заедно с необходимия синтаксис. Можете дори да копирате и поставите пътя и да го използвате, когато ви потрябва.

Разделянето на стойността на клетка на друга клетка, чиято стойност е нула (0) или няма стойност, води до грешката #DIV/0!.

За да избегнете тази грешка, можете да я разгледате директно и да тествате за съществуването на знаменател.

=IF(B1;A1/B1;0)

Което означава, че АКО(B1 съществува, тогава A1 трябва да се раздели на B1, а в противен случай да върне 0).

Винаги проверявайте дали нямате формули, които препращат към данни в клетки, диапазони, дефинирани имена, работни листове или работни книги, преди да изтриете нещо. Тогава можете да заместите тези формули с резултатите от тях, преди да премахнете съответните данни.

Ако не можете да заместите формулите с резултатите от тях, прегледайте тази информация за грешките и възможните решения:

  • Ако една формула препраща към клетки, които са изтрити или заместени с други данни и връща грешка #REF!, изберете клетката с грешката #REF!. В лентата за формули изберете #REF! и го изтрийте. След това въведете отново диапазона за формулата.

  • Ако липсва дефинирано име и формулата, която препраща към това дефинирано име, връща грешка #NAME?, дефинирайте ново име, което препраща към желания от вас диапазон, или променете формулата да препраща директно към диапазона от клетки (например A2:D8).

  • Ако липсва работен лист и формулата, която препраща към нея, връща грешка #REF!, няма начин да коригирате това, за съжаление – не може да бъде възстановен работен лист, който е изтрит.

  • Ако една работна книга липсва, формулата, която препраща към нея, остава непроменена, докато не актуализирате формулата.

    Например ако формулата е =[Книга1.xlsx]Лист1'!A1 и вече нямате Книга1.xlsx, стойностите, адресирани в тази работна книга, остават достъпни. Ако обаче редактирате и запишете формула, която препраща към тази работна книга, Excel показва диалоговия прозорец Актуализирай стойностите и ви подканва да въведете име на файл. Щракнете върху Отказ и след това направете така, че тези данни не се загубят, като заместите формулите, които препращат към липсващата работната книга, с резултатите от формулите.

Понякога, когато копирате съдържанието на клетка, искате да поставите само стойностите, а не формулата, която се показва в лента за формули.

Например може да искате да копирате стойността на резултата от формулата в клетка в друг работен лист. Или може да искате да изтриете стойностите, които сте използвали във формула, след като сте копирали стойността на резултата в друга клетка в работния лист. И при двете действия в клетката местоназначение се показва грешка за невалидна препратка към клетка (#REF!), защото клетките, съдържащи стойностите, които сте използвали във формулата, вече не могат да бъдат използвани.

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

  1. В работен лист изберете клетките, съдържащи стойностите на резултата от формулата, която искате да копирате.

  2. В раздела Начало, в групата Клипборд щракнете върху Копирай Изображение на бутон .

    изображение на лентата на excel

    Клавишна комбинация: Натиснете CTRL+C.

  3. Изберете горната лява клетка на област за поставяне.

    Съвет: За да преместите или копирате селекция в различен работен лист или различна работна книга, щракнете върху друг раздел на работния лист или превключете на друга работна книга, след което изберете горната лява клетка на областта за поставяне

  4. В раздел Начало, в групата Клипборд щракнете върху Постави Изображение на бутон и след това върху Поставяне на стойности. Или натиснете Alt > Л > П > С > Enter за Windows или Option > Command > V > V > Enter на Mac.

За да разберете как сложна или вложена формула изчислява крайния резултат, можете да изчислите тази формула.

  1. Изберете формулата, която искате да изчислите.

  2. Щракнете върху Формули > Изчисляване на формула.

    Група "Проверка на формули" в раздела "Формула"

  3. Щракнете върху Изчисли, за да изследвате стойността на подчертаната препратка. Резултатът от изчислението се показва с курсив.

    Диалогов прозорец "Изчисляване на формула"

  4. Ако подчертаната част от формулата е препратка към друга формула, щракнете върху Стъпка навътре, за да се покаже другата формула в полето Изчисляване. Щракнете върху Стъпка навън, за да се върнете към предишната клетка и формула.

    Бутонът Стъпка навътре не е достъпен при второто появяване на препратката във формулата или ако формулата препраща към клетка в друга работна книга.

  5. Продължете, докато всяка част от формулата бъде изчислена.

    Инструментът за изчисляване на формула може да не ви каже защо вашата формула е повредена, но може да ви помогне да намерите къде е проблемът. Това може да бъде много полезен инструмент в по-големи формули, където в противен случай е трудно да намерите проблема.

    Забележки: 

    • Някои части от функциите IF и CHOOSE няма да се изчислят и може да се покаже грешка #N/A в полето Изчисляване.

    • Празните препратки се показват като нулеви стойности (0) в полето Изчисляване.

    • Функции, които се преизчисляват при всяка промяна на работния лист. Тези функции, включително функциите RAND, AREAS, INDEX, OFFSET, CELL, INDIRECT, ROWS, COLUMNS, NOW, TODAY и RANDBETWEEN, могат да доведат до показване на резултати в диалоговия прозорец Изчисляване на формула, които са различни от действителните резултати в клетката в работния лист.

Имате нужда от още помощ?

Винаги можете да попитате експерт в техническата общност на Excel, да получите поддръжка в общността за отговори или да предложите нова функция или подобрение на User Voice за Excel.

Вж. също

Общ преглед на формулите в Excel

Откриване на грешки във формули

Функции на Excel (по азбучен ред)

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

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×