Как установить переменную в Excel

Обновлено: 21.11.2024

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

Для лицензированных пользователей Accounting CS Workpapers

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

  1. Откройте рабочий документ в Microsoft Excel.
  2. Выберите ячейку, в которую нужно вставить переменную.
  3. В Microsoft Excel выберите «Вставить формулу» на ленте надстройки Workpapers CS.
  4. В разделе "Тип переменной" выберите "Сумма" или "Текст".
  5. В сетке Формула выберите Источник, Имя и Тип для текстовой переменной или Источник, Имя, Тип и Оператор для переменной Сумма.
  6. Выбрав «Сумма» в качестве типа переменной, вы можете определить тип суммы, период, год и сегмент, которые применяются ко всей формуле.

Примечания

    Вы можете выбрать «Формат переменных» на ленте надстройки Workpapers CS, чтобы отформатировать суммы в рабочем документе. Покажи мне


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

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

Чтобы использовать функцию ПУСТЬ в Excel, вы определяете пары имен и связанных значений, а также расчет, который использует их все. Вы должны определить по крайней мере одну пару имя/значение (переменную), а LET поддерживает до 126.

Улучшенная производительность. Если одно и то же выражение вводится в формулу несколько раз, Excel вычисляет этот результат несколько раз. LET позволяет вызывать выражение по имени, а Excel вычисляет его один раз.

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

= LET (имя1, имя_значение1, вычисление_или_имя2, [имя_значение2, вычисление_или_имя3. ])

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

имя_значение1

Значение, присвоенное name1.

вычисление_или_имя2

Один из следующих:

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

Второе имя для присвоения второму значению name_value. Если указано имя, становятся обязательными имя_значение2 и вычисление_или_имя3.

имя_значение2

Значение, присваиваемое вычислению_или_имя2.

вычисление_или_имя3

Один из следующих:

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

Третье имя для присвоения третьему значению name_value. Если указано имя, становятся обязательными имя_значение3 и вычисление_или_имя4.

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

Имена переменных соответствуют допустимым именам, которые можно использовать в диспетчере имен. Например. «a» допустимо, а «c» — нет, потому что оно конфликтует со ссылками на стиль R1C1.

Примеры

Пример 1

Рассмотрите простое выражение "СУММ(x, 1)", где x – это именованная переменная, которой можно присвоить значение (в данном случае x присваивается значение 5).

= ПУСТЬ (x, 5, СУММ(x, 1))

Когда эта формула вводится в ячейку, она возвращает значение 6.

Пример 2

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

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

Пример данных

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

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

В следующем примере создается переменная и задается тип данных String.

Если этот оператор появляется внутри процедуры, переменная strName может использоваться только в этой процедуре. Если инструкция появляется в разделе «Объявления» модуля, переменная strName доступна для всех процедур в модуле, но не для процедур в других модулях проекта.

Чтобы сделать эту переменную доступной для всех процедур в проекте, предварите ее оператором Public, как в следующем примере:

Информацию об именовании переменных см. в разделе Правила именования Visual Basic.

Переменные могут быть объявлены как один из следующих типов данных: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String * length (для строк фиксированной длины), Объект или Вариант. Если вы не укажете тип данных, по умолчанию будет назначен тип данных Variant. Вы также можете создать пользовательский тип с помощью оператора Type.

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

В следующем операторе переменные intX , intY и intZ объявлены как тип Integer.

В следующем операторе intX и intY объявлены как тип Variant, и только intZ объявлен как тип Integer.

В операторе объявления не нужно указывать тип данных переменной. Если вы опустите тип данных, переменная будет иметь тип Variant.

Сокращение для объявления x и y как Integer в операторе выше:

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

Используйте оператор Public для объявления общедоступных переменных уровня модуля.

Общие переменные можно использовать в любых процедурах проекта. Если общедоступная переменная объявлена ​​в стандартном модуле или модуле класса, ее также можно использовать в любых проектах, которые ссылаются на проект, в котором объявлена ​​общедоступная переменная.

Личное заявление

Используйте оператор Private для объявления частных переменных уровня модуля.

Закрытые переменные могут использоваться только процедурами в том же модуле.

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

Статический оператор

Если вы используете оператор Static вместо оператора Dim для объявления переменной в процедуре, объявленная переменная сохранит свое значение между вызовами этой процедуры.

Явный оператор Option

Вы можете неявно объявить переменную в Visual Basic, просто используя ее в операторе присваивания. Все неявно объявленные переменные имеют тип Variant. Переменные типа Variant требуют больше ресурсов памяти, чем большинство других переменных. Ваше приложение будет более эффективным, если вы объявите переменные явно и с определенным типом данных. Явное объявление всех переменных снижает вероятность возникновения конфликтов имен и орфографических ошибок.

Если вы не хотите, чтобы Visual Basic делал неявные объявления, вы можете поместить оператор Option Explicit в модуль перед любыми процедурами. Этот оператор требует, чтобы вы явно объявили все переменные в модуле. Если модуль включает оператор Option Explicit, произойдет ошибка времени компиляции, когда Visual Basic обнаружит имя переменной, которое ранее не было объявлено или было написано неправильно.

Вы можете установить параметр в своей среде программирования Visual Basic для автоматического включения оператора Option Explicit во все новые модули. См. документацию по вашему приложению, чтобы узнать, как изменить параметры среды Visual Basic. Обратите внимание, что этот параметр не изменяет существующий код, который вы написали.

Вы должны явно объявить фиксированные массивы и динамические массивы.

Объявление объектной переменной для автоматизации

Когда вы используете одно приложение для управления объектами другого приложения, вы должны установить ссылку на библиотеку типов другого приложения.После того, как вы установили ссылку, вы можете объявить объектные переменные в соответствии с их наиболее конкретным типом. Например, если вы находитесь в Microsoft Word, когда устанавливаете ссылку на библиотеку типов Microsoft Excel, вы можете объявить переменную типа Worksheet из Word для представления объекта Excel Worksheet.

Если вы используете другое приложение для управления объектами Microsoft Access, в большинстве случаев вы можете объявлять объектные переменные в соответствии с их наиболее конкретным типом. Вы также можете использовать ключевое слово New для автоматического создания нового экземпляра объекта. Однако может потребоваться указать, что это объект Microsoft Access. Например, когда вы объявляете объектную переменную для представления формы Access из Visual Basic, вы должны отличать объект формы Access от объекта формы Visual Basic. Включите имя библиотеки типов в объявление переменной, как в следующем примере:

Некоторые приложения не распознают отдельные типы объектов Access. Даже если вы установили ссылку на библиотеку типов Access из этих приложений, вы должны объявить все переменные объекта Access как тип Object. Вы также не можете использовать ключевое слово New для создания нового экземпляра объекта.

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

Чтобы определить, какой синтаксис поддерживает приложение, см. документацию по приложению.

См. также

Поддержка и обратная связь

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

Как сохранить одну переменную постоянной при изменении другой в формуле в MS Excel?

Сегодня я расскажу о небольшом совете по MS Excel.

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

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

Большинство из нас начинают использовать какую-то формулу для первой ячейки (например, в этом случае значение для ячейки B5 равно "=B1*B2*B4"), а затем перетаскивают (или копируют) ее в другие ячейки, которые должны иметь такие же формула. Но увы. Вы получаете неправильную формулу с большим количеством ошибок или неправильным значением (например, G5 в конечном итоге будет иметь формулу значения "=G1*G2*G4", которая неверна).


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

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


Excel имеет специальное использование символа $, когда он используется в формуле в сочетании со ссылками на поля.
Значок $ указывает Excel не изменять этот адрес при вставке формулы в новые ячейки. Таким образом, значение, которое следует использовать в нашем случае для ячейки B5, равно «=$B$1*$B$2*B4». Когда эта формула вставляется в другие ячейки (скажем, G5), Excel заменяет поле B4 на G4, но оставляет B1 и B2, поскольку эти два поля отмечены символом $ .


Теперь давайте рассмотрим этот символ $ более подробно.

Вы можете спросить, зачем мне нужно всего два символа доллара (один перед столбцом [B] и другой перед строкой [2]).
Символ $ указывает Excel не изменять свойство после символа. Если вы использовали $B5, это означает, что B останется фиксированным, но может измениться с 5 на 6, 7 и т. д. Если вы использовали B$5, это означает, что он сохранит 5-ю строку как фиксированную, но продолжит изменять столбец по мере копирования. формула.
Например: в приведенном ниже примере мы хотим вычислить произведение заголовка столбца и заголовка строки для каждой из ячеек.


В этом случае мы начнем со значения для B2 как "=B1*A2". Однако, когда мы копируем это в C2, мы хотим сделать значение как "=C1*A2". Означает, что для первого значения мы хотим изменить столбец, сохраняя строку как 1. Таким образом, наше значение будет «=B$1*A2». Это гарантирует, что строка останется 1 для каждой ячейки, но столбец будет меняться.
Теперь, когда мы скопируем это в B3, окончательное значение должно быть "=B1*A3".Это означает, что для второго значения мы хотим изменить строку на основе строки ячейки формулы, но мы хотим, чтобы столбец был зафиксирован как A. Таким образом, наше значение будет «= B1 * $ A2».
Если мы объединим оба случая (для движений по x и y), окончательное значение будет "=B$1*$A2", что означает, что для первого значения используйте столбец хранения 1-й строки в качестве переменной на основе вашей ячейки. ; а для второго значения используйте столбец A как фиксированный, но измените строку на основе вашей ячейки.
Итак, если вы скопируете значение этого поля во все поля от B2 до I10, вы получите правильные результаты.

Это так просто сделать с помощью символа $ в MS Excel

Надеюсь, это помогло вам. Не стесняйтесь высказывать свое мнение в комментариях ниже.

Читайте также:

Формат Параметры Пример
Отрицательный знак Начало, Начало красным, Нет, Скобки, Скобки красным, Замыкание или Замыкание красным -$100,00, -$100,00, $100,00, ($100,00), ( $100.00), $100.00-, $100.00-
Нулевые суммы Пробел, Тире или 0 , - , 0
Десятичные разряды 0,1,2,3 или 4 100$, 100,2$, 100,21$, 100,210$, 100,2100$
Долларовые проценты Нет, Доллар $ или Проценты % , 100,00 долларов США, 100%