В Интернете решений - масса, от ручного "Текст по столбцам" до пользовательских функций (UDF), формулами - тоже много. Хочется найти - именно формулами, но самое компактное по общему количеству знаков.
Постановка задачи такая. В ячейке A1 находится правильное полное ФИО, без концевых (слева и справа) пробелов и по одному пробелу между словами. В ячейках B1, C1, D1 нужно вывести Фамилию, Имя, Отчество соответственно по отдельности, без (!) концевых пробелов. В формулах можно использовать ссылки на любые из всех четырех ячеек A1:D1 (а не только на исходную A1), т.е. можно, например, как-то использовать результаты, полученные в соседних ячейках.
Подсчет знаков предлагается вести суммированием символов уникальных формул, помещенных в ячейки B1, C1, D1. Это означает, что если все формулы разные, то суммируются количества символов этих трех формул (включая начальные символы = ). Если формула получается одна, но такая, которая в ячейке B1 дает Фамилию, а после копирования в C1 и D1 - Имя и Отчество, то конкурсным результатом является кол-во символов этой одной формулы. Одной считаем и формулу массива, введенную одновременно в 3 ячейки при помощи Ctrl+Shift+Enter (как разновидность копирования). Если же, скажем, в ячейке B1 - одна формула, в C1 - другая, а в D1 - полученная копированием C1, то количество символов решения определяется двумя (уникальными) формулами в B1 и C1.
Можно включать в решение также именованные (Ctrl+F3) формулы. В этом случае помимо чисто формульных символов в поле "Диапазон", начиная с =, в подсчет включается также само "Имя" именованной формулы (т.е. длина имени).
Там 3 разные формулы: 26 + 108 + 24 = 158 знаков. Пусть это значение и будет начальным приближением. Правда, в этом решении Фамилия и Имя, получающиеся в B1 и C1, содержат правые концевые пробелы. Но я уверен, что в строгом правильном решении знаков может быть существенно меньше.
P.S. Закрепим в правило также разумное ограничение - общая длина текста в A1 не превышает 99 символов.
P.S.2. Сделаем правилом еще одно разумное ограничение, органично напрашивающееся из предыдущего - длина одного компонента (слова) ФИО не превышает 32 символа. Таким образом, максимально 32 символа х 3 слова + 2 пробела = 98 символов, т.е. в пределах 99.
В Интернете решений - масса, от ручного "Текст по столбцам" до пользовательских функций (UDF), формулами - тоже много. Хочется найти - именно формулами, но самое компактное по общему количеству знаков.
Постановка задачи такая. В ячейке A1 находится правильное полное ФИО, без концевых (слева и справа) пробелов и по одному пробелу между словами. В ячейках B1, C1, D1 нужно вывести Фамилию, Имя, Отчество соответственно по отдельности, без (!) концевых пробелов. В формулах можно использовать ссылки на любые из всех четырех ячеек A1:D1 (а не только на исходную A1), т.е. можно, например, как-то использовать результаты, полученные в соседних ячейках.
Подсчет знаков предлагается вести суммированием символов уникальных формул, помещенных в ячейки B1, C1, D1. Это означает, что если все формулы разные, то суммируются количества символов этих трех формул (включая начальные символы = ). Если формула получается одна, но такая, которая в ячейке B1 дает Фамилию, а после копирования в C1 и D1 - Имя и Отчество, то конкурсным результатом является кол-во символов этой одной формулы. Одной считаем и формулу массива, введенную одновременно в 3 ячейки при помощи Ctrl+Shift+Enter (как разновидность копирования). Если же, скажем, в ячейке B1 - одна формула, в C1 - другая, а в D1 - полученная копированием C1, то количество символов решения определяется двумя (уникальными) формулами в B1 и C1.
Можно включать в решение также именованные (Ctrl+F3) формулы. В этом случае помимо чисто формульных символов в поле "Диапазон", начиная с =, в подсчет включается также само "Имя" именованной формулы (т.е. длина имени).
Там 3 разные формулы: 26 + 108 + 24 = 158 знаков. Пусть это значение и будет начальным приближением. Правда, в этом решении Фамилия и Имя, получающиеся в B1 и C1, содержат правые концевые пробелы. Но я уверен, что в строгом правильном решении знаков может быть существенно меньше.
P.S. Закрепим в правило также разумное ограничение - общая длина текста в A1 не превышает 99 символов.
P.S.2. Сделаем правилом еще одно разумное ограничение, органично напрашивающееся из предыдущего - длина одного компонента (слова) ФИО не превышает 32 символа. Таким образом, максимально 32 символа х 3 слова + 2 пробела = 98 символов, т.е. в пределах 99.Gustav
Есть универсальная (копируемая из B1 в C1 и D1) формула - 73 знака
Достойное начало! Я же пока дотелепал до 119 в трёх формулах. Пожалуй, буду искать универсалку...
P.S. Упс! Нашёл универсалку на 75 символов. Сильно подозреваю, что это в том же русле, что и 73, просто я несколько перестраховался в мелочах...
Quote (MCH)
Есть универсальная (копируемая из B1 в C1 и D1) формула - 73 знака
Достойное начало! Я же пока дотелепал до 119 в трёх формулах. Пожалуй, буду искать универсалку...
P.S. Упс! Нашёл универсалку на 75 символов. Сильно подозреваю, что это в том же русле, что и 73, просто я несколько перестраховался в мелочах... Gustav
Михаил, я добавил в правила в сообщении № 1 незначительные детали: про формулу массива и про 32 символа. Про массив, думаю, это и так неявно имелось в виду с самого начала (как вариант копирования). Ограничение же в 32 символа лично мне дает копеечную экономию в 1-2 знака но мне кажется, оно вполне имеет право на жизнь, так как на практике вряд ли найдётся какой-либо компонент ФИО, превышающий эту длину.
Ну, и спешу сообщить о своём достижении 65 знаков. Формула - массивная, располагающаяся в 3-х соседних ячейках.
Михаил, я добавил в правила в сообщении № 1 незначительные детали: про формулу массива и про 32 символа. Про массив, думаю, это и так неявно имелось в виду с самого начала (как вариант копирования). Ограничение же в 32 символа лично мне дает копеечную экономию в 1-2 знака но мне кажется, оно вполне имеет право на жизнь, так как на практике вряд ли найдётся какой-либо компонент ФИО, превышающий эту длину.
Ну, и спешу сообщить о своём достижении 65 знаков. Формула - массивная, располагающаяся в 3-х соседних ячейках.Gustav
Если вскрываться, то у нас с Михаилом абсолютно совпадающее решение на 65 знаков (обсуждено в привате). Скорее всего, у Виктора решение аналогичное, просто чуть не дотянутое до финальной формы.
Дадим еще время или будем потихоньку вскрываться?
Если вскрываться, то у нас с Михаилом абсолютно совпадающее решение на 65 знаков (обсуждено в привате). Скорее всего, у Виктора решение аналогичное, просто чуть не дотянутое до финальной формы.Gustav
Думаю, что желающих больше нет, иначе бы они проявили себя В такой размер формулы, решение может быть только одно, другого алгоритма не вижу.
Интересным было бы сделать решение более универсальным, без ограничение на кол-во символов, условно задаем номер слова по порядку (1 или 2 или 3) на выходе получаем это слово (без использования большого кол-ва пробелов, с последующим их удалением). Что то типа такого: В A1 - "Иванов Иван Иванович" В B1 - формула =ПСТР(A1;x;y), где x и y - расчетываются формульно, например если нужно извлечь второе слово, то x=8, y=4
PS: Жаль, что у форумчан пропадает интерес к разделу
Цитата (Gustav)
Дадим еще время или будем потихоньку вскрываться?
Думаю, что желающих больше нет, иначе бы они проявили себя В такой размер формулы, решение может быть только одно, другого алгоритма не вижу.
Интересным было бы сделать решение более универсальным, без ограничение на кол-во символов, условно задаем номер слова по порядку (1 или 2 или 3) на выходе получаем это слово (без использования большого кол-ва пробелов, с последующим их удалением). Что то типа такого: В A1 - "Иванов Иван Иванович" В B1 - формула =ПСТР(A1;x;y), где x и y - расчетываются формульно, например если нужно извлечь второе слово, то x=8, y=4
PS: Жаль, что у форумчан пропадает интерес к разделуMCH
Миш, в инете не так много сильных формулистов Из них kim, Johnson и _Boroda_ давно не появляются вообще нигде, DV и vikttur редко могут уделить хоть немного времени на решение задач (заходят на 5-10 минут), Zorro2005 адаптируется на новой работе А остальные заняты больше семейными, предновогодними делами Так что снижение активности вызвано объективными причинами, а не снижением интереса к этой ветке
Миш, в инете не так много сильных формулистов Из них kim, Johnson и _Boroda_ давно не появляются вообще нигде, DV и vikttur редко могут уделить хоть немного времени на решение задач (заходят на 5-10 минут), Zorro2005 адаптируется на новой работе А остальные заняты больше семейными, предновогодними делами Так что снижение активности вызвано объективными причинами, а не снижением интереса к этой веткеSerge_007
Тем временем я публикую наше общее решение на 65 знаков. Эта формула массива, которую надо ввести одновременно в 3 ячейки B1:D1 (предварительно выделив их) и завершить ввод Ctrl+Shift+Enter. Скрываю текст формулы под спойлером - вдруг всё-таки кто-то еще захочет подумать.
Тем временем я публикую наше общее решение на 65 знаков. Эта формула массива, которую надо ввести одновременно в 3 ячейки B1:D1 (предварительно выделив их) и завершить ввод Ctrl+Shift+Enter. Скрываю текст формулы под спойлером - вдруг всё-таки кто-то еще захочет подумать.
Умные люди, подскажите. У меня каждые 3 недели отчет, в строке ФИО, адрес, телефон.... Но мне нужно показывать только ФИО, а остальную инфу вынуждена тысячами вручную удалять, КАК МОЖНО задать формулу, чтобы оставались только первые 3 слова в строке или ФИО? Бывает такое чудо?? Спасибо!
Умные люди, подскажите. У меня каждые 3 недели отчет, в строке ФИО, адрес, телефон.... Но мне нужно показывать только ФИО, а остальную инфу вынуждена тысячами вручную удалять, КАК МОЖНО задать формулу, чтобы оставались только первые 3 слова в строке или ФИО? Бывает такое чудо?? Спасибо!Татьяна