Несколько десятков столбцов, скажем от A до AZ, в которых выставляются символы (у, в, Н, Д). Высота столбцов фиксирована - в диапазоне строк от 1 до 31. Символы в столбцах выставляются посуточно.
Что нужно:
1. "Решение", которое может указывать, в каком столбике над указанной строкой есть блок из 7 одинаковых по вертикали символов (Н или Д). Блок - это слитное по вертикали положение, например, ННННННН. Именно в привязке к указываемой строке, т.е. если указываем строку 27, то "решение" ищет и указывает № столбца, где непосредственно над 27-й строкой есть блок из 7 одинаковых символов. Пропускает блок из 5-6 символов, а 7 уже указывает. Обратите внимание, важно не наличие такого блока между 27-й и 1-й строками, т.е. в диапазоне. Ищет строго "прилипший" над строкой блок- задаётся 24-я строка, то "на" ней, 26-я - тоже строго "на" ней. 2. Поскольку у меня такие массивы на нескольких листах и в нескольких книгах, то желательно чтобы: а) при открытии книги с листами массива "решение" находило (если есть) такой блок и указывало № столбца, б) если а) невозможно, то выполнялся бы поиск непосредственно на листе.
Собственно просьба
Не хотелось, чтобы вы думали за меня! Если кто-то подскажет верное решение - огромное спасибо, но мне важнее самому разобраться, дабы потом самостоятельно проводить отладку "решения" или подстраивать его под специфику таблиц. Поэтому больше прошу посоветовать в каких функциях поискать/почитать, если это решается через функцию. Либо, если это уже в плоскости VBA, то про какие макросы и их команды поискать информацию. Я сам не программист, но, честно говоря, увлекает самостоятельный поиск решений. К тому же если кто-то укажет какое-то средство - всё равно нужно будет его понять и усвоить.
Добрый день!
Что имеем:
Несколько десятков столбцов, скажем от A до AZ, в которых выставляются символы (у, в, Н, Д). Высота столбцов фиксирована - в диапазоне строк от 1 до 31. Символы в столбцах выставляются посуточно.
Что нужно:
1. "Решение", которое может указывать, в каком столбике над указанной строкой есть блок из 7 одинаковых по вертикали символов (Н или Д). Блок - это слитное по вертикали положение, например, ННННННН. Именно в привязке к указываемой строке, т.е. если указываем строку 27, то "решение" ищет и указывает № столбца, где непосредственно над 27-й строкой есть блок из 7 одинаковых символов. Пропускает блок из 5-6 символов, а 7 уже указывает. Обратите внимание, важно не наличие такого блока между 27-й и 1-й строками, т.е. в диапазоне. Ищет строго "прилипший" над строкой блок- задаётся 24-я строка, то "на" ней, 26-я - тоже строго "на" ней. 2. Поскольку у меня такие массивы на нескольких листах и в нескольких книгах, то желательно чтобы: а) при открытии книги с листами массива "решение" находило (если есть) такой блок и указывало № столбца, б) если а) невозможно, то выполнялся бы поиск непосредственно на листе.
Собственно просьба
Не хотелось, чтобы вы думали за меня! Если кто-то подскажет верное решение - огромное спасибо, но мне важнее самому разобраться, дабы потом самостоятельно проводить отладку "решения" или подстраивать его под специфику таблиц. Поэтому больше прошу посоветовать в каких функциях поискать/почитать, если это решается через функцию. Либо, если это уже в плоскости VBA, то про какие макросы и их команды поискать информацию. Я сам не программист, но, честно говоря, увлекает самостоятельный поиск решений. К тому же если кто-то укажет какое-то средство - всё равно нужно будет его понять и усвоить.mick-77
Коли Вы потом самостоятельно разбираться хотите, то в одну формулу сувать все не стал - уж больно она заковыристая получается (да и не стал я ее дожимать, как увидел то, что выходит). А вот вариант с доп. строкой вполне себе нагляден и не так уж и сложен.
Коли Вы потом самостоятельно разбираться хотите, то в одну формулу сувать все не стал - уж больно она заковыристая получается (да и не стал я ее дожимать, как увидел то, что выходит). А вот вариант с доп. строкой вполне себе нагляден и не так уж и сложен._Boroda_
С моего уровня "подготовишки" не могу не сказать восхищённо: гениально!
Единственно, хочу денёк другой "повертеть" Ваше решение на предмет собственного осмысления и адаптации к моим таблицам. А там, если что, спрошу Вашего совета.
Ёще раз - Спасибо!
Ох, спасибо Вам огромное, _Boroda_!!!
С моего уровня "подготовишки" не могу не сказать восхищённо: гениально!
Единственно, хочу денёк другой "повертеть" Ваше решение на предмет собственного осмысления и адаптации к моим таблицам. А там, если что, спрошу Вашего совета.
вариант с UDF из плюшек: - никакой доп. строки; - никаких летучих функций типа СМЕЩ; - ввод формулой массива сразу в нужное кол-во ячеек; - возможность легко менять необходимое число совпадений; - возможность легко менять нужные символы для поиска; - простой и понятный синтаксис.
вариант с UDF из плюшек: - никакой доп. строки; - никаких летучих функций типа СМЕЩ; - ввод формулой массива сразу в нужное кол-во ячеек; - возможность легко менять необходимое число совпадений; - возможность легко менять нужные символы для поиска; - простой и понятный синтаксис.
Чувствую, "литр" для вашего стола надо хлопотать мне!..
Спасибо, что уделили своё внимание и время!
Единственно, хочу спросить вот о чём. Начал разбираться в ваших решениях, Александр "_Boroda_" и Александр "ikki", пытаясь подладить это под свои нужды. Как уже говорил, таблиц у меня много, причём они в большинстве своём "разнокалиберные". Мозгов, разумеется, у меня на данный момент нет, чтобы ваши решения беспроблемно внедрить в своё "хозяйство". А вновь задавать вопросы уже по отладке, считаю, бессовестным. Вы и так указали мне цель. Накачал разных книжек, в т.ч. по VBA, для более основательного изучения вопроса. Поскольку обучающей и справочной "инфы" в сети много, то хотел бы посоветоваться у вас, можете ли на память назвать заслуживающий внимания материал (для новичка)? Специфику моего, так сказать, "научного направления", надеюсь, вы уже поняли - поиск и анализ разного рода комбинаций символов в таблицах.
Чувствую, "литр" для вашего стола надо хлопотать мне!..
Спасибо, что уделили своё внимание и время!
Единственно, хочу спросить вот о чём. Начал разбираться в ваших решениях, Александр "_Boroda_" и Александр "ikki", пытаясь подладить это под свои нужды. Как уже говорил, таблиц у меня много, причём они в большинстве своём "разнокалиберные". Мозгов, разумеется, у меня на данный момент нет, чтобы ваши решения беспроблемно внедрить в своё "хозяйство". А вновь задавать вопросы уже по отладке, считаю, бессовестным. Вы и так указали мне цель. Накачал разных книжек, в т.ч. по VBA, для более основательного изучения вопроса. Поскольку обучающей и справочной "инфы" в сети много, то хотел бы посоветоваться у вас, можете ли на память назвать заслуживающий внимания материал (для новичка)? Специфику моего, так сказать, "научного направления", надеюсь, вы уже поняли - поиск и анализ разного рода комбинаций символов в таблицах.mick-77
mick-77, не стесняйтесь Вы так уж сильно тут некоторые люди месяцами и годами обращаются с вопросами - и ничего. имхо, давайте ещё несколько Ваших вариантов. посмотрим, посоветуем.
а книжку я ни одну так и не дочитал. многабукафпотомушто. да и запятых навалом.
mick-77, не стесняйтесь Вы так уж сильно тут некоторые люди месяцами и годами обращаются с вопросами - и ничего. имхо, давайте ещё несколько Ваших вариантов. посмотрим, посоветуем.
а книжку я ни одну так и не дочитал. многабукафпотомушто. да и запятых навалом.ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Воскресенье, 29.06.2014, 20:50
Спасибо, однако это уже будет для меня перебором просить тут на форуме научить тому, как работать с функцией или кодом (скопировать готовое решение без "косяков", поменять переменные, изменить адресацию к строкам). В любом случае, общаясь тут и получая советы (и даже готовые решения), я обязан "въезжать" в тему, хотя бы на базовом уровне. Иначе, как говорил незабвенный Остап Ибрагимович в "Золотом телёнке", мои добрые мулаты просто не будут меня уважать.
Ну, честно говоря, Вашим великодушием и живу!.. Спасибо!
Итак, позвольте продолжить. Привлёк вариант с UDF, поскольку для моих задумок, я так понял, без VBA, скорее всего, не обойтись.
исходные данные - такие же.
вопрос
Возможно ли решение, когда код (или программа), что Вы написали для моего "примера", находится в отдельной книге, но может искать блоки символов на листах других книг? Пусть даже для этого надо будет обязательно открывать помимо этой, назовём её, "поисковой книги", собственно, сами таблицы с символами.
пояснение
Чтобы не перегружать Ваше внимание своими таблицами, используем для понимания уже загруженную книгу "пример". Допустим, что у меня будет порядка десяти подобных книг, и в каждой такой книге будет несколько листов с таблицами, как в "примере". Так вот, думаю создать эту самую "поисковую книгу", каждый лист которой "курирует" конкретную книгу-исходник (с таблицами). Для этого на каждом листе "поисковой книги" располагаются столько разработанных Вами "поисковых окошек", сколько листов в конкретной книге-исходнике. Т.е. мой алгоритм: 1. открываю "поисковую книгу", лист 1 2. открываю книгу-исходник "пример 1" 3. на листе 1 "поисковой книги" по очереди, в отдельных "окошках" (для каждого листа книги "пример 1"), задаю № строки на поиск блока символов 4. анализирую 5. закрываю книгу-исходник "пример 1" 6. перехожу на лист 2 "поисковой книги" 7. открываю книгу-исходник "пример 2"... ... И так, пока не проверю все книги-исходники. Вот такая конструкция мне представляется. Буду рад Вашему совету.
Спасибо, однако это уже будет для меня перебором просить тут на форуме научить тому, как работать с функцией или кодом (скопировать готовое решение без "косяков", поменять переменные, изменить адресацию к строкам). В любом случае, общаясь тут и получая советы (и даже готовые решения), я обязан "въезжать" в тему, хотя бы на базовом уровне. Иначе, как говорил незабвенный Остап Ибрагимович в "Золотом телёнке", мои добрые мулаты просто не будут меня уважать.
Ну, честно говоря, Вашим великодушием и живу!.. Спасибо!
Итак, позвольте продолжить. Привлёк вариант с UDF, поскольку для моих задумок, я так понял, без VBA, скорее всего, не обойтись.
исходные данные - такие же.
вопрос
Возможно ли решение, когда код (или программа), что Вы написали для моего "примера", находится в отдельной книге, но может искать блоки символов на листах других книг? Пусть даже для этого надо будет обязательно открывать помимо этой, назовём её, "поисковой книги", собственно, сами таблицы с символами.
пояснение
Чтобы не перегружать Ваше внимание своими таблицами, используем для понимания уже загруженную книгу "пример". Допустим, что у меня будет порядка десяти подобных книг, и в каждой такой книге будет несколько листов с таблицами, как в "примере". Так вот, думаю создать эту самую "поисковую книгу", каждый лист которой "курирует" конкретную книгу-исходник (с таблицами). Для этого на каждом листе "поисковой книги" располагаются столько разработанных Вами "поисковых окошек", сколько листов в конкретной книге-исходнике. Т.е. мой алгоритм: 1. открываю "поисковую книгу", лист 1 2. открываю книгу-исходник "пример 1" 3. на листе 1 "поисковой книги" по очереди, в отдельных "окошках" (для каждого листа книги "пример 1"), задаю № строки на поиск блока символов 4. анализирую 5. закрываю книгу-исходник "пример 1" 6. перехожу на лист 2 "поисковой книги" 7. открываю книгу-исходник "пример 2"... ... И так, пока не проверю все книги-исходники. Вот такая конструкция мне представляется. Буду рад Вашему совету.mick-77