Excel - сумма значений ячеек, деленная на «плюс» - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть ячейка (A1, у которой есть текст «3 + 2». В следующую ячейку мне нужно поместить формулу, которая «= A1 + 1». Как я могу сказать Excel, что он должен делать сумму на A1, чтобы он мог суммировать другие значения? Example

Ответы [ 4 ]

0 голосов
/ 14 сентября 2018

Вам необходимо создать макрос VB:

  1. Откройте Инструменты> Макрос> Редактор Visual Basic
  2. Щелкните правой кнопкой мыши, чтобы создать новый модуль (важно!)
  3. Дважды щелкните только что созданный новый модуль и вставьте этот код

    Public Function EvaluateString(strTextString As String)
        Application.Volatile
        EvaluateString = Evaluate(strTextString)
    End Function
    
  4. Закройте окно редактора VB
  5. Теперь вы можете использовать =EvaluateString(A1), чтобы получитьсоответствующее значение A1.
0 голосов
/ 14 сентября 2018

Попробуйте использовать функцию оценки.Это лучший способ сделать это без VBA, но для этого нужен простой трюк:

Находясь в ячейке B1, добавьте в менеджер имен диапазон «Результат» с формулой

=EVALUATE($A1)

Чем просто поместить в B1формула

=Result

Более подробное описание функции EVALUATE приведено по ссылке .Кроме того, обратите внимание, что функция EVALUATE может иметь другое имя на вашем местном языке.

Кстати.подобная тема обсуждалась здесь

0 голосов
/ 14 сентября 2018

Если у вас есть значение x+xxx+xxxxxxxxxxxx в ячейке A1, рассмотрите следующую формулу ниже:

=SUM(0+TRIM(MID(SUBSTITUTE("+"&A1,"+",REPT(" ",99)),ROW(INDEX(A:A,1):INDEX(A:A,(1+LEN(A1)-LEN(SUBSTITUTE(A1,"+","")))))*99,99)))

Когда вы вернете формулу, обязательно нажмите CONTROL+SHIFT+ENTER.Затем вы можете просто перетащить его вниз для других ваших дополнений.

0 голосов
/ 14 сентября 2018

Если A1 содержит что-то вроде

 number+number

, тогда в B1 введите:

=LEFT(A1,FIND("+",A1)-1)+MID(A1,FIND("+",A1)+1,999)+1

enter image description here

Если A1 содержит произвольное числовое выражение в виде текста, вы должны использовать VBA UDF.

РЕДАКТИРОВАТЬ # 1:

Если у вас есть список значений, разделенных знаком + , то вы можете использовать эту формулу массива:

=SUM((TRIM(MID(SUBSTITUTE(A1,"+",REPT(" ",255)),1+(ROW(A1:A999)-1)*255,255)) & "0")/10)+1

Формулы массива необходимо вводить с помощью Ctrl + Shift + Введите , а не просто Enter .Если это сделано правильно, формула появится в фигурных скобках вокруг нее в строке формул:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...