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

Вход

Регистрация

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

 

= Мир MS Excel/Расчеты по формуле общего вида с показом хода вычислений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчеты по формуле общего вида с показом хода вычислений (Формулы)
Расчеты по формуле общего вида с показом хода вычислений
cth Дата: Воскресенье, 15.12.2013, 22:24 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте уважаемые форумчане! Подскажите решение. Есть некая общая формула вида F=Ti+Zk+An, где i, k, n коэффициенты(индексы), нужно сделать расчет с разными значениями, после соответствующего ввода значений констант и коэффициентов i, k, n. И ещё показать ход вычислений, чтобы в итоге визуально это выглядело как T2*A5+Z1=2*21+3 = 45. При этом формула переменчива с количеством элементов произведений, между ними кроме операций сложения, могут быть вычитание, деление, умножение.
Сам нашел только макрос для показа вычислений, но он преобразует напрямую формулу ячейки, т.е если там были логические операторы, то с ними и выводит, подставляя вместо адреса ячейки числовое значение. Тогда нужно будет чтобы конечная формула в некоторой ячейке содержала в себе "прямые вычисления", т.е если выполнялись какие-то логические операции, или подстановки, ссылающиеся на конкретные значения промежуточных вычислений, то макрос не выполнит задачу. (Например в ячейке А1=2*x, значение Х рассчитывается в другой ячейке А2=2+y, тогда А1=2*А2, для макроса же нужно А1=2*(2+y). Пример работы макроса во вложении.
Не требуется использовать именно его, возможно как-то все сделать иначе.
Во вложении пример работы макроса, в левой части листа, в рамке в середине пример самого задания и показано как должно выглядеть решение.
К сообщению приложен файл: file16122013.xls (27.5 Kb)
 
Ответить
СообщениеЗдравствуйте уважаемые форумчане! Подскажите решение. Есть некая общая формула вида F=Ti+Zk+An, где i, k, n коэффициенты(индексы), нужно сделать расчет с разными значениями, после соответствующего ввода значений констант и коэффициентов i, k, n. И ещё показать ход вычислений, чтобы в итоге визуально это выглядело как T2*A5+Z1=2*21+3 = 45. При этом формула переменчива с количеством элементов произведений, между ними кроме операций сложения, могут быть вычитание, деление, умножение.
Сам нашел только макрос для показа вычислений, но он преобразует напрямую формулу ячейки, т.е если там были логические операторы, то с ними и выводит, подставляя вместо адреса ячейки числовое значение. Тогда нужно будет чтобы конечная формула в некоторой ячейке содержала в себе "прямые вычисления", т.е если выполнялись какие-то логические операции, или подстановки, ссылающиеся на конкретные значения промежуточных вычислений, то макрос не выполнит задачу. (Например в ячейке А1=2*x, значение Х рассчитывается в другой ячейке А2=2+y, тогда А1=2*А2, для макроса же нужно А1=2*(2+y). Пример работы макроса во вложении.
Не требуется использовать именно его, возможно как-то все сделать иначе.
Во вложении пример работы макроса, в левой части листа, в рамке в середине пример самого задания и показано как должно выглядеть решение.

Автор - cth
Дата добавления - 15.12.2013 в 22:24
AndreTM Дата: Понедельник, 16.12.2013, 00:00 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Вот вам примерчик, как можно сделать вашу задачку при ограниченных условиях (три переменных).
Пришлось немного изменить представление исходных данных для упрощения формул. Но это непринципиально, организация поиска/подмены может осуществляться при любом расположении табличек. Обратите также внимание, что некоторые формулы избыточны и просто показывают некоторые возможности. Например, можно задать все имена и индексы переменных формулами, "разобрав" список переменных в исходной таблице. Или однозначно привязать определенные индексы к определенным именам. Также можно перейти к именованным/динамическим диапазонам данных, дополнительным проверкам на существование переменных и индексов и т.д.
К сообщению приложен файл: 2-7908-1-1.xls (33.0 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеВот вам примерчик, как можно сделать вашу задачку при ограниченных условиях (три переменных).
Пришлось немного изменить представление исходных данных для упрощения формул. Но это непринципиально, организация поиска/подмены может осуществляться при любом расположении табличек. Обратите также внимание, что некоторые формулы избыточны и просто показывают некоторые возможности. Например, можно задать все имена и индексы переменных формулами, "разобрав" список переменных в исходной таблице. Или однозначно привязать определенные индексы к определенным именам. Также можно перейти к именованным/динамическим диапазонам данных, дополнительным проверкам на существование переменных и индексов и т.д.

Автор - AndreTM
Дата добавления - 16.12.2013 в 00:00
cth Дата: Понедельник, 16.12.2013, 19:18 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, благодарю за ответ. Только сейчас понял, что не совсем точно описал начальные условия, коэффициентов i например может быть несколько для одного аргумента, т.е. возможен случай X2+X3+X5, и это только с X, в одном выражении могут быть и другие, т.е X2+X3+Y1+Y5. У меня была идея реализовать все следующим образом. Например заранее известно что число слагаемых с одним аргументом будет точно не больше 5 штук. Пример с одним аргументом: X2+X3+X5, оставшиеся X1 и X4 принимаем за 0, тогда численно можно всегда считать общую формулу, т.е будет X1+X2+X3+X4+X5=0+X2+X3+0+X5. Потом можно формулу выводить в отдельную ячейку, и каким-то образом вырезать из формулы ссылки на ячейки соответствующие нулевым значениям. Работать только со строкой X1+X2+X3+X4+X5, преобразовать её в X2+X3+X5. Получить формулу, не учитывающие нулевые ячейки довольно не сложно, через функцию ЕСЛИ(пример во вожении первого поста слева столбец), но это будет уже формула с логикой, и макрос не отобразит верным образом.
К сообщению приложен файл: -2-2-7908-1-1.xls (35.5 Kb)
 
Ответить
СообщениеAndreTM, благодарю за ответ. Только сейчас понял, что не совсем точно описал начальные условия, коэффициентов i например может быть несколько для одного аргумента, т.е. возможен случай X2+X3+X5, и это только с X, в одном выражении могут быть и другие, т.е X2+X3+Y1+Y5. У меня была идея реализовать все следующим образом. Например заранее известно что число слагаемых с одним аргументом будет точно не больше 5 штук. Пример с одним аргументом: X2+X3+X5, оставшиеся X1 и X4 принимаем за 0, тогда численно можно всегда считать общую формулу, т.е будет X1+X2+X3+X4+X5=0+X2+X3+0+X5. Потом можно формулу выводить в отдельную ячейку, и каким-то образом вырезать из формулы ссылки на ячейки соответствующие нулевым значениям. Работать только со строкой X1+X2+X3+X4+X5, преобразовать её в X2+X3+X5. Получить формулу, не учитывающие нулевые ячейки довольно не сложно, через функцию ЕСЛИ(пример во вожении первого поста слева столбец), но это будет уже формула с логикой, и макрос не отобразит верным образом.

Автор - cth
Дата добавления - 16.12.2013 в 19:18
AndreTM Дата: Понедельник, 16.12.2013, 21:58 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Какой макрос-то? Мы же здесь про формулы... Если можно делать работу макросами - то вопросов не возникает вообще никаких.
Что же касается "чисто формулами" сделать множественные значения индексов - то это тоже решаемо. Нужно просто список индексов задавать либо сразу в виде диапазона/массива, либо парсить в массив из символьной строки. Остальная логика - может быть та же, что и приведена в моём примере.
Вы бы задачку свою описали словами (что, зачем и для чего это требуется), а не надуманными схемами ваших решений...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеКакой макрос-то? Мы же здесь про формулы... Если можно делать работу макросами - то вопросов не возникает вообще никаких.
Что же касается "чисто формулами" сделать множественные значения индексов - то это тоже решаемо. Нужно просто список индексов задавать либо сразу в виде диапазона/массива, либо парсить в массив из символьной строки. Остальная логика - может быть та же, что и приведена в моём примере.
Вы бы задачку свою описали словами (что, зачем и для чего это требуется), а не надуманными схемами ваших решений...

Автор - AndreTM
Дата добавления - 16.12.2013 в 21:58
cth Дата: Понедельник, 16.12.2013, 22:36 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, а задачка такая и есть в принципе) Эксель в данном случае как средство, это не задание по информатике. Формул штук пять вбиваются несколько раз, и просчитываются с разными значениями, при этом велика вероятность что многие значения придется изменять. Показать решение, это чтобы все не вбивать на клавиатуре вдвойне, для отчета. Сам ход вообще не важен, хоть макрос, главное чтобы упростить всю эту рутину. Мне нужен только результат на выходе, в виде формулы и ходом вычислений.
А через логику пробовал просто самому интересно стало, простейшие комбинации проходили на первом курсе информатики. Макросы для меня совсем темный лес, с Бейсиком не знаком.
Пример в виде скриншота во вложении.
К сообщению приложен файл: -3-2-7908-1-1.xls (69.0 Kb)
 
Ответить
СообщениеAndreTM, а задачка такая и есть в принципе) Эксель в данном случае как средство, это не задание по информатике. Формул штук пять вбиваются несколько раз, и просчитываются с разными значениями, при этом велика вероятность что многие значения придется изменять. Показать решение, это чтобы все не вбивать на клавиатуре вдвойне, для отчета. Сам ход вообще не важен, хоть макрос, главное чтобы упростить всю эту рутину. Мне нужен только результат на выходе, в виде формулы и ходом вычислений.
А через логику пробовал просто самому интересно стало, простейшие комбинации проходили на первом курсе информатики. Макросы для меня совсем темный лес, с Бейсиком не знаком.
Пример в виде скриншота во вложении.

Автор - cth
Дата добавления - 16.12.2013 в 22:36
SM Дата: Вторник, 17.12.2013, 01:49 | Сообщение № 6
Группа: Друзья
Ранг: Участник
Сообщений: 64
Репутация: 59 ±
Замечаний: 0% ±

2003
cth, вариант "расчета по формуле общего вида с ходом вычислений" - на листе 'пример'.
К сообщению приложен файл: Calculations_by.xls (77.0 Kb)


Excel изощрён, но не злонамерен
 
Ответить
Сообщениеcth, вариант "расчета по формуле общего вида с ходом вычислений" - на листе 'пример'.

Автор - SM
Дата добавления - 17.12.2013 в 01:49
SM Дата: Вторник, 17.12.2013, 02:11 | Сообщение № 7
Группа: Друзья
Ранг: Участник
Сообщений: 64
Репутация: 59 ±
Замечаний: 0% ±

2003
Сорь, исправил файл:
К сообщению приложен файл: Calculations_by.xls (79.0 Kb)


Excel изощрён, но не злонамерен
 
Ответить
СообщениеСорь, исправил файл:

Автор - SM
Дата добавления - 17.12.2013 в 02:11
cth Дата: Вторник, 17.12.2013, 10:02 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SM, благодарю за вариант. Получается что все формулы все равно нужно будет вбить по 1 разу? Если у меня например будет следующий блок решения по тем же формулам но с другими индексами. Я то как представлял, вбил один раз однотипные формулы, потом только индексы меняются и значения соответственно. Ведь формулы довольно простые, т.е даже знаки можно не менять, везде можно написать +, а уже сами значения только вбивать и придавать тем которые нужно отнять отрицательное значение.
 
Ответить
СообщениеSM, благодарю за вариант. Получается что все формулы все равно нужно будет вбить по 1 разу? Если у меня например будет следующий блок решения по тем же формулам но с другими индексами. Я то как представлял, вбил один раз однотипные формулы, потом только индексы меняются и значения соответственно. Ведь формулы довольно простые, т.е даже знаки можно не менять, везде можно написать +, а уже сами значения только вбивать и придавать тем которые нужно отнять отрицательное значение.

Автор - cth
Дата добавления - 17.12.2013 в 10:02
SM Дата: Вторник, 17.12.2013, 14:06 | Сообщение № 9
Группа: Друзья
Ранг: Участник
Сообщений: 64
Репутация: 59 ±
Замечаний: 0% ±

2003
Если у меня например будет следующий блок решения по тем же формулам но с другими индексами
К сообщению приложен файл: CalcByFormula.xls (86.5 Kb)


Excel изощрён, но не злонамерен
 
Ответить
Сообщение
Если у меня например будет следующий блок решения по тем же формулам но с другими индексами

Автор - SM
Дата добавления - 17.12.2013 в 14:06
cth Дата: Вторник, 17.12.2013, 18:24 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Простите, но не понимаю как реализовать свои формулы... Ведь выражения могут содердать как переменные с разными индексами так и разное количество слагаемых, а каких то переменных может вообще не быть в очередной порции примеров. Может я не верное выражался, когда описывал что нужно, прикрепил вложение, там мое видение того как должен выглядеть готовый файл, и что нужно ввести для решения (заполнить таблицу). Может существует какой-то готовый макрос для подобных задач.
К сообщению приложен файл: inwork17122013.xls (31.0 Kb)
 
Ответить
СообщениеПростите, но не понимаю как реализовать свои формулы... Ведь выражения могут содердать как переменные с разными индексами так и разное количество слагаемых, а каких то переменных может вообще не быть в очередной порции примеров. Может я не верное выражался, когда описывал что нужно, прикрепил вложение, там мое видение того как должен выглядеть готовый файл, и что нужно ввести для решения (заполнить таблицу). Может существует какой-то готовый макрос для подобных задач.

Автор - cth
Дата добавления - 17.12.2013 в 18:24
SM Дата: Вторник, 17.12.2013, 21:06 | Сообщение № 11
Группа: Друзья
Ранг: Участник
Сообщений: 64
Репутация: 59 ±
Замечаний: 0% ±

2003
Может существует какой-то готовый макрос для подобных задач.

Дахренегознает, наверное существует.


Excel изощрён, но не злонамерен
 
Ответить
Сообщение
Может существует какой-то готовый макрос для подобных задач.

Дахренегознает, наверное существует.

Автор - SM
Дата добавления - 17.12.2013 в 21:06
AndreTM Дата: Вторник, 17.12.2013, 22:50 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Может существует какой-то готовый макрос для подобных задач
Существует. MathCAD называется :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Может существует какой-то готовый макрос для подобных задач
Существует. MathCAD называется :D

Автор - AndreTM
Дата добавления - 17.12.2013 в 22:50
cth Дата: Вторник, 17.12.2013, 23:06 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AndreTM, Там с общей формулой ещё можно посидеть, а вот чтобы потом еще решение выводить не знаю, наверное как-то и можно. Проще так вбить руками. Но неужели весь великий Эксель не может из формулы ячейки удалять ссылку на ту, значение в которой равно нулю. Если например есть какая-то абстрактная формула =A1+A2+A3, и если значение в A2=0, то переписать ячейку с формулой =A1+A3? Как так то...
 
Ответить
СообщениеAndreTM, Там с общей формулой ещё можно посидеть, а вот чтобы потом еще решение выводить не знаю, наверное как-то и можно. Проще так вбить руками. Но неужели весь великий Эксель не может из формулы ячейки удалять ссылку на ту, значение в которой равно нулю. Если например есть какая-то абстрактная формула =A1+A2+A3, и если значение в A2=0, то переписать ячейку с формулой =A1+A3? Как так то...

Автор - cth
Дата добавления - 17.12.2013 в 23:06
AndreTM Дата: Вторник, 17.12.2013, 23:35 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Вас, похоже, заносит не в те дебри... Каким боком здесь ячейки листа Excel и их представление в данном ПО? - если вы-то рассуждаете о неких своих "обозначениях" в своих "формулах". Причём, я так понял, желаете сделать итерационные вычисления (т.е. ваши переменные внутри формул могут быть сами определены как функции). Ну так задача тогда сводится не к задействованию каким-то хитровывернутым образом Excel'я, а к обычному парсингу символьных выражений.
Я не просто так посоветовал вам сначала описать задачу словами, не прибегая к ссылкам на ваши "наработки", и абстрагировавшись от Excel :) Тогда бы стало сразу ясно, в каком направлении копать: начать с описания системы обозначений (т.е. разработки синтаксиса для задаваемых вами "формул"), затем - реализовать операции, соответствующие обозначениям, затем - написать парсер выражений, плюс сделать интерпретатор получаемых выражений, позволяющий средствам оболочки вычислить полученное выражение... Между прочим, именно то, что продемонстрировал SM в приложении к вашему примеру - а вы не захотели разобраться в реализации до конца...
И вы нам тут про A3 и Z5 :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Вторник, 17.12.2013, 23:41
 
Ответить
СообщениеВас, похоже, заносит не в те дебри... Каким боком здесь ячейки листа Excel и их представление в данном ПО? - если вы-то рассуждаете о неких своих "обозначениях" в своих "формулах". Причём, я так понял, желаете сделать итерационные вычисления (т.е. ваши переменные внутри формул могут быть сами определены как функции). Ну так задача тогда сводится не к задействованию каким-то хитровывернутым образом Excel'я, а к обычному парсингу символьных выражений.
Я не просто так посоветовал вам сначала описать задачу словами, не прибегая к ссылкам на ваши "наработки", и абстрагировавшись от Excel :) Тогда бы стало сразу ясно, в каком направлении копать: начать с описания системы обозначений (т.е. разработки синтаксиса для задаваемых вами "формул"), затем - реализовать операции, соответствующие обозначениям, затем - написать парсер выражений, плюс сделать интерпретатор получаемых выражений, позволяющий средствам оболочки вычислить полученное выражение... Между прочим, именно то, что продемонстрировал SM в приложении к вашему примеру - а вы не захотели разобраться в реализации до конца...
И вы нам тут про A3 и Z5 :D

Автор - AndreTM
Дата добавления - 17.12.2013 в 23:35
cth Дата: Среда, 18.12.2013, 00:24 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - cth
Дата добавления - 18.12.2013 в 00:24
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчеты по формуле общего вида с показом хода вычислений (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

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