Извлечение информации о ячейке функцией ЯЧЕЙКА (CELL)

Иногда бывает необходимо с помощью формул узнать о какой-либо ячейке подробную информацию и параметры, чтобы использовать это в расчетах. Например, выяснить число или текст в ячейке или какой числовой формат в ней установлен. Сделать это можно, используя функцию ЯЧЕЙКА (CELL).

Синтаксис у функции следующий:

=ЯЧЕЙКА(Параметр; Адрес)

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

Параметры функции ЯЧЕЙКА (CELL)

Давайте рассмотрим пару трюков с применением этой функции на практике.

Например, можно получить имя текущего листа формулой, используя функцию ЯЧЕЙКА с параметром "имяфайла" и извлекающей все символы правее закрывающей квадратной скобки:

Имя листа формулой

Также можно проверить тип данных в ячейке (параметр "тип") и выводить сообщение об ошибке вместо вычислений, если введен текст или ячейка пуста:

Проверка содержимого ячейки функцией ЯЧЕЙКА

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

Подсветка незащищенных ячеек

Ссылки по теме


А я нашел на соседнем форуме другое решение отображения имени листа в конкретной ячейке
=--ПОДСТАВИТЬ(ПРАВБ(ЯЧЕЙКА("filename";A1);2);"]";)
Данное решение было нужно для отображения в ячейке L1 таблицы названия листа. Листы были переименованы от 1 до 53 по возможному количеству недель по ISO. На первом листе в ячейке J3 внесено начало конкретного года. Теперь внеся допустим в ячейку G4 формулу
=$J$3+L1*7-6 имеем дату начала конкретной недели, указанной в ячейке L1, а в любой другой формулой  =G4+4 имеем дату окончания 5 дневной рабочей недели.
Очень удобно для составления еженедельных докладов, отчетов и тд.  
26.03.2017 20:46:54
А что такое ПРАВБ? Имелось ввиду ПРАВСИМВ?
И это будет работать только с числовыми именами листов, кстати.
Добрый день Николай!  Да, изначально требовалось, чтобы имена листов имели цифровые наименования недель по ISO. Просто созданные отчетные файлы абсолютно идентичны, отличаются только годом и соответственно конкретными датами начала - окончания недель, при 5 дневной рабочей неделе.
Заметьте, если в  формуле =G4+4 прибавить не 4, а 5 то получаем 6 дневную рабочую неделю, так как исходя из отображенного названия листа в виде цифры в ячейке G4 высчитывается дата начала недели (имеется в виду понедельник).
А функция ПРАВБ возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа байтов.
Функция ПРАВСИМВ предназначена для языков с однобайтовой кодировкой, а ПРАВБ — для языков с двухбайтовой кодировкой.
Не буду спорить, что конкретно лучше. Но дорога была ложка к обеду.
27.03.2017 10:14:22
Ага, ясно. ПРАВБ вместо ПРАВСИМВ тут исключительно для сокращения длины формулы - не использовал ее ни разу на практике, признаюсь :)
Николай! Добрый день!
А если есть некоторое количество ячеек, условным форматированием отображенных шрифтом с красным цветом, их можно как то подсчитать?
Прошу прощения, решил вопрос на форуме.  
14.04.2017 15:39:23
Николай, очень красивое решение с подсветкой незащищенных ячеек через «Условное форматирование»!
Беру на практику. Спасибо!
21.04.2017 15:48:42
Еще в Excel есть функция с похожим интерфейсом ИНФОРМ
Максимум, что интересного она умеет (на мой взгляд):

=ИНФОРМ("ВЕРСИЯ") – какая версия Excel?
=ИНФОРМ("ПЕРЕВЫЧИСЛИТЬ")   -- как происходим пересчет листа?

Определение версии очень полезный метод при разработке решений в Excel..

Например, сейчас в Excel 2016 появилось много аналитических инструментов уровня Self-Service BI (это надстройки Power (Query / Pivot / View / Map) которые не работают полностью или частично в предыдущих версиях Excel.

Поэтому полезно определить версию Excel и предупредить пользователя…