Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Автонумерация блоков
 
Добрый день!
Скажите, пожалуйста, можно ли сделать таким образом?
Требуется построчная проверка, если строка начинается с тега BLOCK START, то искать закрывающий тег BLOCK END и проставлять один номер.
Если закрывающего BLOCK END нет, то считать не блоком, а строкой.
Строки между BLOCK END и BLOCK START считать одиночными.
Демо в приложении.
 
Как вариант, в первую ячейку ставим 100, во вторую формулу.
=ЕСЛИ(ЕЧИСЛО(ПОИСК("BLOCK START";B2));C1+1;ЕСЛИ(ЕЧИСЛО(ПОИСК("BLOCK END";B2));C1;C1+1))
 
MMAXX95, то есть если в ячейке есть "BLOCK END", то не прибавляем 1, иначе прибавляем
Код
=C1+1-СЧЁТЕСЛИ(B2;"*block end")
или
=C1+СЧЁТЕСЛИ(B2;"<>*block end")
Изменено: Казанский - 1 Апр 2018 15:07:24
 
AleksSid, Казанский, спасибо вам. Все хорошо, но есть небольшая проблема. Когда между строками, содержащими теги BLOCK START и END, есть одна или больше строк, то нумерация проставляется с ошибкой. У данного блока все строки должны иметь один номер.
BLOCK   START_catalog/344440000.jpg118
catalog/3444400000.jpg119
catalog/37__adg00073_eps_ru_RU_jpg.jpg5.jpg_BLOCK   END119
BLOCK START_catalog/120160000.jpg127
catalog/1201600000.jpg128
catalog/12016000000.jpg129
catalog/120160000000.jpg130
catalog/37__adg00006_eps_ru_RU_jpg.jpg_BLOCK   END130
Изменено: MMAXX95 - 1 Апр 2018 19:51:24
 
Для A2 (A1=100):
=(ПОИСКПОЗ("*D";B2:$B$67;)>ПОИСКПОЗ("B*";B2:$B$67;))+A1
 
Огромное всем спасибо за помощь!
Изменено: MMAXX95 - 2 Апр 2018 00:40:58
Страницы: 1
Читают тему (гостей: 1)