Страницы: 1
RSS
Разделить по столбцам данные, внесенные в ячейку Alt+Enter, с разными знаками табуляции и длиной символов
 
Добрый вечер. Очень прошу помощи, ПОМОГИТЕ! Как можно формулой разделить по столбцам данные в ячейке (буквы и числа), внесенные Alt+Enter и их сгруппировать в столбцы по категориям? Ячейки имеют разные знаки табуляции и длину строк. см.пример ниже:
Ф.И.О.Я 20 дн.159   ч.
   В 10 дн.
Ф.И.О.Я   20 дн.159 ч.
   В 10 дн.
Ф.И.О.Я   20 дн.157 ч.
   В 10 дн.
Ф.И.О.Я   20 дн.152 ч.
   В 10 дн.
Ф.И.О.Я   17 дн.136 ч.
   В 10 дн.
   Б 3 дн. 23 ч.
Ф.И.О.Я   18 дн.143 ч.
   В 10 дн.
   ДО 2 дн. 16 ч.
Ф.И.О.Я   20 дн.159 ч.
   В 10 дн.
Ф.И.О.Я   17 дн.135 ч.
   В 10 дн.
   ДО 1 дн. 8 ч.
   Б 2 дн. 16 ч.
Ф.И.О.Я   17 дн.135 ч.
   В 10 дн.
   ДО 1 дн. 8 ч.
   Б 2 дн. 16 ч.
Ф.И.О.Я   4 дн.32 ч.
   В 2 дн.
Изменено: Екатерина Шубина - 10.12.2021 15:27:41
 
Добрый.
На мой взгляд формулой - если только пользовательской функцией какой (т.е. код все равно писать).
Нужно решение через код?
Кому решение нужно - тот пример и рисует.
 
Выделить диапазон, Ctrl+H. Найти дн. и заменить на 5 пробелов. Найти ч. и заменить на 5 пробелов.
Дальше - работа формул
дни:
=ЕСЛИОШИБКА(--(ПСТР($D3;ПОИСК(E$1;$D3)+2;5));)
часы:
=ЕСЛИОШИБКА(--(ПСТР(ПОДСТАВИТЬ($D3;СИМВОЛ(10);ПОВТОР(" ";99));ПОИСК(E$1;ПОДСТАВИТЬ($D3;СИМВОЛ(10);ПОВТОР(" ";99)))+8;5));)
 
vikttur, спасибо огромное. Формула работает,  правда знаки после запятой не отображаются и в одной из категорий некорректно часы проставляет (только первую цифру). Пример прилагаю.
Изменено: Екатерина Шубина - 13.12.2021 12:40:50
 
Цитата
Екатерина Шубина написал:
с разными знаками табуляции
хм, знаю один знак табуляции, интересно какие не знаю :-)

=IFERROR(--LEFT(SUBSTITUTE(MID($D3;FIND(Y$1;$D3)+1;15);"дн.";REPT(" ";15));15);"")
=IFERROR(--MID(SUBSTITUTE(SUBSTITUTE(MID($D3;FIND(Y$1;$D3)+1;15);"дн.";REPT(" ";15));"ч.";REPT(" ";99));15;99);"")
Изменено: БМВ - 13.12.2021 13:16:05
По вопросам из тем форума, личку не читаю.
 
БМВ , этот вариант проще (без замены изначального текста), благодарю. А можно сделать так, чтобы формула точное совпадение искала. Во вложенном примере буквенные обозначения ОТ и Т он путает и не там данные отображает.
Изменено: Екатерина Шубина - 13.12.2021 16:08:58
 
Цитата
БМВ хм, знаю один знак табуляции, интересно какие не знаю :-)
И никогда не узнаете, Это гос тайна
 
Цитата
Екатерина Шубина написал:
он путает
он не путает, он просто не знал насколько богата фантазия :-)

=IFERROR(--LEFT(SUBSTITUTE(MID(" "&$D3;FIND(" "&E$1&" ";" "&SUBSTITUTE($D3;CHAR(10);" "))+LEN(E$1)+2;15);"дн.";REPT(" ";15));15);"")
=IFERROR(--MID(SUBSTITUTE(SUBSTITUTE(MID($D3;FIND(" " &E$1&" ";" "&SUBSTITUTE($D3;CHAR(10);" "))+LEN(F$1)+2;15);"дн.";REPT(" ";15));"ч.";REPT(" ";99));15;99);"")
Изменено: БМВ - 13.12.2021 17:49:40
По вопросам из тем форума, личку не читаю.
 
БМВ  - Вы чудо! Огромное человеческое СПАСИБО!!! все работает на отлично. БРАВО!!!  :D  
Страницы: 1
Наверх