Ошибка указанный именованный диапазон не найден

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Создал пользовательскую функцию. Работает, возвращает булево значение.
Пытаюсь использовать ее для проверки данных — ан нет, ругается «Указанный именованный диапазон не найден». то бишь не знает книга такой формулы…
А в списке определенных пользователем — эта формула есть.
В чем причина? Или пользовательские формулы для проверки данных использовать нельзя?
И как обойти это?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

kolper, здравия. Файл-пример с Вашей УДФ, согласно правил форума.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Ну это совершенно незачем, функция-то работает..

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#4

19.08.2015 12:10:47

Цитата
kolper написал: Ну это совершенно незачем, функция-то работает…
ан нет, ругается «Указанный именованный диапазон не найден»

:D

Лень двигатель прогресса, доказано!!!

 

TSN

Пользователь

Сообщений: 217
Регистрация: 07.05.2014

#5

19.08.2015 12:11:56

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

Тогда к чему вопрос   :qstn: , без файла примера нужно обращаться к шаманам или гадалкам ;) …  

Изменено: TSN21.08.2015 12:05:55

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

Запихнуть пользовательскую формулу в именованный диапазон.

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Вот это я не очень понимаю…
Формула в качестве параметра принимает значение из ячейки.
А в случае диапазона — плохо представляю…

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

#8

19.08.2015 12:21:49

Цитата
Сергей написал: Ну это совершенно незачем

Формула — работает.
Проверку данных с использованием этой формулы — сделать не получается.

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#9

19.08.2015 12:26:02

Цитата
kolper написал: …Проверку данных с использованием этой формулы — сделать не получается.

OFF Вы начинаете доставать форумчан своей упертоcтью… ;)
Для усвоения:
«2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel.
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.«

Изменено: Z19.08.2015 12:26:27

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

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

#10

19.08.2015 12:34:56

Странно, что проблему понял только один прочитавший…
Для тех, кому не хватает кода — пожалуйста:

Код
Function Ф(ByVal S As Integer) As Boolean
   On Error Goto Ошибка
  If S<5 Then
     Ф=True
 Else
    Ф=False
 End If
 Exit Function

Ошибка:
  Ф=False

End Function

Надеюсь, ясности прибавилось…

Изменено: kolper20.08.2015 12:57:55

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

#11

19.08.2015 12:52:09

Цитата
kolper написал: плохо представляю…

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

 

Юрий М

Модератор

Сообщений: 60347
Регистрация: 14.09.2012

Контакты см. в профиле

kolper, код следует оформлять тегом. Ищите такую кнопку <…>. Исправляйте.

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Конкретной ссылки в инете не нашел, но по косвенным данным — использовать UDF в проверке данных нельзя.

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

#14

20.08.2015 14:49:34

Прямо — нельзя, через именованный диапазон — можно.

Kirill_486

0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

1

25.01.2017, 15:10. Показов 1340. Ответов 4

Метки нет (Все метки)


В общем, идея была простая.
Для создания выпадающего списка из допустимых значений нужен источник — массив этих значений.
Удалить из массива повторяющиеся элементы формулами, внезапно (!!), довольно громоздкая конструкция.
Как вывод VBA to the rescue=)))

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Public Function removeEquals(List) As Variant
 
Dim res() As Variant
Dim item As Variant
Dim ecount As Integer
ecount = 0
ReDim Preserve res(0 To ecount) As Variant
 
For Each item In List
     If Not (isContains(item, res)) Then
         res(ecount) = item
         ecount = ecount + 1
         ReDim Preserve res(0 To ecount)
      End If
         
 
Next item
 
removeEquals = res
 
End Function
 
Public Function isContains(elem, List) As Boolean
 
Dim item As Variant
Dim IsCont As Boolean
IsCont = False
 
 
For Each item In List
     If item = elem Then
          IsCont = True
     End If
     
Next item
isContains = IsCont
 
End Function

Код выше выдает массив уникальных членов диапазона. А почему если код «=removeEquals(A1:A9)» засунуть в поле источник для проверки вводимых значений, он пишет «Указанный именованный диапазон не найден»?

Миниатюры

Как использовать пользовательские функции при указании диапазонов допустимых значений. Excel+VBA
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

3815 / 2244 / 749

Регистрация: 02.11.2012

Сообщений: 5,894

25.01.2017, 15:15

2

а если формулу загнать в имя и в списке использовать имя?

0

0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

25.01.2017, 15:25

 [ТС]

3

Хорошая новость!)))
По шагам получилось. Excel падает при попытке открыть выпадающий список, что уже результат))
Есть идеи что сделать чтобы он заработал?

0

0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

25.01.2017, 15:35

 [ТС]

4

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

Миниатюры

Как использовать пользовательские функции при указании диапазонов допустимых значений. Excel+VBA
 

0

0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

25.01.2017, 15:44

 [ТС]

5

Тоже не может. Если ему прописать диапазон так =removeEquals($A$1:$A$9), ошибки нет, а выпадающий список все равно это не ест(

0

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

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

Найдите, где определенный именованный диапазон используется с VBA

Найдите, где используется определенный именованный диапазон с Kutools for Excel

Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу …

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
  • Разделить инструменты: Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
  • Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий …
  • Более 300 мощных функций; Работает с Office 2007-2021 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

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

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

1. нажмите Ctrl + F одновременно клавиши, чтобы открыть диалоговое окно «Найти и заменить».

Внимание: Вы также можете открыть это диалоговое окно «Найти и заменить», щелкнув значок Главная > Найти и выбрать > Найдите.

2. В открывшемся диалоговом окне «Найти и заменить» выполните следующие действия:

документ, где используется именованный диапазон 1

(1) Введите имя определенного именованного диапазона в поле Найти то, что коробка;

(2) Выберите Workbook из В раскрывающийся список;

(3) Щелкните значок Найти все кнопку.

Внимание: Если раскрывающийся список «Внутри» не отображается, щелкните значок Опции кнопку, чтобы развернуть параметры поиска.

Теперь вы увидите, что все ячейки, содержащие имя указанного именованного диапазона, перечислены в нижней части диалогового окна «Найти и заменить». Смотрите скриншот:

документ, где используется именованный диапазон 2

Внимание: Метод «Найти и заменить» не только обнаруживает все ячейки, использующие этот определенный именованный диапазон, но также обнаруживает все ячейки, покрывающие этот именованный диапазон.


стрелка синий правый пузырь Найдите, где определенный именованный диапазон используется с VBA

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

1. нажмите другой + F11 одновременно клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модули, скопируйте и вставьте следующий код в открывающееся окно модуля.

VBA: найти, где используется определенный именованный диапазон

Sub Find_namedrange_place()
Dim xRg As Range
Dim xCell As Range
Dim xSht As Worksheet
Dim xFoundAt As String
Dim xAddress As String
Dim xShName As String
Dim xSearchName As String
On Error Resume Next
xShName = Application.InputBox("Please type a sheet name you will find cells in:", "Kutools for Excel", Application.ActiveSheet.Name)
Set xSht = Application.Worksheets(xShName)
Set xRg = xSht.Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not xRg Is Nothing Then
xSearchName = Application.InputBox("Please type the name of named range:", "Kutools for Excel")
Set xCell = xRg.Find(What:=xSearchName, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
        If Not xCell Is Nothing Then
xAddress = xCell.Address
If IsPresent(xCell.Formula, xSearchName) Then
xFoundAt = xCell.Address
End If
            Do
Set xCell = xRg.FindNext(xCell)
If Not xCell Is Nothing Then
If xCell.Address = xAddress Then Exit Do
If IsPresent(xCell.Formula, xSearchName) Then
If xFoundAt = "" Then
xFoundAt = xCell.Address
Else
xFoundAt = xFoundAt & ", " & xCell.Address
End If
End If
Else
Exit Do
End If
Loop
End If
If xFoundAt = "" Then
MsgBox "The Named Range was not found", , "Kutools for Excel"
Else
MsgBox "The Named Range has been found these locations: " & xFoundAt, , "Kutools for Excel"
End If
On Error Resume Next
xSht.Range(xFoundAt).Select
End If
End Sub
Private Function IsPresent(sFormula As String, sName As String) As Boolean
Dim xPos1 As Long
Dim xPos2 As Long
Dim xLen As Long
Dim I As Long
xLen = Len(sFormula)
xPos2 = 1
Do
xPos1 = InStr(xPos2, sFormula, sName) - 1
If xPos1 < 1 Then Exit Do
IsPresent = IsVaildChar(sFormula, xPos1)
xPos2 = xPos1 + Len(sName) + 1
If IsPresent Then
If xPos2 <= xLen Then
IsPresent = IsVaildChar(sFormula, xPos2)
End If
End If
Loop
End Function
Private Function IsVaildChar(sFormula As String, Pos As Long) As Boolean
Dim I As Long
IsVaildChar = True
For I = 65 To 90
If UCase(Mid(sFormula, Pos, 1)) = Chr(I) Then
IsVaildChar = False
Exit For
End If
Next I
If IsVaildChar = True Then
If UCase(Mid(sFormula, Pos, 1)) = Chr(34) Then
IsVaildChar = False
End If
End If
If IsVaildChar = True Then
If UCase(Mid(sFormula, Pos, 1)) = Chr(95) Then
IsVaildChar = False
End If
End If
End Function

3. Нажмите Run или нажмите F5 Ключ для запуска этого VBA.

4. Теперь в первом открывшемся диалоговом окне Kutools for Excel введите имя рабочего листа и нажмите OK кнопка; а затем во втором диалоговом окне открытия введите в него имя определенного именованного диапазона и щелкните значок OK кнопка. Смотрите скриншоты:

5. Теперь появляется третье диалоговое окно Kutools for Excel, в котором перечислены ячейки с использованием определенного именованного диапазона, как показано ниже.

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

Внимание: Этот VBA может искать только ячейки, используя определенный именованный диапазон на одном листе за раз.


стрелка синий правый пузырьНайдите, где используется определенный именованный диапазон с Kutools for Excel

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

1. Нажмите Кутулс > Больше > Заменить имена диапазонов , чтобы открыть диалоговое окно «Заменить имена диапазонов».

документ заменить имена диапазонов

2. В открывшемся диалоговом окне «Заменить имена диапазонов» перейдите к Имя и фамилия и нажмите Базовое имя раскрывающийся список и выберите из него определенный именованный диапазон, как показано ниже:

документ, где используется именованный диапазон 4

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

3. Закройте диалоговое окно «Заменить имена диапазонов».

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now



Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Вопрос:

Может ли apache POI 3.12 делать VLOOKUP на другой лист? Скажем, у меня есть следующая формула (эта формула работает в Excel):

VLOOKUP(N6,Baskets,14,0)

Я пытаюсь использовать его, чтобы получить значение из листа Baskets, используя его на другом листе.

Он дает эту ошибку:

org.apache.poi.ss.formula.FormulaParseException: Specified named range 'Baskets' does not exist in the current workbook.

При поиске в Интернете на этом я действительно не нашел ответа. API POI для VLOOKUP предлагает мне, что он может использоваться только для использования в диапазонах, указанных на текущем листе. Однако, вероятно, я просто добавляю значение к имени аргумента table_array. Это все, что я нашел для документации.

После того, как ответ был найден здесь, это источник моей путаницы. Согласно документации Libre Office аргумент массива должен иметь более одного столбца. Первый столбец должен содержать критерий поиска, а остальные столбцы должны содержать столбец, используемый в качестве аргумента индекса. Наконец, аргумент индекса относится к аргументу массива, а не индексам столбцов книги.

Лучший ответ:

У меня есть рабочий пример для вас.

formulaCell.setCellFormula("IF(ISERROR(VLOOKUP('" + Baskets + "'!$A$4:$A$360,'" + processName + "'!$A$2:$B$80,2,FALSE)),"",VLOOKUP('" + Baskets + "'!$A$4:$A$360,'" + processName + "'!$A$2:$B$80,2,FALSE))" );

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

processName – это только строка для сравнения моих данных.

Моя проблема заключалась в указанном диапазоне на другом листе !$A$4:$A$360 "" и '' вокруг оператора VLOOKUP.

Содержание

  • Манипуляции с именованными областями
    • Создание именованного диапазона
    • Операции с именованными диапазонами
    • Управление именованными диапазонами
  • Вопросы и ответы

Именованный диапазон в Microsoft Excel

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

Манипуляции с именованными областями

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

Существуют обязательные требования к наименованию группы ячеек:

  • В нём не должно быть пробелов;
  • Оно обязательно должно начинаться с буквы;
  • Его длина не должна быть больше 255 символов;
  • Оно не должно быть представлено координатами вида A1 или R1C1;
  • В книге не должно быть одинаковых имен.

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

Имя диапазона строке имен в Microsoft Excel

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

Имя диапазону не присвоено в Microsoft Excel

Создание именованного диапазона

Прежде всего, узнаем, как создать именованный диапазон в Экселе.

  1. Самый быстрый и простой вариант присвоения названия массиву – это записать его в поле имен после выделения соответствующей области. Итак, выделяем массив и вводим в поле то название, которое считаем нужным. Желательно, чтобы оно легко запоминалось и отвечало содержимому ячеек. И, безусловно, необходимо, чтобы оно отвечало обязательным требованиям, которые были изложены выше.
  2. Присвоение имени диапазону через поле имен в Microsoft Excel

  3. Для того, чтобы программа внесла данное название в собственный реестр и запомнила его, жмем по клавише Enter. Название будет присвоено выделенной области ячеек.

Наименование диапазону через поле имен присвоено в Microsoft Excel

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

  1. Выделяем массив, над которым требуется выполнить операцию. Клацаем по выделению правой кнопкой мыши. В открывшемся списке останавливаем выбор на варианте «Присвоить имя…».
  2. Переход к присвоению имени диапазону ячеек через контекстное меню в Microsoft Excel

  3. Открывается окошко создания названия. В область «Имя» следует вбить наименование в соответствии с озвученными выше условиями. В области «Диапазон» отображается адрес выделенного массива. Если вы провели выделение верно, то вносить изменения в эту область не нужно. Жмем по кнопке «OK».
  4. Окно создания имени в Microsoft Excel

  5. Как можно видеть в поле имён, название области присвоено успешно.

Наименование диапазону через контекстное меню присвоено в Microsoft Excel

Lumpics.ru

Ещё один вариант выполнения указанной задачи предусматривает использование инструментов на ленте.

  1. Выделяем область ячеек, которую требуется преобразовать в именованную. Передвигаемся во вкладку «Формулы». В группе «Определенные имена» производим клик по значку «Присвоить имя».
  2. Переход к присвоению имени диапазону через кнопку на ленте в Microsoft Excel

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

Окно создания имени в программе Microsoft Excel

Последний вариант присвоения названия области ячеек, который мы рассмотрим, это использование Диспетчера имен.

  1. Выделяем массив. На вкладке «Формулы», клацаем по крупному значку «Диспетчер имен», расположенному всё в той же группе «Определенные имена». Или же можно вместо этого применить нажатие сочетания клавиш Ctrl+F3.
  2. Переход в Диспетчер имен в Microsoft Excel

  3. Активируется окно Диспетчера имён. В нем следует нажать на кнопку «Создать…» в верхнем левом углу.
  4. Переход к созданию имени в Диспетчере имён в Microsoft Excel

  5. Затем запускается уже знакомое окошко создания файлов, где нужно провести те манипуляции, о которых шёл разговор выше. То имя, которое будет присвоено массиву, отобразится в Диспетчере. Его можно будет закрыть, нажав на стандартную кнопку закрытия в правом верхнем углу.

Закрытие окна Диспетчера имён в Microsoft Excel

Урок: Как присвоить название ячейке в Экселе

Операции с именованными диапазонами

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

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

  1. Прежде всего, на листе со списком присваиваем диапазону наименование любым из тех способов, о которых шла речь выше. В итоге, при выделении перечня в поле имён у нас должно отображаться наименование данного массива. Пусть это будет наименование «Модели».
  2. Наименование диапазону моделей присвоено в Microsoft Excel

  3. После этого перемещаемся на лист, где находится таблица, в которой нам предстоит создать выпадающий список. Выделяем область в таблице, в которую планируем внедрить выпадающий список. Перемещаемся во вкладку «Данные» и щелкаем по кнопке «Проверка данных» в блоке инструментов «Работа с данными» на ленте.
  4. Переход в окно проверки данных в Microsoft Excel

  5. В запустившемся окне проверки данных переходим во вкладку «Параметры». В поле «Тип данных» выбираем значение «Список». В поле «Источник» в обычном случае нужно либо вручную вписать все элементы будущего выпадающего списка, либо дать ссылку на их перечень, если он расположен в документе. Это не очень удобно, особенно, если перечень располагается на другом листе. Но в нашем случае все намного проще, так как мы соответствующему массиву присвоили наименование. Поэтому просто ставим знак «равно» и записываем это название в поле. Получается следующее выражение:

    =Модели

    Жмем по «OK».

  6. Окно проверки вводимых значений в Microsoft Excel

  7. Теперь при наведении курсора на любую ячейку диапазона, к которой мы применили проверку данных, справа от неё появляется треугольник. При нажатии на этот треугольник открывается список вводимых данных, который подтягивается из перечня на другом листе.
  8. Выпадающий список в Microsoft Excel

  9. Нам просто остается выбрать нужный вариант, чтобы значение из списка отобразилось в выбранной ячейке таблицы.

Значение из выпадающего списка выбрано в Microsoft Excel

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

Итак, мы имеем таблицу, в которой помесячно расписана выручка пяти филиалов предприятия. Нам нужно узнать общую выручку по Филиалу 1, Филиалу 3 и Филиалу 5 за весь период, указанный в таблице.

Таблица выручки по филиалам предприятия в Microsoft Excel

  1. Прежде всего, каждой строке соответствующего филиала в таблице присвоим название. Для Филиала 1 выделяем область с ячейками, в которых содержатся данные о выручке по нему за 3 месяца. После выделения в поле имен пишем наименование «Филиал_1» (не забываем, что название не может содержать пробел) и щелкаем по клавише Enter. Наименование соответствующей области будет присвоено. При желании можно использовать любой другой вариант присвоения наименования, о котором шел разговор выше.
  2. Имя диапазону Филиал 1 присвоено в Microsoft Excel

  3. Таким же образом, выделяя соответствующие области, даем названия строкам и других филиалов: «Филиал_2», «Филиал_3», «Филиал_4», «Филиал_5».
  4. Имя всем диапазонам таблицы пррисвоено в Microsoft Excel

  5. Выделяем элемент листа, в который будет выводиться итог суммирования. Клацаем по иконке «Вставить функцию».
  6. Переход в Мастер функций в Microsoft Excel

  7. Инициируется запуск Мастера функций. Производим перемещение в блок «Математические». Останавливаем выбор из перечня доступных операторов на наименовании «СУММ».
  8. Переход в окно аргументов функции СУММ в Microsoft Excel

  9. Происходит активация окошка аргументов оператора СУММ. Данная функция, входящая в группу математических операторов, специально предназначена для суммирования числовых значений. Синтаксис представлен следующей формулой:

    =СУММ(число1;число2;…)

    Как нетрудно понять, оператор суммирует все аргументы группы «Число». В виде аргументов могут применяться, как непосредственно сами числовые значения, так и ссылки на ячейки или диапазоны, где они расположены. В случае применения массивов в качестве аргументов используется сумма значений, которая содержится в их элементах, подсчитанная в фоновом режиме. Можно сказать, что мы «перескакиваем», через действие. Именно для решения нашей задачи и будет использоваться суммирование диапазонов.

    Всего оператор СУММ может насчитывать от одного до 255 аргументов. Но в нашем случае понадобится всего три аргумента, так как мы будет производить сложение трёх диапазонов: «Филиал_1», «Филиал_3» и «Филиал_5».

    Итак, устанавливаем курсор в поле «Число1». Так как мы дали названия диапазонам, которые требуется сложить, то не нужно ни вписывать координаты в поле, ни выделять соответствующие области на листе. Достаточно просто указать название массива, который подлежит сложению: «Филиал_1». В поля «Число2» и «Число3» соответственно вносим запись «Филиал_3» и «Филиал_5». После того, как вышеуказанные манипуляции были сделаны, клацаем по «OK».

  10. Окно аргументов функции СУММ в Microsoft Excel

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

Результат вычисления функции СУММ в Microsoft Excel

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

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

Урок: Как посчитать сумму в Майкрософт Эксель

Управление именованными диапазонами

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

  1. Чтобы перейти в Диспетчер, перемещаемся во вкладку «Формулы». Там следует кликнуть по иконке, которая так и называется «Диспетчер имен». Указанная иконка располагается в группе «Определенные имена».
  2. Переход в Диспетчер имен в программе Microsoft Excel

  3. После перехода в Диспетчер для того, чтобы произвести необходимую манипуляцию с диапазоном, требуется найти его название в списке. Если перечень элементов не очень обширный, то сделать это довольно просто. Но если в текущей книге располагается несколько десятков именованных массивов или больше, то для облегчения задачи есть смысл воспользоваться фильтром. Клацаем по кнопке «Фильтр», размещенной в правом верхнем углу окна. Фильтрацию можно выполнять по следующим направлениям, выбрав соответствующий пункт открывшегося меню:
    • Имена на листе;
    • в книге;
    • с ошибками;
    • без ошибок;
    • Определенные имена;
    • Имена таблиц.

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

  4. Фильтрация в Диспетчере имён в Microsoft Excel

  5. Для изменения границ, названия или других свойств именованного диапазона следует выделить нужный элемент в Диспетчере и нажать на кнопку «Изменить…».
  6. Переход к изменению именованного диапазона через Диспетчер имен в Microsoft Excel

  7. Открывается окно изменение названия. Оно содержит в себе точно такие же поля, что и окно создания именованного диапазона, о котором мы говорили ранее. Только на этот раз поля будут заполнены данными.

    В поле «Имя» можно сменить наименование области. В поле «Примечание» можно добавить или отредактировать существующее примечание. В поле «Диапазон» можно поменять адрес именованного массива. Существует возможность сделать, как применив ручное введение требуемых координат, так и установив курсор в поле и выделив соответствующий массив ячеек на листе. Его адрес тут же отобразится в поле. Единственное поле, значения в котором невозможно отредактировать – «Область».

    После того, как редактирование данных окончено, жмем на кнопку «OK».

Окно изменения имени именнованного диапазона в Microsoft Excel

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

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

  1. Чтобы провести процедуру удаления, выделяем нужный элемент из перечня и жмем на кнопку «Удалить».
  2. Удаление именованного диапазона через Диспетчер имен в Microsoft Excel

  3. После этого запускается диалоговое окно, которое просит подтвердить свою решимость удалить выбранный элемент. Это сделано во избежание того, чтобы пользователь по ошибке не выполнил данную процедуру. Итак, если вы уверены в необходимости удаления, то требуется щелкнуть по кнопке «OK» в окошке подтверждения. В обратном случае жмите по кнопке «Отмена».
  4. Подтверждение удаления имени в Microsoft Excel

  5. Как видим, выбранный элемент был удален из перечня Диспетчера. Это означает, что массив, к которому он был прикреплен, утратил наименование. Теперь он будет идентифицироваться только по координатам. После того, как все манипуляции в Диспетчере завершены, клацаем по кнопке «Закрыть», чтобы завершить работу в окне.

Закрытие окна Диспетчера имен в Microsoft Excel

Применение именованного диапазона способно облегчить работу с формулами, функциями и другими инструментами Excel. Самими именованными элементами можно управлять (изменять и удалять) при помощи специального встроенного Диспетчера.

Я просмотрел несколько примеров для своего вопроса, но не смог найти ответ, который работает.

Задний план:
У меня есть список элементов (скажем, яблоко, апельсин, банан) на листе Sheet1 (A2: A77, который уже является определенным диапазоном с именем «Список»).
Затем у меня есть другой лист (скажем, Sheet2) с несколькими ячейками, где появляется пользовательская форма (созданная с помощью кода vba), где пользователь может выбрать элемент и нажать «ОК».

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

Проблема:
Я попытался создать это с помощью кода vba, который проверяет ввод, сопоставляет его со списком Sheet1 и, если совпадения нет, показывает msgbox с оператором. Это частично сработало (для некоторых букв, но не для других, очень странно).

Вот код, который у меня был:

Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim rSearchRng As Range
Dim vFindvar As Variant

If Not Intersect([B7:B26], Target) Is Nothing Then
    Set rSearchRng = Sheet4.Range("Liste")
    Set vFindvar = rSearchRng.Find(Target.Value)
    If Not vFindvar Is Nothing Then
        MsgBox "The Audit Project Name you have entered is not valid. Please try again!", vbExclamation, "Error!"
        Selection.ClearContents
    End If
End If
Application.EnableEvents = True
End Sub

Поэтому я подумал о создании этого сообщения об ошибке вместо простой проверки данных.

Проверка данных

  • Я попробовал опцию «список» (и поставил ее равной именованному диапазону), но это ничего не дало (окно ошибки не появилось)
  • Я попробовал «Пользовательский» со следующей формулой «СУММПРОИЗВ (— (B12 = Список)> 0) = ИСТИНА (я нашел это в сообщении, которое работало для других, когда я попробовал его в ячейке, это дало мне ожидаемое «ИСТИНА /FALSE» результаты), но все равно ничего не появляется

ОБНОВИТЬ

Рекомендации по проверке данных Tigeravatars работают, если у вас нет пользовательской формы (см. комментарии ниже).

Чтобы он работал с пользовательской формой, я изменил «MatchEntry» на TRUE, а также удалил все нежелательные «события изменения» из моего кода ComboBox. Окончательный код, который я использую сейчас, приведен ниже:

Dim a()

Private Sub CommandButton2_Click()

End Sub

Private Sub UserForm_Initialize()
  a = [Liste].Value
  Me.ComboBox1.List = a
End Sub

Private Sub ComboBox1_Change()
  Set d1 = CreateObject("Scripting.Dictionary")
  tmp = UCase(Me.ComboBox1) & "*"
  For Each c In a
    If UCase(c) Like tmp Then d1(c) = ""
  Next c
  Me.ComboBox1.List = d1.keys
  Me.ComboBox1.DropDown
End Sub

Private Sub CommandButton1_Click()
  ActiveCell = Me.ComboBox1
  Unload Me
End Sub
Private Sub cmdClose_Click()
  Unload Me
End Sub

Я думал, что покажу это здесь, если кто-то наткнется на мой вопрос.

Спасибо!

Вы назначили имя диапазонуячеек, и… возможно, вы забыли местоположение. Именуемый диапазон можно найти с помощью функции «Перейти», которая позволяет перейти к любому именоваемом диапазону во всей книге.

  1. Именующий диапазон можно найти на вкладке «Главная», нажав кнопку «Найти &Выбрать» и выбрав «Перейти».

    Можно также нажать клавиши CTRL+G.

  2. В поле «Перейти» дважды щелкните именуемый диапазон, который нужно найти.

    Диалоговое окно "Перейти"

Примечания: 

  • Во всплываемом окне «Перейти» показаны имененные диапазоны на всех книгах.

  • Чтобы перейти к диапазону неименованых ячеек, нажмите CTRL+G, введите диапазон в поле «Ссылка» и нажмите ввод (или кнопку ОК). Поле «Перейти» отслеживает диапазоны по мере их ввода, и вы можете вернуться к любому из них, дважды щелкнув их.

  • Чтобы перейти к ячейке или диапазону на другом листе, введите в поле «Ссылка» следующее: имя листа вместе с восклицательный индекс и абсолютные ссылки на ячейки. Например, лист2!$D $12 для перейти к ячейке, а лист3!$C$12:$F$21 — для перейти к диапазону.

  • В поле «Ссылка» можно ввести несколько именовых диапазонов или ссылок на ячейки. Разделяя каждую из них запятой, например: Price, Typeили B14:C22,F19:G30,H21:H29. Когда вы нажмете ввод или нажмете кнопку«ОК», Excel выделит все диапазоны.

Дополнительные сведения о поиске данных в Excel

  • Поиск или замена текста и чисел на листе

  • Поиск объединенных ячеек

  • Удаление или разрешение циклической ссылки

  • Поиск ячеек, содержащих формулы

  • Поиск ячеек с условным форматированием

  • Поиск скрытых ячеек на листе

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

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Создал пользовательскую функцию. Работает, возвращает булево значение.
Пытаюсь использовать ее для проверки данных — ан нет, ругается «Указанный именованный диапазон не найден». то бишь не знает книга такой формулы…
А в списке определенных пользователем — эта формула есть.
В чем причина? Или пользовательские формулы для проверки данных использовать нельзя?
И как обойти это?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

kolper, здравия. Файл-пример с Вашей УДФ, согласно правил форума.


Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Ну это совершенно незачем, функция-то работает..

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#4

19.08.2015 12:10:47

Цитата
kolper написал: Ну это совершенно незачем, функция-то работает…
ан нет, ругается «Указанный именованный диапазон не найден»

:D

Лень двигатель прогресса, доказано!!!

 

TSN

Пользователь

Сообщений: 217
Регистрация: 07.05.2014

#5

19.08.2015 12:11:56

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

Тогда к чему вопрос   :qstn: , без файла примера нужно обращаться к шаманам или гадалкам ;) …  

Изменено: TSN21.08.2015 12:05:55

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

Запихнуть пользовательскую формулу в именованный диапазон.

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Вот это я не очень понимаю…
Формула в качестве параметра принимает значение из ячейки.
А в случае диапазона — плохо представляю…

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

#8

19.08.2015 12:21:49

Цитата
Сергей написал: Ну это совершенно незачем

Формула — работает.
Проверку данных с использованием этой формулы — сделать не получается.

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#9

19.08.2015 12:26:02

Цитата
kolper написал: …Проверку данных с использованием этой формулы — сделать не получается.

OFF Вы начинаете доставать форумчан своей упертоcтью… ;)
Для усвоения:
«2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel.
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.«

Изменено: Z19.08.2015 12:26:27

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

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

#10

19.08.2015 12:34:56

Странно, что проблему понял только один прочитавший…
Для тех, кому не хватает кода — пожалуйста:

Код
Function Ф(ByVal S As Integer) As Boolean
   On Error Goto Ошибка
  If S<5 Then
     Ф=True
 Else
    Ф=False
 End If
 Exit Function

Ошибка:
  Ф=False

End Function

Надеюсь, ясности прибавилось…

Изменено: kolper20.08.2015 12:57:55

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

#11

19.08.2015 12:52:09

Цитата
kolper написал: плохо представляю…

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

 

Юрий М

Модератор

Сообщений: 60810
Регистрация: 14.09.2012

Контакты см. в профиле

kolper, код следует оформлять тегом. Ищите такую кнопку <…>. Исправляйте.

 

kolper

Пользователь

Сообщений: 6
Регистрация: 19.08.2015

Конкретной ссылки в инете не нашел, но по косвенным данным — использовать UDF в проверке данных нельзя.

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

#14

20.08.2015 14:49:34

Прямо — нельзя, через именованный диапазон — можно.

In my android application I have an excel file in which there are some formulas. In one formula I’m referencing a fixed value of «Mileage» from other cell.

Please see this image for reference.

In the image the AMOUNT column contains the formula (=IF(F10=»»,0,F10*Mileage)) in which Mileage is the name of cell J1 and it’s value is 0.485 as shown in top-left corner in the image.

So when I try to copy this excel file into another I get this error
W/System.err: org.apache.poi.ss.formula.FormulaParseException: Specified named range 'Mileage' does not exist in the current workbook.

Kirill_486

0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

1

25.01.2017, 15:10. Показов 1503. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

В общем, идея была простая.
Для создания выпадающего списка из допустимых значений нужен источник — массив этих значений.
Удалить из массива повторяющиеся элементы формулами, внезапно (!!), довольно громоздкая конструкция.
Как вывод VBA to the rescue=)))

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Public Function removeEquals(List) As Variant
 
Dim res() As Variant
Dim item As Variant
Dim ecount As Integer
ecount = 0
ReDim Preserve res(0 To ecount) As Variant
 
For Each item In List
     If Not (isContains(item, res)) Then
         res(ecount) = item
         ecount = ecount + 1
         ReDim Preserve res(0 To ecount)
      End If
         
 
Next item
 
removeEquals = res
 
End Function
 
Public Function isContains(elem, List) As Boolean
 
Dim item As Variant
Dim IsCont As Boolean
IsCont = False
 
 
For Each item In List
     If item = elem Then
          IsCont = True
     End If
     
Next item
isContains = IsCont
 
End Function

Код выше выдает массив уникальных членов диапазона. А почему если код «=removeEquals(A1:A9)» засунуть в поле источник для проверки вводимых значений, он пишет «Указанный именованный диапазон не найден»?

Миниатюры

Как использовать пользовательские функции при указании диапазонов допустимых значений. Excel+VBA
 



0



3842 / 2266 / 756

Регистрация: 02.11.2012

Сообщений: 5,980

25.01.2017, 15:15

2

а если формулу загнать в имя и в списке использовать имя?



0



0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

25.01.2017, 15:25

 [ТС]

3

Хорошая новость!)))
По шагам получилось. Excel падает при попытке открыть выпадающий список, что уже результат))
Есть идеи что сделать чтобы он заработал?



0



0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

25.01.2017, 15:35

 [ТС]

4

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

Миниатюры

Как использовать пользовательские функции при указании диапазонов допустимых значений. Excel+VBA
 



0



0 / 0 / 0

Регистрация: 25.01.2017

Сообщений: 4

25.01.2017, 15:44

 [ТС]

5

Тоже не может. Если ему прописать диапазон так =removeEquals($A$1:$A$9), ошибки нет, а выпадающий список все равно это не ест(



0



Я уверен, что каждый человек, который когда-либо работал с программой Excel хотя бы раз сталкивался с ошибкой «#ИМЯ?».

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

Сейчас мы разберемся с этим!

Содержание

  1. Почему появляется ошибка «#ИМЯ?»
  2. Ошибка в вызове функции
  3. Ошибка в указании созданного диапазона элементов
  4. Некорректный(или несуществующий) диапазон ячеек
  5. Попытка вызвать функцию из старой версии Excel, в котором ее еще не добавили
  6. Нет выделения текста в функции
  7. Способы исправить ошибку «#ИМЯ?»
  8. С помощью помощника вызова функции
  9. Используя окно «Вставка функции»
  10. С помощью диалогового окна «Диспетчер имен»
  11. Методы найти сразу все ошибки «#ИМЯ?»
  12. Используя функцию «Выделить группу ячеек»
  13. С помощью опции «Найти и заменить»

Почему появляется ошибка «#ИМЯ?»

Допустим, вы вызвали функцию, а она вместо ожидаемого ответа, выдает вам ошибку «#ИМЯ?». Это значит что функция не может быть выполнена, на это есть много причин.

Я продемонстрирую вам несколько самых частых причин, почему возникает эта ошибка.

Ошибка в вызове функции

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

К примеру, вам нужно вызвать функцию «ВПР». А вы не заметили и написали «ВР», программа не поймет что вы хотите сделать и выдаст именно такую ошибку.

На картинке вы можете увидеть, что я получил ошибку «#ИМЯ?» вместо результата выполнения функции именно из-за этого.

Ошибка «#ИМЯ!» в названии функции. И ничего спрашивать даже!

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

Ошибка в указании созданного диапазона элементов

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

На картинке вы можете увидеть, что я создал диапазон.

Я намеренно допустил ошибку в аргументах, при вызове функции, и программа вернула мне ошибку «#ИМЯ?».

Ошибка «#ИМЯ!» в именованном диапазоне

Исправить это довольно просто: когда, в аргументах, указываете диапазон элементов внимательно смотрите меняется ли его цвет. Если цвет изменился, то вы верно указали название диапазона, если же нет, то скорее всего проблема в этом.

А вообще в Excel есть встроенная опция автозаполнения, которая показывает вам полное имя диапазона, когда вы начинаете писать его.

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

Обращайте внимание на подсказки!

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

Некорректный(или несуществующий) диапазон ячеек

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

Например:

  • Не указали двоеточие, при указании диапазона ячеек (A2B11 вместо A2:B11);

Ошибка «#ИМЯ!» при выборе диапазона. Ай-яй-яй!

  • Указали некорректный (диапазон, которого в соответствии с возможностями Excel, просто не может быть) максимальный диапазон который можно указать это A1: XFD1048576. Допустим вы указали диапазон больше, чем максимально возможный. В таком случае вы тоже получите ошибку «#ИМЯ?».

Попытка вызвать функцию из старой версии Excel, в котором ее еще не добавили

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

В Microsoft Excel 2019 и в 365 добавили довольно много новых функций. Например, FILTER, SORTBY и другие.

А если вы используете Excel 2010, вы не можете использовать функции, которые были добавлены в версии 2013 и 2016, потому что в 2010 их еще не было.

При попытке использования, вы увидите эту, уже хорошо знакомую нам, ошибку «#ИМЯ?».

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

Исправить это можно только одним способом — установка Excel новой версии, в которой нужные вам функции уже есть.

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

Нет выделения текста в функции

В аргументах функции, обычно, текст заключают в кавычки. Если вы забыли это сделать, Excel может вернуть вам ошибку «#ИМЯ?».

Зачем это нужно? Дело в том что, когда текст заключается в кавычки, даже если это цифры, Excel придает таким данным текстовый формат.

К примеру, мы попытались вызвать функцию ДЛСТР и написали в аргументах Excel, но без кавычек. Как и ожидалось, программа выдала нам ошибку «#ИМЯ?».

Неправильно используете функцию, батенька

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

Способы исправить ошибку «#ИМЯ?»

Итак, я описал несколько проблем, из-за которых у вас может возникнуть эта ошибка. Теперь, я покажу вам как все это можно исправить или вообще не допустить.

С помощью помощника вызова функции

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

Обращайте внимание на подсказки, это помогает!

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

Используя окно «Вставка функции»

Бывает так, что вы сомневаетесь в правильности написания аргументов, которые нужно указать в функции, тогда вам поможет окно «Вставка функции».

Открыть это окно довольно просто, щелкните на fx рядом с полем «Имя».

Вставляем функцию через окно вставки функций

У вас откроется окно, где вам нужно будет указать нужную функцию. После этого нажмите далее.

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

Выбираем функцию и аргументы к ней

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

С помощью диалогового окна «Диспетчер имен»

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

И лучший вариант — использовать диалоговое окно «Диспетчер имен».

Там будут указаны абсолютно все диапазоны элементов и таблицы. Можно будет выбирать их прямо из этого окна(все элементы будут в списке).

Как открыть «Диспетчер имен»:

  1. Щелкните на раздел «Формулы»;
  2. Далее выберите «Диспетчер имен».

Ой да, диспетчер имён — это здорово!

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

Диспетчер имён помогает избежать ошибки «ИМЯ!»

Горячие сочетания клавиш для открытия «Диспетчера имен»:

CTRL + F3 (Если у вас Windows)
Command + F3 (Если у вас Mac)

Также есть возможность добавить диапазоны элементов в формулу буквально за мгновение. Для этого вы можете использовать опцию “Использовать в формуле” из меню в разделе “Формулы”. Там будут указаны все существующие диапазоны элементов.

Методы найти сразу все ошибки «#ИМЯ?»

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

У тех кто вынужден много работать в Excel, часто бывает, что кто-то отправляет вам уже готовую таблицу, а вам предстоит найти все ошибки и исправить их.

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

Используя функцию «Выделить группу ячеек»

С помощью функции «Выделить группу ячеек», все проблемные ячейки могут быть быстро найдены.

Однако использование данного метода выделит ошибки не только «#ИМЯ?», а вообще все, которые есть в выделенном диапазоне.

Как использовать это:

  • Выделите диапазон ячеек, в котором нужно найти ошибки;
  • Щелкните на раздел «Главная»;

Выбираем «Главная»

  • Нажмите на функцию «Найти и выделить»;
  • Теперь выбирайте «Выделить группу ячеек…»;

Затем «Выделить группу ячеек»

  • В открывшемся окне уберите все галочки и выберите только ошибки, во вкладке «формулы»;

Выбираем только ошибки

  • Подтвердите.

После этого все ячейки, в которых Excel найдет ошибки, будут автоматически выделены.

С помощью опции «Найти и заменить»

Этот способ поможет вам в том случае, если вам нужно выделить только ячейки, где возникла ошибка «#ИМЯ?».

Ниже пошагово описано, что нужно делать:

  • Выделите диапазон ячеек, в котором вы хотите выполнить поиск ошибок;
  • Нажмите горячие клавиши CTRL + F (COMMAND + F если у вас Mac);
  • В поле «Найти» укажите полное название ошибки, в нашем случае это «#ИМЯ?»;

Просто ищем «#ИМЯ?» через «Найти и заменить»

  • Щелкните «Параметры»;

Просто ищем «#ИМЯ?» через «Найти и заменить» — выбираем параметры

  • Измените опцию «Область поиска» на «значения»;

Просто ищем «#ИМЯ?» через «Найти и заменить» — параметры «Значения»

  • А теперь жмите на кнопку «Найти все».

Просто ищем «#ИМЯ?» через «Найти и заменить» — найти все

Excel найдет все указанные названия ошибок и выведет их вам списком.

Просто ищем «#ИМЯ?» через «Найти и заменить» — результат!

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

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

В этой статье мы разобрали многое, причины по которым ошибка «#ИМЯ?» может возникать, способы устранения таких ошибок, а также универсальные методы поиска такого рода ошибок в выбранном диапазоне ячеек или по всей таблице.

Надеюсь, вам помогло данное руководство!

  • Ошибка указанная служба не может быть запущена поскольку она отключена
  • Ошибка указанная папка не содержит необходимый файл gta5 exe
  • Ошибка указан неизвестный тип дул физ лица code 3 егиссо
  • Ошибка укажите носитель для открытия контейнера
  • Ошибка узс фольксваген поло