2016-07-06 2 views
1

У меня есть аа столбца в Excel с последующем примером ржал в каждой ячейке:Strip часть строки в Excel

«Об отпусков: 14.08.2011

На отпусках: 16.03.2012

Возвращение из отпуска: 01-01-2013

Возвращение из отпуска: 09-03-2012"

Иногда у меня больше или меньше информации. Мне просто нужно найти один способ (формулу или vba), чтобы найти последнюю строку «On Leave:» и скопировать дату в другой столбец.

В этом случае результат будет «16.03.2012»

Цель здесь, чтобы найти самую большую дату на отпуск.

Может кто-нибудь, пожалуйста, помогите мне?

Благодаря

+0

Что вы пробовали? Являются ли строки в одной ячейке или в двух ячейках? (Дата в его собственной ячейке?) –

+0

Привет Рон, здесь вы можете увидеть пример excel http://i.stack.imgur.com/y3ePE.jpg вы можете видеть в столбце A проблему и в столбце B желаемый результат. Мне всегда нужна дата последнего «On Leave». –

+0

Я бы предложил решение VBA, учитывая сложность ваших данных. Это не бесплатный сервис написания кода, но мы можем помочь вам с кодом, который вы пытаетесь разработать. Пожалуйста, прочитайте темы HELP для [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask), а также [Как создать минимальный, полный и проверенный пример] (http : //stackoverflow.com/help/mcve) –

ответ

0

Если вы разрешили иметь еще один столбец, вы не могли бы просто сделать что-то вроде этого, я полагаю, ваш текстовая строка в столбце А:

=IF(LEFT(A1,8)="On Leave",DATEVALUE(MID(A1,11,10)),1) 

Тогда просто найти макс что.

0

только с использованием данных в a1: а9 Я использовал следующую формулу массива, чтобы дать последней строке номер

=MAX(IF(NOT(ISERROR(SEARCH("on leave",$A$1:$A$9))),ROW($A$1:$A$9))) 
0

Вот еще одна (предполагается, что образец не изменяется)

=MAX(IF(LEFT($A$2:$A$10,8)="on leave",DATEVALUE(RIGHT($A$2:$A$10,10)))) 

введенный как формула массива.

0

Попробуйте это:

=MID(A1,FIND("@",SUBSTITUTE(A1,"On Leave","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"On Leave","")))/LEN("On Leave")))+LEN("On Leave : "),10) 

Если вы хотите сначала проверить строку "О отпусках" в использовании клеток:

=IF(LEFT(A1,8)="On Leave",MID(A1,FIND("@",SUBSTITUTE(A1,"On Leave","@",(LEN(A1)-LEN(SUBSTITUTE(A1,"On Leave","")))/LEN("On Leave")))+LEN("On Leave : "),10),"") 

enter image description here

Смежные вопросы