Поставит в формулу excel значение ячейки

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше

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

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

  1. Щелкните ячейку, в которую нужно ввести формулу.

  2. В строка формул Изображение кнопки введите = (знак равенства).

  3. Вы можете выбрать ячейку с нужным значением или ввести ссылку на нее.

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

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

    Релевантные ячейки выделены различными цветами

    1. Первая ссылка на ячейку — B3. Ее цвет будет синим, а у диапазона ячеек будет синяя граница с прямоугольниками по углам.

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

    Примечание: Если в углу цветной границы нет квадратного маркера, значит это ссылка на именованный диапазон.

  4. Нажмите клавишу ВВОД.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные. С помощью команды Определить имя (вкладка Формулы, группа Определенные имена) определите «Активы» (B2:B4) и «Пассив» (C2:C4).

Отдел

Основные средства.

Обязательства

IT

274000

71000

Admin

67000

18000

Управление персоналом

44000

3000

Формула

Описание

Результат

‘=СУММ(Активы)

Возвращает общий объем активов для трех отделов в определенном названии «Активы», которое определено как диапазон ячеев B2:B4. (385000)

=СУММ(Активы)

‘=СУММ(Активы)-СУММ(Пассивы)

Вычитает сумму определенного имени «Пассивы» из суммы определенного имени «Активы». (293000)

=СУММ(Активы)-СУММ(Пассивы)

К началу страницы

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

Не, не просто сумма

Есть данные на первом листе. Исходные, что называется. Количество строк меняется.
Сначала я получаю какая строка является началом диапазона выборки, а какая концом его.
Получаю типа следующего:
Диапазон 1:
Начало D2
Конец D8

Диапазон 2:
Начало D9
Конец D20

На втором листе — результирующие
И вот в формулу на второй лист и надо подставлять эти ячейки.
Чтоб подсчитать, к примеру, валовую прибыль диапазона для диапазона 2)

то есть =СУММ(‘Лист1’!G»первая ячейка диапазона»:G»последняя ячейка диапазона»)

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

 

Уважаемые знатоки Экселя, подскажите пожалуйста, как в формулу добавить значение из другой ячейки и протянуть формулу до последней ячейки в столбце? Формула должна быть не постоянной А2*В2, а меняться в соответствии с адресом ячеек (А3*В3, А4*В4). В итоге чтобы получилось А2*В2+3, А3*В3-4.
Пример я прикладываю с разработанным мной макросом. Он в частично сделан, только адреса ячеек типа А2*В2 не могу сообразить, как добавить.

 

Сергей

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

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

#2

01.12.2014 09:07:14

не совсем понятно но может то

Код
=ЕСЛИ(E2="";"";A2*B2-E2) 

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

 

Johny

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

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

#3

01.12.2014 09:10:58

Код
Range("C2:C6").Formula = "=A2*B2+E2"
 

Изменено: Johny01.12.2014 09:13:29

There is no knowledge that is not power

 

Нет, так не годится. Надо именно чтобы изменилась формула не на =А2*В2-Е2, а на =А2*В2-1

Изменено: Tebenkov Igor01.12.2014 09:14:35

 

Johny

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

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

А вы внимательно прочтите, как вы поясняете в экселевском файле. Как попросили, так и сделали.

There is no knowledge that is not power

 

Sanja

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

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

Tebenkov Igor, зачем МАКРОСОМ вставлять на лист ФОРМУЛУ? Считайте все что нужно в коде и выгружайте готовый результат на лист.

Согласие есть продукт при полном непротивлении сторон.

 

Готовый результат это конечно можно. Так проще. Но мне нужно именно так, чтобы видно было где и сколько добавлено. Если это невыполнимо, тогда я смирюсь с тем, что есть, но лёгкий путь это не для нас :)

 

GeorgeDark

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

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

#8

01.12.2014 10:09:05

Может я чего-то недопонимаю, но разве в стобце Е не

Цитата
видно было где и сколько добавлено

?

 

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

 

Просто я планировал этот столбец «Е» потом после всех манипуляций удалить.

 

GeorgeDark

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

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

#11

01.12.2014 10:24:18

Можно еще чуть-чуть «украсивить» )) Формула для E2:

Код
=ЕСЛИ(F2="";"A"&СТРОКА(A2)&"*"&"B"&СТРОКА(B2);"A"&СТРОКА(A2)&"*"&"B"&СТРОКА(B2)&ЕСЛИ(F2>0;"+"&F2;F2))
 
 

Ну нет, так не пойдёт. Надо код макроса править, чтобы выглядело, как будто это я в формуле ручками добавил «+7» или «-4».

 

Ivan.kh

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

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

#13

01.12.2014 10:49:39

Так?

Код
 Sub SumDop()
Dim LastRow As Long, i As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
        For i = 2 To LastRow
    m = Cells(i, 5)
 If m Then
        Cells(i, 4).Value = "=" & Cells(i, 1).Address & "*" & Cells(i, 2).Address & "+" & m
 Else
 End If
 Next
End Sub
 

Вот это уже больше подходит! Получается =$A$2*$B$2+-1 . Ну эти доллары можно будет удалить потом через замену символов. А вот как реализовать, если при получении  «+ -«, (плюс и минус) в формулу записывался только минус «-» =A2*B2-1

 

JayBhagavan

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

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

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

#15

01.12.2014 11:56:36

Код
Sub SumDop()
Dim LastRow As Long, i As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
        For i = 2 To LastRow
    m = Cells(i, 5)
 If m>0 Then
        Cells(i, 4).Value = "=" & Cells(i, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) _ 
& "*" & Cells(i, 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) & "+" & m
 ElseIf m<0 Then
        Cells(i, 4).Value = "=" & Cells(i, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) _ 
& "*" & Cells(i, 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) & "-" & abs(m)
 End If
 Next
End Sub

Изменено: JayBhagavan01.12.2014 12:01:17

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

 

Tebenkov Igor

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

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

#16

01.12.2014 12:37:15

Крутяк! Большое Спасибо! Я вот тут ещё забыл указать в тексте, что если нечего плюсовать, то формула остаётся в покое. Ну я тут немножко доработал под свои нужды. Теперь формула работает.

Код
Sub SumDop()
Dim LastRow As Long, i As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
        For i = 2 To LastRow
    m = Cells(i, 5)
 If m > 0 Then
         Cells(i, 4).Value = "=" & Cells(i, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) _
& "*" & Cells(i, 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) & "+" & m
Cells(i, 4).Font.ColorIndex = 3
 ElseIf m < 0 Then
         Cells(i, 4).Value = "=" & Cells(i, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) _
& "*" & Cells(i, 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) & "-" & Abs(m)
Cells(i, 4).Font.ColorIndex = 3
  Else
         Cells(i, 4).Value = "=" & Cells(i, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False) _
& "*" & Cells(i, 2).Address(RowAbsolute:=False, ColumnAbsolute:=False)
 End If
 Next
 End Sub 

Прикрепленные файлы

  • Вставка значения в формулу разработка2.xlsm (18.13 КБ)

Изменено: Tebenkov Igor01.12.2014 12:39:03

 

vikttur

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

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

Между тэгами кода тэги цветов не работают

 

А, так это вы Vikttur исправили код без тегов.  А я подумал, что код сам исправился  :) )))

 

vikttur

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

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

#19

01.12.2014 12:46:42

Сам исправился. Я же пишу — выделение цветом в коде не работает.

Если Вы о самом коде — иногда правлю то, что пользователи сами не делают.

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

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

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

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

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

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

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

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

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

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

    formulas-to-values3.png

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

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

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

Замена формул на значения соч.клавиш

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

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

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

formulas-to-values4.gif

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

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

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

Добавление кнопки вставки значений на панель быстрого доступа

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

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

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

Подсветка горячих клавиш

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

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

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

Sub Formulas_To_Values_Selection()
'преобразование формул в значения в выделенном диапазоне(ах)
    Dim smallrng As Range
    For Each smallrng In Selection.Areas
        smallrng.Value = smallrng.Value
    Next smallrng
End Sub

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

Sub Formulas_To_Values_Sheet()
'преобразование формул в значения на текущем листе
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub
 

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

Sub Formulas_To_Values_Book()
'преобразование формул в значения во всей книге
    For Each ws In ActiveWorkbook.Worksheets
        ws.UsedRange.Value = ws.UsedRange.Value
    Next ws
End Sub
 

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

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

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

formulas-to-values.png

В этом случае:

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

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

  • Что такое макросы, как их использовать, копировать и запускать
  • Как скопировать формулы без сдвига ссылок
  • Как считать в Excel без формул

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

Когда это может понадобиться?

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

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

Вы можете исправить все это вручную, удаляя старые знаки и добавляя новые, после чего проверить настройки формата каждой ячейки. Однако это делается долго и неудобно. Проще создать новый столбец с использованием функций. ПОДСТАВИТЬ и ЗНАЧЕН. Так вы создадите столбец с правильными данными, которые можно использовать для любых целей, включая копирование и удаление всего лишнего.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Использование функции ПОДСТАВИТЬ

Для начала разберемся с тем, как работает синтаксис основной функции – ПОДСТАВИТЬ. Объявим ее и рассмотрим каждый аргумент, чтобы при дальнейшем использовании у вас не возникло никаких проблем.

  1. Для начала выберите необходимую клетку, нажмите по ней левой кнопкой мыши для активации и объявите функцию =ПОДСТАВИТЬ().Объявление функции для подстановки значения в Microsoft Excel

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

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

  4. Снова отделите аргумент и в кавычках напишите новый символ для замены.Ввод нового текста в функции для подстановки значения в Microsoft Excel

  5. Это вся формула, поэтому можете нажать Enter и посмотреть, что получилось в итоге.Результат применения функции для подстановки значения в Microsoft Excel

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

=ПОДСТАВИТЬ(A2;".";",")

Добавление функции ЗНАЧЕН

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

  1. Выполните редактирование, чтобы в итоге получить примерно такой результат: =ЗНАЧЕН(ПОДСТАВИТЬ(A2;».»;»,»)).Модернизация функции для подстановки значения в Microsoft Excel

  2. Нажмите Enter для применения изменений и обратите внимание на то, что теперь числа отображаются справа в ячейке, что говорит об успешной смене формата с текстового на числовой.Результат конвертирования значения для подстановки значения в Microsoft Excel

  3. Остается только растянуть формулу на все остальные клетки, чтобы завершить замену в массиве данных. Зажмите правый нижний угол ячейки и потяните вниз.Растягивание функции после написания для подстановки значения в Microsoft Excel

  4. Посмотрите на таблицу и удалите лишнюю информацию, которая после преобразования больше не понадобится.Просмотр результата подстановки значения в Microsoft Excel

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

Like this post? Please share to your friends:
  • Пособие с работой excel
  • Пособие практические работы по excel
  • Пособие по расчету в excel
  • Пособие по работе с word 2007
  • Пособие по обучению excel