Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск блока символов по столбцам массива - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Поиск блока символов по столбцам массива
mick-77 Дата: Пятница, 27.06.2014, 12:41 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день!

Что имеем:

Несколько десятков столбцов, скажем от A до AZ, в которых выставляются символы (у, в, Н, Д). Высота столбцов фиксирована - в диапазоне строк от 1 до 31.
Символы в столбцах выставляются посуточно.

Что нужно:

1. "Решение", которое может указывать, в каком столбике над указанной строкой есть блок из 7 одинаковых по вертикали символов (Н или Д). Блок - это слитное по вертикали положение, например, ННННННН.
Именно в привязке к указываемой строке, т.е. если указываем строку 27, то "решение" ищет и указывает № столбца, где непосредственно над 27-й строкой есть блок из 7 одинаковых символов. Пропускает блок из 5-6 символов, а 7 уже указывает.
Обратите внимание, важно не наличие такого блока между 27-й и 1-й строками, т.е. в диапазоне. Ищет строго "прилипший" над строкой блок- задаётся 24-я строка, то "на" ней, 26-я - тоже строго "на" ней.
2. Поскольку у меня такие массивы на нескольких листах и в нескольких книгах, то желательно чтобы:
а) при открытии книги с листами массива "решение" находило (если есть) такой блок и указывало № столбца,
б) если а) невозможно, то выполнялся бы поиск непосредственно на листе.

Собственно просьба

Не хотелось, чтобы вы думали за меня!
Если кто-то подскажет верное решение - огромное спасибо, но мне важнее самому разобраться, дабы потом самостоятельно проводить отладку "решения" или подстраивать его под специфику таблиц.
Поэтому больше прошу посоветовать в каких функциях поискать/почитать, если это решается через функцию. Либо, если это уже в плоскости VBA, то про какие макросы и их команды поискать информацию.
Я сам не программист, но, честно говоря, увлекает самостоятельный поиск решений. К тому же если кто-то укажет какое-то средство - всё равно нужно будет его понять и усвоить.
К сообщению приложен файл: 1739006.xls (42.5 Kb)


Сообщение отредактировал mick-77 - Пятница, 27.06.2014, 12:44
 
Ответить
СообщениеДобрый день!

Что имеем:

Несколько десятков столбцов, скажем от A до AZ, в которых выставляются символы (у, в, Н, Д). Высота столбцов фиксирована - в диапазоне строк от 1 до 31.
Символы в столбцах выставляются посуточно.

Что нужно:

1. "Решение", которое может указывать, в каком столбике над указанной строкой есть блок из 7 одинаковых по вертикали символов (Н или Д). Блок - это слитное по вертикали положение, например, ННННННН.
Именно в привязке к указываемой строке, т.е. если указываем строку 27, то "решение" ищет и указывает № столбца, где непосредственно над 27-й строкой есть блок из 7 одинаковых символов. Пропускает блок из 5-6 символов, а 7 уже указывает.
Обратите внимание, важно не наличие такого блока между 27-й и 1-й строками, т.е. в диапазоне. Ищет строго "прилипший" над строкой блок- задаётся 24-я строка, то "на" ней, 26-я - тоже строго "на" ней.
2. Поскольку у меня такие массивы на нескольких листах и в нескольких книгах, то желательно чтобы:
а) при открытии книги с листами массива "решение" находило (если есть) такой блок и указывало № столбца,
б) если а) невозможно, то выполнялся бы поиск непосредственно на листе.

Собственно просьба

Не хотелось, чтобы вы думали за меня!
Если кто-то подскажет верное решение - огромное спасибо, но мне важнее самому разобраться, дабы потом самостоятельно проводить отладку "решения" или подстраивать его под специфику таблиц.
Поэтому больше прошу посоветовать в каких функциях поискать/почитать, если это решается через функцию. Либо, если это уже в плоскости VBA, то про какие макросы и их команды поискать информацию.
Я сам не программист, но, честно говоря, увлекает самостоятельный поиск решений. К тому же если кто-то укажет какое-то средство - всё равно нужно будет его понять и усвоить.

Автор - mick-77
Дата добавления - 27.06.2014 в 12:41
_Boroda_ Дата: Пятница, 27.06.2014, 14:26 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16885
Репутация: 6599 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Коли Вы потом самостоятельно разбираться хотите, то в одну формулу сувать все не стал - уж больно она заковыристая получается (да и не стал я ее дожимать, как увидел то, что выходит). А вот вариант с доп. строкой вполне себе нагляден и не так уж и сложен.
К сообщению приложен файл: 1739006_1.xls (64.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКоли Вы потом самостоятельно разбираться хотите, то в одну формулу сувать все не стал - уж больно она заковыристая получается (да и не стал я ее дожимать, как увидел то, что выходит). А вот вариант с доп. строкой вполне себе нагляден и не так уж и сложен.

Автор - _Boroda_
Дата добавления - 27.06.2014 в 14:26
mick-77 Дата: Пятница, 27.06.2014, 14:47 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Ох, спасибо Вам огромное, _Boroda_!!!

С моего уровня "подготовишки" не могу не сказать восхищённо: гениально!

Единственно, хочу денёк другой "повертеть" Ваше решение на предмет собственного осмысления и адаптации к моим таблицам. А там, если что, спрошу Вашего совета.

Ёще раз - Спасибо!
 
Ответить
СообщениеОх, спасибо Вам огромное, _Boroda_!!!

С моего уровня "подготовишки" не могу не сказать восхищённо: гениально!

Единственно, хочу денёк другой "повертеть" Ваше решение на предмет собственного осмысления и адаптации к моим таблицам. А там, если что, спрошу Вашего совета.

Ёще раз - Спасибо!

Автор - mick-77
Дата добавления - 27.06.2014 в 14:47
AlexM Дата: Пятница, 27.06.2014, 15:45 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Да простит меня Александр, за ужатие его формулы для дополнительной строки.
Код
=(СУММПРОИЗВ(--(СМЕЩ(A1;$BD2-8;;7)={"Д";"Н"}))=7)*СТОЛБЕЦ()



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеДа простит меня Александр, за ужатие его формулы для дополнительной строки.
Код
=(СУММПРОИЗВ(--(СМЕЩ(A1;$BD2-8;;7)={"Д";"Н"}))=7)*СТОЛБЕЦ()

Автор - AlexM
Дата добавления - 27.06.2014 в 15:45
mick-77 Дата: Пятница, 27.06.2014, 19:16 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо вам, умные люди, что вот так, как говориться, походя, дарите надежду отчаявшимся!

Хотя, гляжу, тут, как отмечал Штирлиц, идёт игра честолюбий...
В любом случае, спасибо вам!


Сообщение отредактировал mick-77 - Пятница, 27.06.2014, 19:18
 
Ответить
СообщениеСпасибо вам, умные люди, что вот так, как говориться, походя, дарите надежду отчаявшимся!

Хотя, гляжу, тут, как отмечал Штирлиц, идёт игра честолюбий...
В любом случае, спасибо вам!

Автор - mick-77
Дата добавления - 27.06.2014 в 19:16
ikki Дата: Суббота, 28.06.2014, 10:18 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
идёт игра честолюбий...
продолжим, чо! :D

вариант с UDF
из плюшек:
- никакой доп. строки;
- никаких летучих функций типа СМЕЩ;
- ввод формулой массива сразу в нужное кол-во ячеек;
- возможность легко менять необходимое число совпадений;
- возможность легко менять нужные символы для поиска;
- простой и понятный синтаксис.

примеры использования - в файле.
К сообщению приложен файл: udf.mick-77.xls (75.5 Kb)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
идёт игра честолюбий...
продолжим, чо! :D

вариант с UDF
из плюшек:
- никакой доп. строки;
- никаких летучих функций типа СМЕЩ;
- ввод формулой массива сразу в нужное кол-во ячеек;
- возможность легко менять необходимое число совпадений;
- возможность легко менять нужные символы для поиска;
- простой и понятный синтаксис.

примеры использования - в файле.

Автор - ikki
Дата добавления - 28.06.2014 в 10:18
mick-77 Дата: Воскресенье, 29.06.2014, 19:45 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Чувствую, "литр" для вашего стола надо хлопотать мне!..

Спасибо, что уделили своё внимание и время!

Единственно, хочу спросить вот о чём.
Начал разбираться в ваших решениях, Александр "_Boroda_" и Александр "ikki", пытаясь подладить это под свои нужды. Как уже говорил, таблиц у меня много, причём они в большинстве своём "разнокалиберные". Мозгов, разумеется, у меня на данный момент нет, чтобы ваши решения беспроблемно внедрить в своё "хозяйство". А вновь задавать вопросы уже по отладке, считаю, бессовестным. Вы и так указали мне цель.
Накачал разных книжек, в т.ч. по VBA, для более основательного изучения вопроса. Поскольку обучающей и справочной "инфы" в сети много, то хотел бы посоветоваться у вас, можете ли на память назвать заслуживающий внимания материал (для новичка)?
Специфику моего, так сказать, "научного направления", надеюсь, вы уже поняли - поиск и анализ разного рода комбинаций символов в таблицах.
 
Ответить
СообщениеЧувствую, "литр" для вашего стола надо хлопотать мне!..

Спасибо, что уделили своё внимание и время!

Единственно, хочу спросить вот о чём.
Начал разбираться в ваших решениях, Александр "_Boroda_" и Александр "ikki", пытаясь подладить это под свои нужды. Как уже говорил, таблиц у меня много, причём они в большинстве своём "разнокалиберные". Мозгов, разумеется, у меня на данный момент нет, чтобы ваши решения беспроблемно внедрить в своё "хозяйство". А вновь задавать вопросы уже по отладке, считаю, бессовестным. Вы и так указали мне цель.
Накачал разных книжек, в т.ч. по VBA, для более основательного изучения вопроса. Поскольку обучающей и справочной "инфы" в сети много, то хотел бы посоветоваться у вас, можете ли на память назвать заслуживающий внимания материал (для новичка)?
Специфику моего, так сказать, "научного направления", надеюсь, вы уже поняли - поиск и анализ разного рода комбинаций символов в таблицах.

Автор - mick-77
Дата добавления - 29.06.2014 в 19:45
ikki Дата: Воскресенье, 29.06.2014, 20:48 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
mick-77, не стесняйтесь Вы так уж сильно :)
тут некоторые люди месяцами и годами обращаются с вопросами - и ничего.
имхо, давайте ещё несколько Ваших вариантов.
посмотрим, посоветуем.

а книжку я ни одну так и не дочитал. :(
многабукафпотомушто.
да и запятых навалом.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 29.06.2014, 20:50
 
Ответить
Сообщениеmick-77, не стесняйтесь Вы так уж сильно :)
тут некоторые люди месяцами и годами обращаются с вопросами - и ничего.
имхо, давайте ещё несколько Ваших вариантов.
посмотрим, посоветуем.

а книжку я ни одну так и не дочитал. :(
многабукафпотомушто.
да и запятых навалом.

Автор - ikki
Дата добавления - 29.06.2014 в 20:48
mick-77 Дата: Вторник, 01.07.2014, 13:22 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
не стесняйтесь Вы так уж сильно

Спасибо, однако это уже будет для меня перебором просить тут на форуме научить тому, как работать с функцией или кодом (скопировать готовое решение без "косяков", поменять переменные, изменить адресацию к строкам). В любом случае, общаясь тут и получая советы (и даже готовые решения), я обязан "въезжать" в тему, хотя бы на базовом уровне. Иначе, как говорил незабвенный Остап Ибрагимович в "Золотом телёнке", мои добрые мулаты просто не будут меня уважать.
давайте ещё несколько Ваших вариантов

Ну, честно говоря, Вашим великодушием и живу!.. Спасибо!

Итак, позвольте продолжить. Привлёк вариант с 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
Дата добавления - 01.07.2014 в 13:22
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!