Страницы: 1 2 След.
RSS
выделение из ячейки текста формулами
 
Здравствуйте! Подскажите, пожалуйста, а то уже всю голову сломала:  
1. в ячейку вводят должность, потом полное ФИО. Надо с помощью формул разнести по отдельным ячейкам должность, фамилию, имя, отчество. При этом должность может быть как одним словом (Директор), так и несколькими (Генеральный директор). Как это можно сделать?  
2. то же самое, но с ФИО - у иностранных граждан может и не быть отчества, и тогда все мои формулы летат к черту :(
 
А где пример с иностранцами?  
 
-----  
21821
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=06.09.2011 10:47}{thema=}{post}А где пример с иностранцами?  
 
-----  
21821{/post}{/quote}  
 
Для этого необязательно вводить "Джавахарлал Неру" - если ввести в фиолетовое поле только фамилию и имя возникнет ошибка.
 
А мне откуда знать, что  у вас там "Джавахарлал Неру" или Усама бен Ладен?  
 
-----  
47455
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=06.09.2011 11:04}{thema=}{post}А мне откуда знать, что  у вас там "Джавахарлал Неру" или Усама бен Ладен?  
 
-----  
47455{/post}{/quote}  
 
Ну...про проблему, возникающую при отсутствии отчества я написала в первом посте
 
Значит у иностранцев только 2 слова в имени? Чтож от этого и будем отталкиваться.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=06.09.2011 11:12}{thema=}{post}Значит у иностранцев только 2 слова в имени? Чтож от этого и будем отталкиваться.{/post}{/quote}  
Однако:  
Уильям Клей Форд мл (William Clay Ford Jr)  
Дита фон Тиз (Dita Von Teese)...
 
Тестируйте.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Физ.лицо поправил.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Директора поправил.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Спасибо, все замечательно работает!!!
 
Для физлица:  
=ЛЕВСИМВ(E8;ПОИСК(" ";E8)-1)  
=ПСТР(E8;ДЛСТР(E5)+2;ПОИСК("/";ПОДСТАВИТЬ(E8&" ";" ";"/";2))-ДЛСТР(E5)-2)  
=ПСТР(E8;ПОИСК("/";ПОДСТАВИТЬ($E$8&" ";" ";"/";2))+1;30)  
 
С юридическим не все понятно:  
Кассир Пупкин Женя Усамович  
 
Можно определять второе слово по заглавной букве.
 
Должность всегда на русском?
 
Нет, не всё правильно работает. В ячейку Е16 вставьте эту формулу:  
 
=ЕСЛИ(ПОИСК("директор";$E$17)=1;ПСТР($E$17;1;ПОИСК("/";(ПОДСТАВИТЬ($E$17;" ";"/")))-1);ПСТР($E$17;1;ПОИСК("/";(ПОДСТАВИТЬ($E$17;" ";"/";2)))-1))  
 
----  
50020
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Правильно  
=ЕСЛИ(ЕЧИСЛО(ПОИСК("директор";$E$17))..  
Но вряд ли это решит проблему: главный бухгалтер?
 
Бурное обсуждение, а от Девушки ни каких известий.  
 
Во всех ячейках разные формулы.
 
Работает, если должность на русском, второе слово должности с маленькой буквы.
 
Чуть исправил формулу для имени. А то, если отчества нет, ошибку выдавало.
 
{quote}{login=Михаил С.}{date=06.09.2011 01:09}{thema=}{post}Чуть исправил формулу для имени. А то, если отчества нет, ошибку выдавало.{/post}{/quote}  
 
Решаю похожую задачу, но нужно отделять номер счёта от даты заведения счёта и описания счёта (Предварительный счёт/Счёт Фактура)  
 
Вообщем, адаптирую вашу формулу у меня выдает ошибку #NUM - что делать не понимаю
 
Объясню немного понятнее  
Есть столбец данных, в которых в каждой ячейке указана информация по счетам организации,  
Надо их разбить в разные столбца, то есть название счёта в одну, номер счёта в другу, и т.д.  
Пример прилагаю
 
Формулы в желтых ячейках.
 
{quote}{login=kim}{date=10.01.2012 02:52}{thema=}{post}Формулы в желтых ячейках.{/post}{/quote}  
 
Kim, а если не привязваться к знаку № в левой части.  
Потому, что в данных вместе со счетами оказались и заказы, которые также стоит разделить?
 
Вообщем, я понимаю задачу так:  
 
Надо подсчитать где начинается 2 пробел, и удалить все знаки до начала 2 пробела  
в ячейке я получу вид заказа или вид счёта, проблема заключается в том, что не всегда бывают 2 пробела  
 
К примеру, как выделить слова Предварительный заказ, Счёт-фактура, Производственный счёт, чтобы можно было дальше пользоваться формулой в массиве  
Предварительный заказ №98945634346 от 08.13.2001 16:41:20  
Счет 31 от 04.08.2010 19:14:04  
Счёт-фактура №075987 от 09.08.2001 14:11:05  
Производственный счёт №997775 от 07.11.2000 15:34:21
 
Дату и время не смотрел..
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=10.01.2012 09:37}{thema=}{post}Дату и время не смотрел..{/post}{/quote}  
 
Владимир, а что значит запись:  
 
=ПОИСК({"счет"\"тура"\"аказ"\"счёт "};E26&"счеттурааказсчёт ")  
 
англ.вар.  
=SEARCH({"счет"\"тура"\"аказ"\"счёт "};E26&"счеттурааказсчёт ")  
 
Он ищет вхождение место вхождения в текст в ячейки E26, записей из массива {"счет"\"тура"\"аказ"\"счёт "}?Тогда зачем текст в ячейке два сцепляется с "счеттурааказсчёт "?
 
{quote}{login=}{date=10.01.2012 03:17}{thema=Re: }{post}{quote}{login=Владимир}{date=10.01.2012 09:37}{thema=}{post}Дату и время не смотрел.{/post}{/quote}  
Тогда зачем текст в ячейке два сцепляется с "счеттурааказсчёт "?{/post}{/quote}  
Без такого прицепчика нужно было добавлять проверку на наличие каждого из фрагментов, чтобы избежать появления ошибки.
 
Eugeon, каков желаемый результат?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Как понял - UDF  
 
Public Function io(ByRef x As String, ByRef z As Byte) As String  
With CreateObject("VBScript.RegExp")  
   .Pattern = Choose(z, "(?:\d+.)?\d+", "\d\d\.\d\d\.\d{4}", "\d?\d:\d\d:\d\d")  
   io = .Execute(x)(0).Value  
End With  
End Function
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Разбираюсь в формуле:  
 
Почему, когда я пытаюсь делать тоже самое для таблички с акциями, как я понял формула    
 
=СЖПРОБЕЛЫ(ПСТР(J15;1;МИН(ПОИСК({"кции"\"маги"\"теля"};J15&"кциимагителя"))+4))  
 
=TRIM(MID(J15;1;MIN(SEARCH({"кции"\"маги"\"теля"};J15&"кциимагителя"))+4))  
 
Выдает из текста в ячейке J15 начиная с первого символа до минимального значения положения в тексте J15&кциимагителя комбинаций букв кции, маги, теля  
 
1) если в тексте J15 будет сочетание букв кции, то при выполнении функции ПМИН(ПОИСК({"кции"\"маги"\"теля"};J15&"кциимагителя")), у сочетания кции будет значение 2 в массиве, тогда почему, в ячейку будет выводить конечное положение максимальноповторяющего сочетания, а не минимального?  
 
2) как определить номер конечного символа для текста Акции на преъявителя 23523 шт? как я понял просто добавить в формулу сочетание букв теля не даст ровным счётом ничего  
 
3) Зачем к количеству знаков возвращаемых из текста ячейки J15 необходимо прибавлять 4? Это количество знаков повторяющихся элементов букв кции, маги, теля, но зачем их прибавлять?  
 
Пример скинул
 
{quote}{login=nerv}{date=10.01.2012 04:10}{thema=}{post}Как понял - UDF  
 
Public Function io(ByRef x As String, ByRef z As Byte) As String  
With CreateObject("VBScript.RegExp")  
   .Pattern = Choose(z, "(?:\d+.)?\d+", "\d\d\.\d\d\.\d{4}", "\d?\d:\d\d:\d\d")  
   io = .Execute(x)(0).Value  
End With  
End Function{/post}{/quote}  
 
Да, это решает проблему с числовыми данными по номеру счетов и заказов, и с временными данными, но текст остается тем же, а нужно ещё выделить отдельно вид счёта, заказ, вообщем текстовые данные по счетам, заказам и т.д.
Страницы: 1 2 След.
Читают тему
Наверх