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

Вход

Регистрация

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

 

= Мир MS Excel/Как заставить текст стать формулой? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как заставить текст стать формулой? (Формулы/Formulas)
Как заставить текст стать формулой?
RMMMM Дата: Пятница, 04.02.2022, 01:08 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Какая то странная проблема. На некоторых текстах работает Evaluate (через именованный список, потому файл с макро), но на формуле в примере не работает.
Текст формулы в ячейке A1. Как этот текст превратить в формулу и эту формулу посчитать в ячейке A2 без макросов?
Если просто зайти в ячейку A1 и нажать Enter то формула посчитается (но нужно именно автоматически считать, без захода в ячейку вручную)
Файл приложен (excel 365)
К сообщению приложен файл: Book1.xlsm (10.5 Kb)


Сообщение отредактировал RMMMM - Пятница, 04.02.2022, 01:21
 
Ответить
СообщениеКакая то странная проблема. На некоторых текстах работает Evaluate (через именованный список, потому файл с макро), но на формуле в примере не работает.
Текст формулы в ячейке A1. Как этот текст превратить в формулу и эту формулу посчитать в ячейке A2 без макросов?
Если просто зайти в ячейку A1 и нажать Enter то формула посчитается (но нужно именно автоматически считать, без захода в ячейку вручную)
Файл приложен (excel 365)

Автор - RMMMM
Дата добавления - 04.02.2022 в 01:08
bmv98rus Дата: Пятница, 04.02.2022, 07:58 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
никак, ограничение EVALUATE в 256 символов не позволяет посчитать ваши 600.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеникак, ограничение EVALUATE в 256 символов не позволяет посчитать ваши 600.

Автор - bmv98rus
Дата добавления - 04.02.2022 в 07:58
RMMMM Дата: Вторник, 08.02.2022, 23:14 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Можно ли выполнить задачу без EVALUATE и без макросов?
Если без макросов невозможно, то как проще всего сделать макросом?
 
Ответить
СообщениеМожно ли выполнить задачу без EVALUATE и без макросов?
Если без макросов невозможно, то как проще всего сделать макросом?

Автор - RMMMM
Дата добавления - 08.02.2022 в 23:14
bmv98rus Дата: Среда, 09.02.2022, 07:45 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
RMMMM, так как м в случае с макросом придется использовать application.evaluate, то есть мнение что в нем придется дробить на части исходя из логики, просчитывать и собирать результат, что не просто, но возможно вам нужно пересмотреть подход. я в целом не понимаю зачем вся эта пляска с константами, да еще при такой точности. про многочисленное умножение на 0 я и вовсе молчу, при этом не стоит забывать про региональные установки и зависимость разделителей от них.

Более компактная запись ваших полиномов
Код
=SUMPRODUCT(0,373792860243056^{6;5;4;3;2;1;0};CHOOSE(MATCH(0,373792860243056;{-9E+99;0,5;0,85});
{0;0;0;-349,919413919413;832,545054945053;-658,352014652014;357,37967032967};{0;0;0;-349,919413919413;832,545054945053;-658,352014652014;357,37967032967};
{0;0;0;0;0;18,6666666666666;168,533333333333}))


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Среда, 09.02.2022, 08:08
 
Ответить
СообщениеRMMMM, так как м в случае с макросом придется использовать application.evaluate, то есть мнение что в нем придется дробить на части исходя из логики, просчитывать и собирать результат, что не просто, но возможно вам нужно пересмотреть подход. я в целом не понимаю зачем вся эта пляска с константами, да еще при такой точности. про многочисленное умножение на 0 я и вовсе молчу, при этом не стоит забывать про региональные установки и зависимость разделителей от них.

Более компактная запись ваших полиномов
Код
=SUMPRODUCT(0,373792860243056^{6;5;4;3;2;1;0};CHOOSE(MATCH(0,373792860243056;{-9E+99;0,5;0,85});
{0;0;0;-349,919413919413;832,545054945053;-658,352014652014;357,37967032967};{0;0;0;-349,919413919413;832,545054945053;-658,352014652014;357,37967032967};
{0;0;0;0;0;18,6666666666666;168,533333333333}))

Автор - bmv98rus
Дата добавления - 09.02.2022 в 07:45
Nic70y Дата: Среда, 09.02.2022, 09:42 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_700()
    Selection = Selection.Offset(-1, 0).Value
End Sub
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub u_700()
    Selection = Selection.Offset(-1, 0).Value
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 09.02.2022 в 09:42
RMMMM Дата: Среда, 09.02.2022, 16:36 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
я в целом не понимаю зачем вся эта пляска с константами, да еще при такой точности. про многочисленное умножение на 0 я и вовсе молчу

Возможно я не правильно решаю свою задачу. Есть небольшое количество данных X Y (4-6 точек), по ним нужно апроксимировать остальные. Х от 0.1 до 1. Данные вида:
Пример 1
1 187.2
0.85 184.4
0.75 184.3
0.5 192.6
0.1 299.52

Пример 2
1 176
0.85 172
0.75 178
0.65 182
0.5 183
0.25 198.5

Примерная закономерность - обычно высокие значения Y в 0.1, сильно меньше к 0.5, затем постепенно к минимуму в 0.7-0.85 и обычно чуть выше (но не всегда) к 1. Нужно апроксимировать промежуточные значения. Если использовать стандартную точность, то значения имеют существенную погрешность.
Я строю вручную график по этим 5,6 точкам, добавляю 2-3 линейных или полиномных trendlines и копирую формулу на лист с данными. Затем выбираю нужную серию и около 20 раз использую эту формулу в расчетах. Результаты устраивают, но это трудоемко, хотелось бы получать формулу аппроксимации автоматически или полуавтоматически. Для этого использую
Код
=LINEST
, формулу собираю автоматически (с максимально возможным вариантом полинома 6го порядка, но как правило использую до 3го) и использую ее в расчетах с помощью
Код
=evaluate
. Даже в укороченной формуле все равно больше 256 символов и коэффициенты нельзя обрезать так как в других случаях эти же коэффициенты могут быть с большей точностью.
Можно ли все это сделать как то проще сохранив точность?
 
Ответить
Сообщение
я в целом не понимаю зачем вся эта пляска с константами, да еще при такой точности. про многочисленное умножение на 0 я и вовсе молчу

Возможно я не правильно решаю свою задачу. Есть небольшое количество данных X Y (4-6 точек), по ним нужно апроксимировать остальные. Х от 0.1 до 1. Данные вида:
Пример 1
1 187.2
0.85 184.4
0.75 184.3
0.5 192.6
0.1 299.52

Пример 2
1 176
0.85 172
0.75 178
0.65 182
0.5 183
0.25 198.5

Примерная закономерность - обычно высокие значения Y в 0.1, сильно меньше к 0.5, затем постепенно к минимуму в 0.7-0.85 и обычно чуть выше (но не всегда) к 1. Нужно апроксимировать промежуточные значения. Если использовать стандартную точность, то значения имеют существенную погрешность.
Я строю вручную график по этим 5,6 точкам, добавляю 2-3 линейных или полиномных trendlines и копирую формулу на лист с данными. Затем выбираю нужную серию и около 20 раз использую эту формулу в расчетах. Результаты устраивают, но это трудоемко, хотелось бы получать формулу аппроксимации автоматически или полуавтоматически. Для этого использую
Код
=LINEST
, формулу собираю автоматически (с максимально возможным вариантом полинома 6го порядка, но как правило использую до 3го) и использую ее в расчетах с помощью
Код
=evaluate
. Даже в укороченной формуле все равно больше 256 символов и коэффициенты нельзя обрезать так как в других случаях эти же коэффициенты могут быть с большей точностью.
Можно ли все это сделать как то проще сохранив точность?

Автор - RMMMM
Дата добавления - 09.02.2022 в 16:36
RMMMM Дата: Среда, 09.02.2022, 16:39 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_700()
Selection = Selection.Offset(-1, 0).Value
End Sub
[/vba]
Это нужно будет кликать на все ячейки где нужно чтобы текст превратился в формулу?


Сообщение отредактировал Serge_007 - Среда, 09.02.2022, 17:37
 
Ответить
Сообщение
[vba]
Код
Sub u_700()
Selection = Selection.Offset(-1, 0).Value
End Sub
[/vba]
Это нужно будет кликать на все ячейки где нужно чтобы текст превратился в формулу?

Автор - RMMMM
Дата добавления - 09.02.2022 в 16:39
Nic70y Дата: Среда, 09.02.2022, 16:46 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
RMMMM, это просто пример.
для макроса нужен более-менее реальный файл.
а если просто Ctrl+h, найти =, заменить на =, заменить все.?


ЮMoney 41001841029809
 
Ответить
СообщениеRMMMM, это просто пример.
для макроса нужен более-менее реальный файл.
а если просто Ctrl+h, найти =, заменить на =, заменить все.?

Автор - Nic70y
Дата добавления - 09.02.2022 в 16:46
RMMMM Дата: Среда, 09.02.2022, 17:52 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
для макроса нужен более-менее реальный файл.

Похоже без более менее реального примера не понятно. Реальный пример запутанный и недоделанный, попробую его немного упростить и пересоздам тему.
 
Ответить
Сообщение
для макроса нужен более-менее реальный файл.

Похоже без более менее реального примера не понятно. Реальный пример запутанный и недоделанный, попробую его немного упростить и пересоздам тему.

Автор - RMMMM
Дата добавления - 09.02.2022 в 17:52
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как заставить текст стать формулой? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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