Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2009, 21:01   #1
red_kabantchik
Новичок
Джуниор
 
Регистрация: 25.10.2009
Сообщений: 4
По умолчанию Excel.Вывод формулы

Необходимо в экселе отобразить формулу с уже подставленными переменными. То есть:
а - первое слагаемое а=1
в - второе слагаемое в=2
Формула с=а+в
Необходимо получить итоговую формулу такого вида:
с=1+2

В эксель такое возможно или это дохлый номер? Катастрофически нужно привести документы к нормативному виду, где будет не тупо вставленная формула и рядом одно число в ячейке, отображающее итоговый ответ, а формула с подставленными в нее переменными, которые описаны выше. Нужно чтобы человек,глядя на документ не сверялся постоянно с переменными, а сразу видел, чего подставлено.
red_kabantchik вне форума Ответить с цитированием
Старый 26.10.2009, 03:44   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можно попробовать использовать что-то типа пользовательской функции:
Код:
Function РасширеннаяФормула(ByVal txt As String)
    On Error Resume Next: t1 = Split(txt, "=")(0): t2 = Split(txt, "=")(1)
    For i = 1 To Len(t2)
        l = Mid(t2, i, 1): Err.Clear: newl = l
        If Asc(l) > 46 Then newl = [1:1].Find(l)(2, 1)
        If Err Then newl = l
        newl = IIf(Asc(l) > 46, newl, " " & newl & " "): newt = newt & newl
    Next
    res = Application.Evaluate(Replace(WorksheetFunction.Trim(newt), ",", "."))
    РасширеннаяФормула = t1 & " = " & t2 & " = " & newt & " = " & res
End Function
Например, при исходной формуле x=A*3+b*c/2-d^n
в результате применения формулы
Код:
  Ячейка: A6      Формула  (стиль A1):   =РасширеннаяФормула(A5)
                  Формула  (стиль R1C1): =РасширеннаяФормула(R5C1)
получаем x = A*3+b*c/2-d^n = 5 * 3 + 4,98 * 8/2 - 2,15^2 = 30,2975

Пример файла с этой функцией:



Можно сделать всё это и средствами Word (см. вложение в этом посте)

Последний раз редактировалось EducatedFool; 26.10.2009 в 03:53.
EducatedFool вне форума Ответить с цитированием
Старый 27.10.2009, 19:26   #3
red_kabantchik
Новичок
Джуниор
 
Регистрация: 25.10.2009
Сообщений: 4
По умолчанию

Да вот в том то и проблема, что весь смысл задачи состоит в конечном виде формулы. Можно в word пользоваться редактором формул и потом тупо копировать их в excel (как сейчас и приходится делать) а нужно чтобы в конечном счете запись в excel выглядела так же как и в редакторе формул ворда.
red_kabantchik вне форума Ответить с цитированием
Старый 27.10.2009, 19:28   #4
red_kabantchik
Новичок
Джуниор
 
Регистрация: 25.10.2009
Сообщений: 4
По умолчанию

или хотя бы знать другую программу, в которой можно получить подобный результат. А то получается что пишешь расчет, а в итоге получаешь только голые числа. Заказчики офигивают от массы бесполезной инфы, которая им не понятна и требуют объяснений. Видели бы формулу с подставленными в нее числами - вопросов бы не было.
red_kabantchik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формулы в Excel sasha198407 Microsoft Office Excel 6 07.05.2009 15:42
Вывод текста содержащего формулы и таблицы street-walker Общие вопросы Delphi 7 30.04.2009 08:06
Формулы в Excel ROBERT033 Microsoft Office Excel 11 25.02.2009 12:37
Формулы Excel vvi23 Microsoft Office Excel 5 09.12.2008 20:58
формулы в excel, HELP Toxa БД в Delphi 0 03.05.2007 09:55