Такие таблицы я обрабатываю вручную, но сейчас в работе столкнулся с объемом, который невозможно обработать вручную, поэтому прошу вашей помощи.
Итак алгоритм моей работы: Я работаю с книгами, информация в которых на листе находится в двух столбцах. Столбец 1 - комбинация слов. Некоторые последующие строки в столбце 1 повторяют предыдущие.
В приложенном файле( www.hayabusa-club.ru/macros.xls ) в ячейке B5 словосочетание(последующее слово) включает в себя слово, находящееся в ячейке B4(включаемое слово), а ячейка B8 включает в себя B5 и B4. По аналогии B15 включает в себя B7 и т.д. Заметьте, что ячейка B14 включает слова, находящиеся в ячейке B13, но слова находятся в другом порядке. Порядок слов не имеет значения.
Все включаемые слова я выделяю серым шрифтом. Я делаю эту операцию сверху-вниз по возрастанию номера строки. Таким образом все неотформатированные слова после моей работы являются уникальными.
В столбце Е форматом показан желаемый результат.
Столбец 2 - числовой показатель Каждое слово имеет числовой показатель, который указан в ячейке справа. Мой алгоритм подразумевает применение формата только в случае, если числовой показатель последующего слова равен или более 30% числового показателя включаемого слова.
Пожалуйста помогите с составлением макроса, который может выполнять эту работу автоматически.
Заранее спасибо, С уважением, Виктор.
Здравствуйте, уважаемые форумчане.
Такие таблицы я обрабатываю вручную, но сейчас в работе столкнулся с объемом, который невозможно обработать вручную, поэтому прошу вашей помощи.
Итак алгоритм моей работы: Я работаю с книгами, информация в которых на листе находится в двух столбцах. Столбец 1 - комбинация слов. Некоторые последующие строки в столбце 1 повторяют предыдущие.
В приложенном файле( www.hayabusa-club.ru/macros.xls ) в ячейке B5 словосочетание(последующее слово) включает в себя слово, находящееся в ячейке B4(включаемое слово), а ячейка B8 включает в себя B5 и B4. По аналогии B15 включает в себя B7 и т.д. Заметьте, что ячейка B14 включает слова, находящиеся в ячейке B13, но слова находятся в другом порядке. Порядок слов не имеет значения.
Все включаемые слова я выделяю серым шрифтом. Я делаю эту операцию сверху-вниз по возрастанию номера строки. Таким образом все неотформатированные слова после моей работы являются уникальными.
В столбце Е форматом показан желаемый результат.
Столбец 2 - числовой показатель Каждое слово имеет числовой показатель, который указан в ячейке справа. Мой алгоритм подразумевает применение формата только в случае, если числовой показатель последующего слова равен или более 30% числового показателя включаемого слова.
Пожалуйста помогите с составлением макроса, который может выполнять эту работу автоматически.
Андрей, ты не прав. Викт0р файл всё-таки выложил на www.hayabusa-club.ru/macros.xls Он просто не оформил ссылку тэгами, поэтому ты её и не заметил. Но описание в старт-топике такое запутанное... Что-то пока башка не варит. никак не въеду, что надо.
Андрей, ты не прав. Викт0р файл всё-таки выложил на www.hayabusa-club.ru/macros.xls Он просто не оформил ссылку тэгами, поэтому ты её и не заметил. Но описание в старт-топике такое запутанное... Что-то пока башка не варит. никак не въеду, что надо.Alex_ST
Скачал файл. Не понял принципа закраски... Вставил в таблицу рамку с текстом из старт-поста. Думал, что смогу понять алгоритм, глядя одновременно на данные и описание... Наивный Мой интеллект пасует. Может быть автор как-то перефразирует задание или найдётся какой-нибудь толкователь... Я-пас.
Скачал файл. Не понял принципа закраски... Вставил в таблицу рамку с текстом из старт-поста. Думал, что смогу понять алгоритм, глядя одновременно на данные и описание... Наивный Мой интеллект пасует. Может быть автор как-то перефразирует задание или найдётся какой-нибудь толкователь... Я-пас.Alex_ST
ага. скачал. второй столбец всегда отсортирован по убыванию?
насколько я понял задачу - алгоритм до безобразия простой. берем очередное значение в ячейке ("эталон") и запоминаем его "вес" (число) разбиваем на части split'ом идем по списку ниже (если отсортировано - до то "30%", иначе - до конца + проверка в каждой строке) для каждой строки split значения, сравнение полученного массива с "эталоном". если все элементы "эталона" есть в текущем массиве, красим "эталон" серым и переходим к следующему эталону.
5 строк на весь алгоритм. сравните с "многабукаф" исх. поста - "почувствуйте разницу" (с)
ага. скачал. второй столбец всегда отсортирован по убыванию?
насколько я понял задачу - алгоритм до безобразия простой. берем очередное значение в ячейке ("эталон") и запоминаем его "вес" (число) разбиваем на части split'ом идем по списку ниже (если отсортировано - до то "30%", иначе - до конца + проверка в каждой строке) для каждой строки split значения, сравнение полученного массива с "эталоном". если все элементы "эталона" есть в текущем массиве, красим "эталон" серым и переходим к следующему эталону.
5 строк на весь алгоритм. сравните с "многабукаф" исх. поста - "почувствуйте разницу" (с) ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Сообщение отредактировал ikki - Суббота, 12.01.2013, 22:31
Дата: Воскресенье, 13.01.2013, 07:15 |
Сообщение № 20
Группа: Гости
Ikki, здравствуйте.
Спасибо, что откликнулись.
Второй столбец всегда отсортирован по убыванию? - Да.
Берем очередное значение в ячейке ("эталон") и запоминаем его "вес" (число), разбиваем на части split'ом(если это разбивка на слова, то правильно, 1 слово = 1 часть)
Идем по списку ниже, (если отсортировано - до то "30%", иначе - до конца + проверка в каждой строке), для каждой строки split значения, сравнение полученного массива с "эталоном". если все элементы "эталона" есть в текущем массиве, красим "эталон" серым и переходим к следующему эталону. - Я гуманитарий, но все вроде описано правильно.
5 строк на весь алгоритм. сравните с "многабукаф" исх. поста - "почувствуйте разницу" (с)
Копирайт оставляю за вами. ))
Ikki, здравствуйте.
Спасибо, что откликнулись.
Второй столбец всегда отсортирован по убыванию? - Да.
Берем очередное значение в ячейке ("эталон") и запоминаем его "вес" (число), разбиваем на части split'ом(если это разбивка на слова, то правильно, 1 слово = 1 часть)
Идем по списку ниже, (если отсортировано - до то "30%", иначе - до конца + проверка в каждой строке), для каждой строки split значения, сравнение полученного массива с "эталоном". если все элементы "эталона" есть в текущем массиве, красим "эталон" серым и переходим к следующему эталону. - Я гуманитарий, но все вроде описано правильно.
5 строк на весь алгоритм. сравните с "многабукаф" исх. поста - "почувствуйте разницу" (с)