Страницы: 1
RSS
замена определенных чисел в последовательности на другие.
 

Здравствуйте. Не получается составить формулу, при которой бы нули между единицами заменялись бы на единицы. Если нули перед единицей или за единицами, то нулями бы и оставались бы. В Приложенном примере исходные данные в столбце А1:А32, необходимо привести к виду, указанному в столбце В1:В32. В столбце А1:А32 нули в столбце В1:32 заменены единицы. Замена цифр отличных от единицы и нуля не производится. Пробовал решить сам, «нагородил» кучу столбцов с операторами «если», получается, но, так же заменяются нули на единицы в конце, а этого быть не должно. Еще раз повторю условие: нули на единицы, только  те, которые между единицами. Можно не единой формулой, несколькими преобразованиями. Кто сможет помочь?

 
Проблему решил, но много лишних преобразований аж на 9 дополнительных столбцах, хотелось бы одной формулой.
 
Цитата
AMI83 написал: Если нули перед единицей или за единицами...
Строка 9 - перед нулем единица. Почему преобразовываем? Какие еще критерии? Может ли после бОльшего числа (2, 4...) стоять несколько единиц? А если после 2 сразу 0?
 
Код
=ЕСЛИ(В1*Н1;ЕСЛИ(СУММ(ИНДЕКС(C1;В1):ИНДЕКС(C1;Н1))=2;1;RC1);RC1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, Имена похожие на адреса, стиль ссылок в формуле разный, да и формула в файле отличается от формулы в сообщении.
Ребус для начинающих.
Алексей М.
 
Код
=ЕСЛИ(A2=0;--ЕЧИСЛО(ИНДЕКС(A3:A99;ПОИСКПОЗ(1;A3:A99;))*(ПРОСМОТР(2;1/(A$1:A1>0);A$1:A1)=1));A2)
Алексей М.
 
Пообщавшись с Вами, ощущаешь свою ограниченность. Задачка, как сказал АlехМ - это ребус для начинающих. Способ, которым я его решил, не отличается от способа забивания гвоздей микроскопом). Одна проблема, два решения! Благодарю, Вас, откликнувшихся, за отзывчивость!
Изменено: AMI83 - 30.06.2019 12:02:56
 
АlехМ,
имена со смыслом В1 - верхняя 1, Н1 - нижняя 1
Цитата
АlехМ написал:
формула в файле отличается от формулы в сообщении
возможно, главное  что  обе работают)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ну и свои варианты добавлю. Но работает только со второй строки. Формула массива вводится одновременным нажатием Ctrl+Shift+Enter:
Код
=ЕСЛИ(B1*СУММ(A2:ИНДЕКС(A:A;МИН(ЕСЛИ(A2:A99=1;СТРОКА(3:99)))))=1;1;A2) 

Или простая:

Код
=ЕСЛИ(B1*СУММ(A2:ИНДЕКС(A2:A99;ЕСЛИОШИБКА(ПОИСКПОЗ(1;A2:A99;);)))=1;1;A2)
 
Ігор Гончаренко, теперь до меня дошло, ТО), о чем написал АlехМ. Сначала скопировал формулу, не заработало. Посмотрел, нет ли в ячейках "В1" и "Н1" дополнительных формул :) . Потом залез в "диспетчер имен", скопировал все туда из приложенного Вами файла, но на "Лист1", не работает. Скопировал на всю книгу, заработало, но, вместо привычных, буквенных имен столбцов, столбцы переименовались 8-0 , вместо букв - цифры, все - паника, обратил внимание, на исходом файле тоже самое. Почему произошло переименование столбцов??? Окей гугл и понеслось :D . Век живи - век учись. В общем ребус для начинающих.
Страницы: 1
Наверх