Excel разбирать значение ячейки - PullRequest
1 голос
/ 17 января 2012

Я поместил следующее в ячейку A1:

"a lot of text marker: xxx some more text"

Я хотел бы скопировать значение xxx в ячейку A2.

Любойпредложения о том, как это можно сделать?

Спасибо

Ответы [ 3 ]

2 голосов
/ 17 января 2012
=MID(A1, FIND("marker:",A1) + LEN("marker:"), 4)

Я предполагаю, что xxx (в вашем примере) имеет длину 3 символа, и между маркером ":" и "xxx" присутствует пробел.

1 голос
/ 17 января 2012

Только мои два цента. Find () чувствителен к регистру, поэтому, если текст в A1 равен

"много текста Маркер: ххх еще немного текста"

Тогда Find выдаст вам ошибку.

Вы можете использовать Поиск () вместо НАЙТИ ()

= MID (A1, ПОИСК («маркер:», A1) + LEN («маркер:»), 3)

Также в зависимости от ваших региональных настроек вам может понадобиться использовать «;» вместо ","

0 голосов
/ 17 января 2012

Если вы хотели VBA-решение, это сработало для меня, используя ваш пример ввода:

Function GetValue(rng As Excel.Range) As String
  Dim tempValue As String
  Dim arrValues() As String
  ' get value from source range
  tempValue = rng.value
  ' split by ":" character
  arrValues = Split(tempValue, ":")
  ' split by spaces and take the second array element
  ' because there is a space between ":" and "xxx"
  GetXXXValue = Trim$(Split(arrValues(1), " ")(1))
End Function

Чтобы использовать, поместите этот код в модуль листа (см. Где я могу вставить код, который я хочу использовать в моей книге для помощи при размещении), а затем поместите в ячейку A2 следующее:

=GetValue(A1)

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