Microclimate.su

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

Excel получить формулу из ячейки

ЯЧЕЙКА (функция ЯЧЕЙКА)

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

= Если (ЯЧЕЙКа («тип»; a1) = «v»; a1 * 2; 0)

Эта формула вычисляет произведение A1*2, только если в ячейке A1 содержится числовое значение, и возвращает значение 0, если в ячейке A1 содержится текст или она пустая.

Синтаксис

Аргументы функции ЯЧЕЙКА описаны ниже.

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

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

значения info_type

В следующем списке описаны текстовые значения, которые можно использовать для аргумента info_type. Эти значения должны быть введены в функцию ЯЧЕЙКИ с кавычками («»).

Ссылка на первую ячейку в аргументе «ссылка» в виде текстовой строки.

Номер столбца ячейки в аргументе «ссылка».

1, если форматированием ячейки предусмотрено изменение цвета для отрицательных значений; во всех остальных случаях — 0 (ноль).

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

Значение левой верхней ячейки в ссылке; не формула.

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

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

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

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

1, если форматированием ячейки предусмотрено отображение положительных или всех чисел в круглых скобках; во всех остальных случаях — 0.

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

Текстовое значение, соответствующее префиксу метки ячейки. Одиночная кавычка (‘) соответствует тексту, выровненному влево, двойная кавычка («) — тексту, выровненному вправо, знак крышки (^) — тексту, выровненному по центру, обратная косая черта () — тексту, распределенному по всей ширине ячейки, а пустой текст («») — любому другому содержимому ячейки.

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

0, если ячейка разблокирована, и 1, если ячейка заблокирована.

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

Номер строки ячейки в аргументе «ссылка».

Текстовое значение, соответствующее типу данных в ячейке. Значение «b» соответствует пустой ячейке, «l» — текстовой константе в ячейке, «v» — любому другому содержимому.

Возвращает массив с двумя элементами.

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

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

Читать еще:  Кряк для word 2020

Примечание: Это значение не поддерживается в Excel в Интернете, Excel Mobile и Excel Starter.

Коды форматов функции ЯЧЕЙКА

В приведенном ниже списке описаны текстовые значения, возвращаемые функцией ЯЧЕЙКА, если в качестве аргумента «тип_сведений» указано значение «формат», а аргумент ссылки указывает на ячейку, отформатированную с использованием встроенного числового формата.

Формат Microsoft Excel

Значение, возвращаемое функцией ЯЧЕЙКА

Excel получить формулу из ячейки

Информация о сайте

Инструменты и настройки

Excel Windows
и
Excel Macintosh

Вопросы и решения

Работа и общение

Работа форума и сайта

Функции листа Excel

= Мир MS Excel/Статьи об Excel

  • 1
  • 2
  • 3
  • Функции листа. Функции даты и времени [5]
    Функции листа. Функции информационные [2]
    Функции листа. Функции математические [4]
    Функции листа. Функции текстовые [1]
    Функции листа. Функции ссылок и массивов [2]
    Функции листа. Функции определённые пользователем [1]
    Макрофункции [37]
    Синтаксис:

    Ссылка — ячейка или интервал ячеек на листе.

    Если выделен интервал ячеек, функция ПОЛУЧИТЬ.ФОРМУЛУ возвращает содержимое верхней левой ячейки из ссылки.
    Ссылка может быть внешней ссылкой.
    Ссылка может быть идентификатором объекта-рисунка, созданного кнопкой «Фотоаппарат».
    Ссылка может быть также ссылкой на ряд диаграммы вида «Pn», где n — номер ряда. Если указан ряд диаграммы, функция ПОЛУЧИТЬ.ФОРМУЛУ возвращает формулу ряда с использованием ссылок в стиле R1C1.

    Содержимое ячейки возвращается в текстовом виде, например, «=2*ПИ()/360». Если формула содержит ссылки, они возвращаются в стиле R1C1, например, «=СК[1]*(1+R1C1)». Функция ПОЛУЧИТЬ.ФОРМУЛУ используется, чтобы извлечь формулу из ячейки для редактирования ее аргументов. Для получения формулы в формате А1 или R1C1, в зависимости от установок рабочего пространства, используйте функцию ПОЛУЧИТЬ.ЯЧЕЙКУ(6).

    Если ячейка А3 активного листа содержит число 523, то:

    Если ячейка С2 активного листа содержит формулу =В2*(1+$А$1), то

    Следующая макроформула возвращает содержимое активной ячейки активного листа:

    Формула из ячейки в переменную

    24.05.2013, 23:00

    Формула в зависимости от форматирования ячейки
    Доброго время суток! Подскажите, пожалуйста, есть задачка. Формула в ячейке должна изменяться в.

    Формула для изменения части текста ячейки
    Добрый день. Мне в рабочих целях требуется в excel менять часть текста в ячейке. Я накидал.

    Формула, которая бы открывала книгу и вынимала значение из ячейки
    Народ, помогите плиз. В колонке А размещены имена каталогов: Вася Коля Петя В колонке В мне.

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

    24.05.2013, 23:142
    Visual Basic
    24.05.2013, 23:20 [ТС]3

    Может я не так выразился.
    Объявляем переменную
    dim Frm

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

    24.05.2013, 23:264
    24.05.2013, 23:48 [ТС]5

    А что делает evaluate? (нужно уходить, а так поискал побыстрому, нужно еще разобраться)

    И нужно, чтобы был такой вид
    Frm = Cells(x,y).Formula
    , где это ссылка на ячейку с формулой.
    Применил evaluate, все равно в переменную записалось число, а не формула

    25.05.2013, 00:066

    Не понимаю до конца. Тогда запишите так, например:
    Frm = Evaluate(«=A1*B1»)

    Добавлено через 4 минуты
    Кажется, понял, что Вам нужно.
    mstr = «=A1*B1»
    Frm = Evaluate(mstr)
    Такое?

    25.05.2013, 00:237
    Visual Basic
    25.05.2013, 00:278
    25.05.2013, 07:489
    Visual Basic
    25.05.2013, 10:1510
    25.05.2013, 10:53 [ТС]11

    Я сразу не проверил с обычной переменной, поэтому думал, что не работает.

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

    Dim Array()
    ReDim Array(k, 11) ‘ где k — нужное количество строк массива
    For kok = 0 To k — 1
    Array(kok, 0) = Cells(n_row1 + kok, 3).Row
    Array(kok, 1) = Cells(n_row1 + kok, 3)
    Array(kok, 2) = Cells(n_row1 + kok, 4).Formula ‘ и вот тут записывается в ячейку массива число, а не формула
    Array(kok, 3) = Cells(n_row1 + kok, 5)
    Array(kok, 4) = Cells(n_row1 + kok, 8)
    Array(kok, 5) = Cells(n_row1 + kok, 9)
    Array(kok, 6) = Cells(n_row1 + kok, 10)

    25.05.2013, 12:4512

    Тогда у Вас уже все есть. Загоняете формулу в строковое — и все. А если нужно только значение — прoсто [A1].value. Но зачем Вам формулу в массив? Не проще вызвать кодом и выполнить в нужном месте. Палка имеет два конца. Профи (я не профи) говорят, что, с одной стороны, Excel — прежде всего формулы. С другой стороны — наличие много формул на листе начинает резко тормозить выполнение и ОЧЕНЬ ЗНАЧИТЕЛЬНО раздувает размер файла. И тогда сразу лучше уходить в код.

    Добавлено через 8 минут
    И саня если не тяжело.

    Преобразование формул в значения

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

    • Вы хотите зафиксировать цифры в вашем отчете на текущую дату.
    • Вы не хотите, чтобы клиент увидел формулы, по которым вы рассчитывали для него стоимость проекта (а то поймет, что вы заложили 300% маржи на всякий случай).
    • Ваш файл содержит такое больше количество формул, что Excel начал жутко тормозить при любых, даже самых простых изменениях в нем, т.к. постоянно их пересчитывает (хотя, честности ради, надо сказать, что это можно решить временным отключением автоматических вычислений на вкладке Формулы – Параметры вычислений).
    • Вы хотите скопировать диапазон с данными из одного места в другое, но при копировании «сползут» все ссылки в формулах.

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

    Способ 1. Классический

    Этот способ прост, известен большинству пользователей и заключается в использовании специальной вставки:

    1. Выделите диапазон с формулами, которые нужно заменить на значения.
    2. Скопируйте его правой кнопкой мыши – Копировать(Copy) .
    3. Щелкните правой кнопкой мыши по выделенным ячейкам и выберите либо значок Значения (Values) :


    либо наведитесь мышью на команду Специальная вставка (Paste Special) , чтобы увидеть подменю:


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

    В старых версиях Excel таких удобных желтых кнопочек нет, но можно просто выбрать команду Специальная вставка и затем опцию Значения (Paste Special — Values) в открывшемся диалоговом окне:


    Способ 2. Только клавишами без мыши

    При некотором навыке, можно проделать всё вышеперечисленное вообще на касаясь мыши:

    1. Копируем выделенный диапазон Ctrl + C
    2. Тут же вставляем обратно сочетанием Ctrl + V
    3. Жмём Ctrl , чтобы вызвать меню вариантов вставки
    4. Нажимаем клавишу с русской буквой З или используем стрелки, чтобы выбрать вариант Значения и подтверждаем выбор клавишей Enter :

    Способ 3. Только мышью без клавиш или Ловкость Рук

    Этот способ требует определенной сноровки, но будет заметно быстрее предыдущего. Делаем следующее:

    1. Выделяем диапазон с формулами на листе
    2. Хватаем за край выделенной области (толстая черная линия по периметру) и, удерживая ПРАВУЮ клавишу мыши, перетаскиваем на пару сантиметров в любую сторону, а потом возвращаем на то же место
    3. В появившемся контекстном меню после перетаскивания выбираем Копировать только значения (Copy As Values Only) .

    После небольшой тренировки делается такое действие очень легко и быстро. Главное, чтобы сосед под локоть не толкал и руки не дрожали 😉

    Способ 4. Кнопка для вставки значений на Панели быстрого доступа

    Ускорить специальную вставку можно, если добавить на панель быстрого доступа в левый верхний угол окна кнопку Вставить как значения. Для этого выберите Файл — Параметры — Панель быстрого доступа (File — Options — Customize Quick Access Toolbar) . В открывшемся окне выберите Все команды (All commands) в выпадающем списке, найдите кнопку Вставить значения (Paste Values) и добавьте ее на панель:

    Теперь после копирования ячеек с формулами будет достаточно нажать на эту кнопку на панели быстрого доступа:

    Кроме того, по умолчанию всем кнопкам на этой панели присваивается сочетание клавиш Alt + цифра (нажимать последовательно). Если нажать на клавишу Alt , то Excel подскажет цифру, которая за это отвечает:

    Способ 5. Макросы для выделенного диапазона, целого листа или всей книги сразу

    Если вас не пугает слово «макросы», то это будет, пожалуй, самый быстрый способ.

    Макрос для превращения всех формул в значения в выделенном диапазоне (или нескольких диапазонах, выделенных одновременно с Ctrl) выглядит так:

    Если вам нужно преобразовать в значения текущий лист, то макрос будет таким:

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

    Код нужных макросов можно скопировать в новый модуль вашего файла (жмем Alt + F11 чтобы попасть в Visual Basic, далее Insert — Module). Запускать их потом можно через вкладку Разработчик — Макросы (Developer — Macros) или сочетанием клавиш Alt + F8 . Макросы будут работать в любой книге, пока открыт файл, где они хранятся. И помните, пожалуйста, о том, что действия выполненные макросом невозможно отменить — применяйте их с осторожностью.

    Способ 6. Для ленивых

    Если ломает делать все вышеперечисленное, то можно поступить еще проще — установить надстройку PLEX, где уже есть готовые макросы для конвертации формул в значения и делать все одним касанием мыши:

    • всё будет максимально быстро и просто
    • можно откатить ошибочную конвертацию отменой последнего действия или сочетанием Ctrl + Z как обычно
    • в отличие от предыдущего способа, этот макрос корректно работает, если на листе есть скрытые строки/столбцы или включены фильтры
    • любой из этих команд можно назначить любое удобное вам сочетание клавиш в Диспетчере горячих клавиш PLEX
    Ссылка на основную публикацию
    Adblock
    detector