Как сохранить невычисленную математическую формулу в одной ячейке Excel и вычислить ее в другой ячейке?

Как сохранить невычисленную математическую формулу в одной ячейке Excel и вычислить ее в другой ячейке?

Я хочу иметь две ячейки в Excel:

В первом из них (fx A1) я хочу иметь уравнение вида 2 + 2
Во втором (fx A2) я хочу иметь решение = 4.

Как мне это сделать?

решение1

Сначала введите следующую UDF в стандартный модуль:

Public Function eval(strng As String) As Variant
    eval = Evaluate(strng)
End Function

затем в ячейку А2 введите:

=оценка(A1)

Пользовательские функции (UDF) очень просты в установке и использовании:

  1. ALT-F11 открывает окно VBE
  2. ALT-I ALT-M открывает новый модуль
  3. вставьте текст и закройте окно VBE

Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel позже 2003, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить UDF:

  1. откройте окно VBE, как указано выше
  2. очистить код
  3. закрыть окно VBE

Чтобы использовать UDF из Excel:

=мояфункция(A1)

Чтобы узнать больше о макросах в целом, см.:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

и

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

и

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

для получения подробной информации о UDF

Для работы макросы должны быть включены.!

решение2

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

Вы можете добиться этого с помощью VBa (и в вашем посте не указано, используете ли вы VBa или нет, поэтому я предполагаю, что нет) или вы можете couldпоискать старый XLM GET.FORMULA(), но VBa лучше (и я ничего не знаю о XLM)

Вы можете сделать что-то вроде

=FORMULATEXT(formulaCell)      

FORMULATEXT requires the morefunc.xll add-in. 

Источник


Однако в качестве обходного пути и на основе точного примера в вашем вопросе вы можете сделать следующее (что работает):

=SUM(LEFT(A1,1),RIGHT(A1,1))

Это будет работать только в том случае, если формула имеет вид N+N (где N — 1 цифра), но в зависимости от того, сколько у вас строк данных, это может вам подойти!

введите описание изображения здесь

Связанный контент