Страницы: 1
RSS
Первые совпадающие значения в столбце
 
Добрый день, есть столбец, в который вводят значения к примеру:

21.20.10.149-000001-1-00001-0000000000000
21.20.10.134-000068-1-00001-0000000000000
21.20.10.251-000011-1-00005-0000000000000

Есть ли какая формула без использования макроса, чтобы в ячейке над столбцом выбрались первые совпадающие значения, для этого примера следующее
21.20.10.
Спасибо  :)  
 
Цитата
liptonenochek написал: первые совпадающие значения
Фрагменты значения? Надо пример показывать в файле.
 
vikttur, Да, фрагмент значения. вот к примеру. Может что станет ясно)
 
=ЛЕВБ(B5;9)
Или для стиля ссылок в файле:
=ЛЕВБ(R[1]C;9)
Но в ячейке B4 показано 10 символов, хотя в сообщении просите только 9.
 
vikttur, Задача в том чтобы формула из введенного массива цифр выбирала общие для всех столбцов значения. Общие хоть 9 хоть 10 хоть все 30-40 могут лишь бы они подряд шли.
21.20.10 было потому что из 3 значений в примере были первые эти цифры общие
А в примере на одну больше, потому что у значений на одну больше цифру было общее
Изменено: liptonenochek - 08.10.2019 14:24:18
 
И мы здесь все дружно должны гадать, чего же автор хочет... Это и нужно показвать - данные и желвемый результат.
 
Для всего диапазона самое длинное одинаковое начало. Формула массива вводится одновременным нажатием Ctrl+Shift+Enter:
Код
=ЛЕВБ(B5;МАКС(СТРОКА(1:99)*(МУМНОЖ(ЕСЛИОШИБКА(ПОИСК(ЛЕВБ(B5;СТРОКА(1:99));ТРАНСП(B5:B9)););A5:A9^0)=СЧЁТ(A5:A9))))
 
Светлый, Спасибо! Возможно ли диапазон B5:B9 сделать автоматически расширяемым для последовательно заполненых строк? Чтобы в формуле не сужать или расширять вручную диапазон, а он был зависимым от количества заполненных строк
Изменено: liptonenochek - 09.10.2019 09:09:45
 
Можно такой массивной формулой:
Код
=ЛЕВБ(B5;МАКС(СТРОКА(1:99)*(МУМНОЖ(ЕСЛИОШИБКА(ПОИСК(ЛЕВБ(B5;СТРОКА(1:99));ТРАНСП(СМЕЩ(B5;;;СЧЁТЗ(B5:B999)))););СМЕЩ(A5;;;СЧЁТЗ(B5:B999))^0)=СЧЁТЗ(B5:B999)))) 

*Даже так:

Код
=ЛЕВБ(B5;МАКС(СТРОКА(1:99)*(МУМНОЖ(ЕСЛИОШИБКА(ПОИСК(ЛЕВБ(B5;СТРОКА(1:99));ТРАНСП(B5:B999)););1^A5:A999)=СЧЁТЗ(B5:B999))))
Изменено: Светлый - 09.10.2019 10:22:47
 
Цитата
vikttur написал: данные и желвемый результат
лжеверный результат ;-)
=LEFT(B5;LOOKUP(2;1/(COUNTIF(B5:B9000;LEFT(B5;ROW(1:99))&"*")=COUNTA(B5:B9000));ROW(1:99)))
Изменено: БМВ - 09.10.2019 11:45:43
По вопросам из тем форума, личку не читаю.
 
Светлый,  :) за вашу светлую голову и помощь большое вам Спасибо!
 
А так ещё лучше:
Код
=ЛЕВБ(B5;МАКС(СТРОКА(1:99)*(СЧЁТЕСЛИ(B5:B999;ЛЕВБ(B5;СТРОКА(1:99))&"*")=СЧЁТЗ(B5:B999))))
 
Цитата
Светлый написал:
А так ещё лучше
вопрос спорный, короче - да, но и массивнее и lookup быстрая.
По вопросам из тем форума, личку не читаю.
 
Затягивает:
Код
=ЛЕВБ(B5;ПОИСКПОЗ(;-(СЧЁТЕСЛИ(B5:B999;ЛЕВБ(B5;СТРОКА(1:99))&"*")=СЧЁТЗ(B5:B999));)-1) 

*

Код
=ЛЕВБ(B5;ПОИСКПОЗ(1;1/(СЧЁТЕСЛИ(B5:B999;ЛЕВБ(B5;СТРОКА(1:99))&"*")=СЧЁТЗ(B5:B999)))) 

и "медленная":

Код
=ЛЕВБ(B5;ПОИСКПОЗ(1;1/(СЧЁТЕСЛИ(B:B;ЛЕВБ(B5;СТРОКА(1:99))&"*")=СЧЁТЗ(B:B)-2)))
Изменено: Светлый - 09.10.2019 12:39:54
 
Светлый, Бревна подогнать? :-)

Последняя "не медленная" зацикленная, если говорить о примере где результат именно в В
Изменено: БМВ - 09.10.2019 13:29:36
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Последняя "не медленная" зацикленная,
Да, увлёкся  :) . Даже брёвна не помогли. Формула должна быть в другом столбце. Спасибо,  БМВ.
 
Воспользовался формулой Светлый, работало так хорошо что даже забыл ответить, сразу побежал работать)
Код
=ЛЕВБ(B5;МАКС(СТРОКА(1:99)*(МУМНОЖ(ЕСЛИОШИБКА(ПОИСК(ЛЕВБ(B5;СТРОКА(1:99));ТРАНСП(СМЕЩ(B5;;;СЧЁТЗ(B5:B99)))););СМЕЩ(A5;;;СЧЁТЗ(B5:B99))^0)=СЧЁТЗ(B5:B99))))
Страницы: 1
Наверх