Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Расчёт формул из Строкового выражения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчёт формул из Строкового выражения (Формулы/Formulas)
Расчёт формул из Строкового выражения
Roman777 Дата: Пятница, 06.11.2015, 10:46 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Добрый день!
Подскажите, пожалуйста, есть ли в Экселе возможность считать формулу из строкового выражения в ячейке. Например: (A1+B1)*C1 (как в прикреплённом файле на Листе2) .
Знаю, что можно организовать через ДВССЫЛ. Но тогда для большой формулы будет довольно длинная экселевская формула. Мб в экселе есть уже ф-я для подобных вещей?
Данное решение необходимо для создания файла с формулами, куда будем ссылаться из других файликов с данными. Уже в этих файликах будет происходить расчёт согласно формулам, указанным в файле с формулами.
К сообщению приложен файл: 6662369.xlsx (8.9 Kb)


Много чего не знаю!!!!
 
Ответить
СообщениеДобрый день!
Подскажите, пожалуйста, есть ли в Экселе возможность считать формулу из строкового выражения в ячейке. Например: (A1+B1)*C1 (как в прикреплённом файле на Листе2) .
Знаю, что можно организовать через ДВССЫЛ. Но тогда для большой формулы будет довольно длинная экселевская формула. Мб в экселе есть уже ф-я для подобных вещей?
Данное решение необходимо для создания файла с формулами, куда будем ссылаться из других файликов с данными. Уже в этих файликах будет происходить расчёт согласно формулам, указанным в файле с формулами.

Автор - Roman777
Дата добавления - 06.11.2015 в 10:46
Nic70y Дата: Пятница, 06.11.2015, 11:00 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
ни чего не понял.
Код
="=(A1+B1)*C1"
а если так, а затем копируем - вставляем значения, ctrl+h находим = меняем на =


ЮMoney 41001841029809
 
Ответить
Сообщениени чего не понял.
Код
="=(A1+B1)*C1"
а если так, а затем копируем - вставляем значения, ctrl+h находим = меняем на =

Автор - Nic70y
Дата добавления - 06.11.2015 в 11:00
buchlotnik Дата: Пятница, 06.11.2015, 11:02 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
можно через макрофункции (см. диспетчер имен)
Код
=ВЫЧИСЛИТЬ("(A1+B1)*C1")
К сообщению приложен файл: 1728561.xlsx (8.9 Kb)
 
Ответить
Сообщениеможно через макрофункции (см. диспетчер имен)
Код
=ВЫЧИСЛИТЬ("(A1+B1)*C1")

Автор - buchlotnik
Дата добавления - 06.11.2015 в 11:02
mechanix85 Дата: Пятница, 06.11.2015, 11:07 | Сообщение № 4
Группа: Друзья
Ранг: Форумчанин
Сообщений: 240
Репутация: 34 ±
Замечаний: 0% ±

с помощью макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()
К сообщению приложен файл: 2402595.xlsx (9.6 Kb)
 
Ответить
Сообщениес помощью макрофункции ПОЛУЧИТЬ.ЯЧЕЙКУ()

Автор - mechanix85
Дата добавления - 06.11.2015 в 11:07
Manyasha Дата: Пятница, 06.11.2015, 11:17 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
и еще вариант:
в окно immediate
[vba]
Код
selection = Evaluate("""=""&" & selection.Address)
[/vba]или тоже самое в макрос[vba]
Код
Sub ee()
selection = Evaluate("""=""&" & selection.Address)
End Sub
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеи еще вариант:
в окно immediate
[vba]
Код
selection = Evaluate("""=""&" & selection.Address)
[/vba]или тоже самое в макрос[vba]
Код
Sub ee()
selection = Evaluate("""=""&" & selection.Address)
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 06.11.2015 в 11:17
Roman777 Дата: Пятница, 06.11.2015, 12:16 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Спасибо! Nic70y, как вариант (но много ручной работы...)
но всё же с макрофункциями удобнее, надобы почитать про эти штуки, ато ток слышал, почти никогда через них ничего не делал...
Спасибо большое buchlotnik, mechanix85, за Ваши варианты макрофункций...
Manyasha, Не могли бы вы пояснить пошагово, как без макроса
в окно immediate
selection = Evaluate("""=""&" & selection.Address)

эт где его открыть?

ПС в файлах buchlotnik и mechanix85, диспетчерах имён я ничего не увидел, видимо в xlsx это не сохраняется?


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Пятница, 06.11.2015, 12:20
 
Ответить
СообщениеСпасибо! Nic70y, как вариант (но много ручной работы...)
но всё же с макрофункциями удобнее, надобы почитать про эти штуки, ато ток слышал, почти никогда через них ничего не делал...
Спасибо большое buchlotnik, mechanix85, за Ваши варианты макрофункций...
Manyasha, Не могли бы вы пояснить пошагово, как без макроса
в окно immediate
selection = Evaluate("""=""&" & selection.Address)

эт где его открыть?

ПС в файлах buchlotnik и mechanix85, диспетчерах имён я ничего не увидел, видимо в xlsx это не сохраняется?

Автор - Roman777
Дата добавления - 06.11.2015 в 12:16
mechanix85 Дата: Пятница, 06.11.2015, 12:21 | Сообщение № 7
Группа: Друзья
Ранг: Форумчанин
Сообщений: 240
Репутация: 34 ±
Замечаний: 0% ±

есть там имя "формула"
 
Ответить
Сообщениеесть там имя "формула"

Автор - mechanix85
Дата добавления - 06.11.2015 в 12:21
Manyasha Дата: Пятница, 06.11.2015, 12:24 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
где его открыть

Заходите в редактор VBA (alt+f11), открываете окно immediate: View - Immediate window (или ctrl+G).
В появившемся окошке тоже можно писать код (только без sub) :)
Копируйте туда строку [vba]
Код
selection = Evaluate("""=""&" & selection.Address)
[/vba] и нажимайте enter.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
где его открыть

Заходите в редактор VBA (alt+f11), открываете окно immediate: View - Immediate window (или ctrl+G).
В появившемся окошке тоже можно писать код (только без sub) :)
Копируйте туда строку [vba]
Код
selection = Evaluate("""=""&" & selection.Address)
[/vba] и нажимайте enter.

Автор - Manyasha
Дата добавления - 06.11.2015 в 12:24
buchlotnik Дата: Пятница, 06.11.2015, 12:26 | Сообщение № 9
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Цитата
видимо в xlsx это не сохраняется?
ага, косяк - поправил
К сообщению приложен файл: 1728561-1-.xls (24.0 Kb)
 
Ответить
Сообщение
Цитата
видимо в xlsx это не сохраняется?
ага, косяк - поправил

Автор - buchlotnik
Дата добавления - 06.11.2015 в 12:26
Roman777 Дата: Пятница, 06.11.2015, 12:30 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Manyasha, Спасибо большое))) не знал что так можно...
Всем большое спасибо за помощь)


Много чего не знаю!!!!
 
Ответить
СообщениеManyasha, Спасибо большое))) не знал что так можно...
Всем большое спасибо за помощь)

Автор - Roman777
Дата добавления - 06.11.2015 в 12:30
_Boroda_ Дата: Пятница, 06.11.2015, 23:21 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
И ЮДФ-кой
[vba]
Код
Function form(ssilka As Range)
form = Evaluate(ssilka.Value)
End Function
[/vba]
К сообщению приложен файл: 6662369_1.xlsm (15.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИ ЮДФ-кой
[vba]
Код
Function form(ssilka As Range)
form = Evaluate(ssilka.Value)
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 06.11.2015 в 23:21
kold777 Дата: Пятница, 21.07.2017, 10:47 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Подскажите пожалуйста, можно ли сделать как-нибудь чтобы в на основном листе, например, считала формула А25=А23*А21*А18*А4
а программка в VBA автоматически считала по другой формуле А25=А23*А21*А4

в ячейке должна быть показана формула А25=А23*А21*А18*А4

либо если так нельзя сделать, то можно ли в VBA прописать, что если значение ячейки А18 отличается от единицы, тогда принять значение в формуле А25=А23*А21*А18*А4 принять значение А18=1
 
Ответить
СообщениеПодскажите пожалуйста, можно ли сделать как-нибудь чтобы в на основном листе, например, считала формула А25=А23*А21*А18*А4
а программка в VBA автоматически считала по другой формуле А25=А23*А21*А4

в ячейке должна быть показана формула А25=А23*А21*А18*А4

либо если так нельзя сделать, то можно ли в VBA прописать, что если значение ячейки А18 отличается от единицы, тогда принять значение в формуле А25=А23*А21*А18*А4 принять значение А18=1

Автор - kold777
Дата добавления - 21.07.2017 в 10:47
_Boroda_ Дата: Пятница, 21.07.2017, 10:54 | Сообщение № 13
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Все можно, но сначала прочитайте Правила форума, создайте свою тему (в которой формулы оформите тегами - кнопка fx), приложите файл-пример и опишите причину такого финта
Эта тема закрыта


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВсе можно, но сначала прочитайте Правила форума, создайте свою тему (в которой формулы оформите тегами - кнопка fx), приложите файл-пример и опишите причину такого финта
Эта тема закрыта

Автор - _Boroda_
Дата добавления - 21.07.2017 в 10:54
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчёт формул из Строкового выражения (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!