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

Вход

Регистрация

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

 

= Мир MS Excel/Простая метрика сходства текстовых строк - Страница 7 - Мир MS Excel

Старая форма входа
Модератор форума: _Boroda_, китин  
Простая метрика сходства текстовых строк
Паттттт Дата: Пятница, 21.09.2012, 16:37 | Сообщение № 121
Группа: Заблокированные
Ранг: Новичок
Сообщений: 43
Репутация: -17 ±
Замечаний: 100% ±

Quote (Формуляр)
Принципы "просто" не объединяются.
Разные подходы дают разные метрики.
По длине больше подходит огурец, а по толщине - баклажан. И как их дальше объединять?Формуляр

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

Внимательнее прочитай мой последний пост, и полностью. Я там сказал, как объединять принципы (что должно быть в общей функции).

Автор - Паттттт
Дата добавления - 21.09.2012 в 16:37
KuklP Дата: Вторник, 25.09.2012, 05:35 | Сообщение № 122
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Quote (Паттттт)
Как я уже писал, я очень плохо разбираюсь в VBA
Паттттт, тогда Вам в этой теме вообще нечего делать. Вы достали всех своей навязчивостью. Этот раздел не предназначен для размещения частных заказов.
Увижу еще одно(любое!) Ваше сообщение в этой теме - получите минус и от меня.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Quote (Паттттт)
Как я уже писал, я очень плохо разбираюсь в VBA
Паттттт, тогда Вам в этой теме вообще нечего делать. Вы достали всех своей навязчивостью. Этот раздел не предназначен для размещения частных заказов.
Увижу еще одно(любое!) Ваше сообщение в этой теме - получите минус и от меня.

Автор - KuklP
Дата добавления - 25.09.2012 в 05:35
Alex_ST Дата: Вторник, 25.09.2012, 11:03 | Сообщение № 123
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Вообще-то, конечно, тут 95% мусора начиная с ЭТОГО поста
Но среди мусора есть и пара-тройка нужных вещей:
ЭТО от Формуляра (за исключением первых строк с цитатами Праттт'a)
ЭТО, ЭТО от него же
А остальное - в помойку.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВообще-то, конечно, тут 95% мусора начиная с ЭТОГО поста
Но среди мусора есть и пара-тройка нужных вещей:
ЭТО от Формуляра (за исключением первых строк с цитатами Праттт'a)
ЭТО, ЭТО от него же
А остальное - в помойку.

Автор - Alex_ST
Дата добавления - 25.09.2012 в 11:03
Serge_007 Дата: Вторник, 25.09.2012, 11:30 | Сообщение № 124
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
тут 95% мусора начиная с ЭТОГО поста

Quote (Alex_ST)
остальное - в помойку.
Я так не считаю


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
тут 95% мусора начиная с ЭТОГО поста

Quote (Alex_ST)
остальное - в помойку.
Я так не считаю

Автор - Serge_007
Дата добавления - 25.09.2012 в 11:30
Паттттт Дата: Вторник, 25.09.2012, 13:35 | Сообщение № 125
Группа: Заблокированные
Ранг: Новичок
Сообщений: 43
Репутация: -17 ±
Замечаний: 100% ±

Quote (Паттттт)
Я думаю, что надо, чтобы в функции реализовывался принцип сравнения по:
1. сравнение на предмет полного совпадениятекста в стоблцах;
2. если не совпало - принципы анализа по дидам (с выборным Q как у Вас, Формуляр), по ключевым словам (у Вас, Формуляр), первым 3-4 и/или последним 3-4 буквам каждого текста (т.е. поиск искомого текста в столбце по его первым или последним буквам (в количестве 3-4, можно сделать выборную переменную), по словам (ну например северо-запад ищется поочереди сначала по слову север, затем - по слову запад), по расшифровке (МГУ надо искать как по сокращённому варианту (МГУ), так и по полному (Московский Государственный Университет)(с учётом падежей), с возможностью поиска по точному сопадению искомого слова со словом из столбца, в котором ищем (скажем если мы ищем КС, то нужно иметь возможность задать совпадение так, чтобы оно совпало с ООО "КС", а не с, например, ОАО "Ксенофон"), с отбросом в обоих текстах (искомом и столбце, в котором ищем) знаков препинания и лишних пробелов (т.е. фразы сравниваются так, будто в них удалены все знаки препинания и лишние пробелы).
Вы же всё-равно пишете, что все решения надо дорабатывать.
Может что-то получится с учётом моего мнения.Паттттт

И чем вам не нравится это мнение?
 
Ответить
Сообщение
Quote (Паттттт)
Я думаю, что надо, чтобы в функции реализовывался принцип сравнения по:
1. сравнение на предмет полного совпадениятекста в стоблцах;
2. если не совпало - принципы анализа по дидам (с выборным Q как у Вас, Формуляр), по ключевым словам (у Вас, Формуляр), первым 3-4 и/или последним 3-4 буквам каждого текста (т.е. поиск искомого текста в столбце по его первым или последним буквам (в количестве 3-4, можно сделать выборную переменную), по словам (ну например северо-запад ищется поочереди сначала по слову север, затем - по слову запад), по расшифровке (МГУ надо искать как по сокращённому варианту (МГУ), так и по полному (Московский Государственный Университет)(с учётом падежей), с возможностью поиска по точному сопадению искомого слова со словом из столбца, в котором ищем (скажем если мы ищем КС, то нужно иметь возможность задать совпадение так, чтобы оно совпало с ООО "КС", а не с, например, ОАО "Ксенофон"), с отбросом в обоих текстах (искомом и столбце, в котором ищем) знаков препинания и лишних пробелов (т.е. фразы сравниваются так, будто в них удалены все знаки препинания и лишние пробелы).
Вы же всё-равно пишете, что все решения надо дорабатывать.
Может что-то получится с учётом моего мнения.Паттттт

И чем вам не нравится это мнение?

Автор - Паттттт
Дата добавления - 25.09.2012 в 13:35
Serge_007 Дата: Вторник, 25.09.2012, 13:43 | Сообщение № 126
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Паттттт, я делаю последнее предупреждение.
Если я ещё раз увижу хотя бы один Ваш офф пост, который может вызвать дискуссию, то больше отмены бана Вы не дождётесь


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение Паттттт, я делаю последнее предупреждение.
Если я ещё раз увижу хотя бы один Ваш офф пост, который может вызвать дискуссию, то больше отмены бана Вы не дождётесь

Автор - Serge_007
Дата добавления - 25.09.2012 в 13:43
Паттттт Дата: Вторник, 25.09.2012, 16:24 | Сообщение № 127
Группа: Заблокированные
Ранг: Новичок
Сообщений: 43
Репутация: -17 ±
Замечаний: 100% ±

Ок.


Сообщение отредактировал Паттттт - Вторник, 25.09.2012, 16:26
 
Ответить
СообщениеОк.

Автор - Паттттт
Дата добавления - 25.09.2012 в 16:24
n158 Дата: Понедельник, 22.10.2012, 12:05 | Сообщение № 128
Группа: Гости
Здравствуйсте, уважаемые, вы тут конечно хороших вещей понавыписывали, но мне понадобилось получить результат сравнения не в виде одной строчки, а все возможные совпадения с определенным процентом. Допустим, пишется Имя Фамилия, и необходимо найти все совпадения, для которых процент похожести 99-97%.
Пример списка:
 
Ответить
СообщениеЗдравствуйсте, уважаемые, вы тут конечно хороших вещей понавыписывали, но мне понадобилось получить результат сравнения не в виде одной строчки, а все возможные совпадения с определенным процентом. Допустим, пишется Имя Фамилия, и необходимо найти все совпадения, для которых процент похожести 99-97%.
Пример списка:

Автор - n158
Дата добавления - 22.10.2012 в 12:05
Формуляр Дата: Понедельник, 22.10.2012, 12:52 | Сообщение № 129
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Ну и в чём проблема?
Берёте TextSimilarity() (или любую другую метрику) для каждой пары, потом фильтруйте как хотите.


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеНу и в чём проблема?
Берёте TextSimilarity() (или любую другую метрику) для каждой пары, потом фильтруйте как хотите.

Автор - Формуляр
Дата добавления - 22.10.2012 в 12:52
n158 Дата: Понедельник, 22.10.2012, 15:33 | Сообщение № 130
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 1 ±
Замечаний: 0% ±

Вот что у меня получилось (см. архив). Надеюсь, кто-нибудь из экспертов сможет предложить варианты по улучшению процесса. А то перебирать 7000 вариантов вручную мне очень не хочется. Дело в том, что в списке довольно много неправильных фамилий, отличающихся от правильной только на одну букву. Хотелось бы найти такие фамилии и избавиться от них.

Файл слишком большой, добавил через обменник: https://rapidshare.com/files/515696453/4611638.7z


Кто ищет, тот найдет.
Office 2007 RU Portable


Сообщение отредактировал n158 - Понедельник, 22.10.2012, 15:52
 
Ответить
СообщениеВот что у меня получилось (см. архив). Надеюсь, кто-нибудь из экспертов сможет предложить варианты по улучшению процесса. А то перебирать 7000 вариантов вручную мне очень не хочется. Дело в том, что в списке довольно много неправильных фамилий, отличающихся от правильной только на одну букву. Хотелось бы найти такие фамилии и избавиться от них.

Файл слишком большой, добавил через обменник: https://rapidshare.com/files/515696453/4611638.7z

Автор - n158
Дата добавления - 22.10.2012 в 15:33
Формуляр Дата: Понедельник, 22.10.2012, 16:07 | Сообщение № 131
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Quote (n158)
в списке довольно много неправильных фамилий, отличающихся от правильной только на одну букву. Хотелось бы найти такие фамилии и избавиться от них.
Как определить, какие "правильные", а какие нет?
Файл с обменника качать не могу. 7000 фамилий никому не нужны. Сделайте короткий пример с описанием нужного результата и принципа работыи выкладывайте сюда.


Excel 2003 EN, 2013 EN
 
Ответить
Сообщение
Quote (n158)
в списке довольно много неправильных фамилий, отличающихся от правильной только на одну букву. Хотелось бы найти такие фамилии и избавиться от них.
Как определить, какие "правильные", а какие нет?
Файл с обменника качать не могу. 7000 фамилий никому не нужны. Сделайте короткий пример с описанием нужного результата и принципа работыи выкладывайте сюда.

Автор - Формуляр
Дата добавления - 22.10.2012 в 16:07
n158 Дата: Понедельник, 22.10.2012, 16:58 | Сообщение № 132
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 1 ±
Замечаний: 0% ±

В том то и дело, что определять надо на глаз. Коэффициент похожести может быть от 0.4 до 0.99, поэтому хотелось бы получить несколько вероятных значений. Для определения правильности я прикрутил ссылки на гугл. Например, фамилии Черкасов и Чераксов. Коэффициент 0.4444, после проверки в гугле, видим, что это один и тот-же автор. Я думаю, что для эффективной работы необходимо для каждой строчки получить 15 первых значений, отсортированных по коэффициенту похожести. Осталось придумать, как это реализовать, чтобы не надо было бы каждый раз значение в поле поиска вписывать и сортировать потом.
К сообщению приложен файл: dupkoeff.zip (78.0 Kb)


Кто ищет, тот найдет.
Office 2007 RU Portable
 
Ответить
СообщениеВ том то и дело, что определять надо на глаз. Коэффициент похожести может быть от 0.4 до 0.99, поэтому хотелось бы получить несколько вероятных значений. Для определения правильности я прикрутил ссылки на гугл. Например, фамилии Черкасов и Чераксов. Коэффициент 0.4444, после проверки в гугле, видим, что это один и тот-же автор. Я думаю, что для эффективной работы необходимо для каждой строчки получить 15 первых значений, отсортированных по коэффициенту похожести. Осталось придумать, как это реализовать, чтобы не надо было бы каждый раз значение в поле поиска вписывать и сортировать потом.

Автор - n158
Дата добавления - 22.10.2012 в 16:58
Формуляр Дата: Понедельник, 22.10.2012, 17:23 | Сообщение № 133
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Для поиска совпадений с образцом используем TextSimilarity() в асимметричном режиме:
TextSimilarity(образец, целевая ст-ка, , 1)
в константах модуля TextSim коэфф-т F = 0
Quote (n158)
для эффективной работы необходимо для каждой строчки получить 15 первых значений, отсортированных по коэффициенту похожести.
Похожести на что?
На остальные 7000 строк? Что это даст? Как вы 15*7000 значений анализировать собираетесь?
К сообщению приложен файл: dupkoeff.rar (54.6 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Понедельник, 22.10.2012, 17:25
 
Ответить
СообщениеДля поиска совпадений с образцом используем TextSimilarity() в асимметричном режиме:
TextSimilarity(образец, целевая ст-ка, , 1)
в константах модуля TextSim коэфф-т F = 0
Quote (n158)
для эффективной работы необходимо для каждой строчки получить 15 первых значений, отсортированных по коэффициенту похожести.
Похожести на что?
На остальные 7000 строк? Что это даст? Как вы 15*7000 значений анализировать собираетесь?

Автор - Формуляр
Дата добавления - 22.10.2012 в 17:23
n158 Дата: Понедельник, 22.10.2012, 17:29 | Сообщение № 134
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 1 ±
Замечаний: 0% ±

Необходимо понять, как я ищу сходства: без выборки мне пришлось сравнивать каждый файл с 7к файлов (т.е. 7к*7к), а после выборки 15 файлов, каждый файл сравнивается только с 15 файлами (7к*15). Надеюсь, так понятней.

К самому алгоритму поиска претензий нету. Все, что мне нужно, это получить для каждой строчки отдельный массив из 15-ти записей, отсортированных от максимального коэффициента к минимальному.

Quote (Формуляр)
Похожести на что? На остальные 7000 строк?

Именно так. В принципе, сортировка уже реализована в зачаточном виде в приложенном файле. Необходимо только реализовать автоматику.


Кто ищет, тот найдет.
Office 2007 RU Portable


Сообщение отредактировал n158 - Понедельник, 22.10.2012, 17:57
 
Ответить
СообщениеНеобходимо понять, как я ищу сходства: без выборки мне пришлось сравнивать каждый файл с 7к файлов (т.е. 7к*7к), а после выборки 15 файлов, каждый файл сравнивается только с 15 файлами (7к*15). Надеюсь, так понятней.

К самому алгоритму поиска претензий нету. Все, что мне нужно, это получить для каждой строчки отдельный массив из 15-ти записей, отсортированных от максимального коэффициента к минимальному.

Quote (Формуляр)
Похожести на что? На остальные 7000 строк?

Именно так. В принципе, сортировка уже реализована в зачаточном виде в приложенном файле. Необходимо только реализовать автоматику.

Автор - n158
Дата добавления - 22.10.2012 в 17:29
n158 Дата: Понедельник, 22.10.2012, 21:02 | Сообщение № 135
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 1 ±
Замечаний: 0% ±

Начал разбираться в коде, заметил функцию TxtSimilarityList. Можно ее использовать для вывода результатов на страницу? Если да, то какое значение указывать для переменных topList() и listLim?

Некоторые наработки по моей проблеме:

Запуск продпрограммы кликом на определенную ячейку:

Автоматическая сортировка:


Кто ищет, тот найдет.
Office 2007 RU Portable


Сообщение отредактировал n158 - Понедельник, 22.10.2012, 21:48
 
Ответить
СообщениеНачал разбираться в коде, заметил функцию TxtSimilarityList. Можно ее использовать для вывода результатов на страницу? Если да, то какое значение указывать для переменных topList() и listLim?

Некоторые наработки по моей проблеме:

Запуск продпрограммы кликом на определенную ячейку:

Автоматическая сортировка:

Автор - n158
Дата добавления - 22.10.2012 в 21:02
Формуляр Дата: Понедельник, 22.10.2012, 21:55 | Сообщение № 136
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
TxtSimilarityList стоит использовать, если пишете свой собственный макрос.
А так - есть готовая UDF TxtSimilarityRating:
[vba]
Code
Public Function TxtSimilarityRating(lookup_value As Variant, lookup_array As Variant, _
                      listLim As Integer, Optional minLev As Double = 0) As Integer()
'Формирует список номеров строк, в порядке убывания сходства с образцом
'lookup_value - искомая строка (образец)
'lookup_array - массив поиска
'listLim - максимальная длина заполняемого списка
'minLev - минимальный уровень сходства
[/vba]
Вводить - массивом.

Quote (n158)
Похожести на что? На остальные 7000 строк? Именно так.

И что будет означать отсутствие совпадений? У вас что, все фамилии должны обязательно повторяться?
К сообщению приложен файл: 6871087.rar (44.3 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Понедельник, 22.10.2012, 22:10
 
Ответить
СообщениеTxtSimilarityList стоит использовать, если пишете свой собственный макрос.
А так - есть готовая UDF TxtSimilarityRating:
[vba]
Code
Public Function TxtSimilarityRating(lookup_value As Variant, lookup_array As Variant, _
                      listLim As Integer, Optional minLev As Double = 0) As Integer()
'Формирует список номеров строк, в порядке убывания сходства с образцом
'lookup_value - искомая строка (образец)
'lookup_array - массив поиска
'listLim - максимальная длина заполняемого списка
'minLev - минимальный уровень сходства
[/vba]
Вводить - массивом.

Quote (n158)
Похожести на что? На остальные 7000 строк? Именно так.

И что будет означать отсутствие совпадений? У вас что, все фамилии должны обязательно повторяться?

Автор - Формуляр
Дата добавления - 22.10.2012 в 21:55
n158 Дата: Понедельник, 22.10.2012, 22:31 | Сообщение № 137
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 1 ±
Замечаний: 0% ±

Именно то что я хотел. И сортировка не понадобилась. Осталось прикрутить изменение поисковой фразы при переходе с ячейки на ячейку и можно запускать обработку. Когда закончу, прикреплю, что получилось.


Кто ищет, тот найдет.
Office 2007 RU Portable
 
Ответить
СообщениеИменно то что я хотел. И сортировка не понадобилась. Осталось прикрутить изменение поисковой фразы при переходе с ячейки на ячейку и можно запускать обработку. Когда закончу, прикреплю, что получилось.

Автор - n158
Дата добавления - 22.10.2012 в 22:31
Формуляр Дата: Вторник, 23.10.2012, 10:49 | Сообщение № 138
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Забыл ещё поправить
[vba]
Code
Dim theTopList(1 To 10) As aSmlrtRes
[/vba]на
[vba]
Code
Dim theTopList(1 To 15) As aSmlrtRes
[/vba]в модуле SimText
не думал, что кому-то понадобится столько ...

PS: Можно ещё выставить Q=3 для лучшей избирательности, если там нет фамилий короче 3х букв
Впрочем, если и есть, врядли в них будет много ошибок. smile


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 23.10.2012, 12:09
 
Ответить
СообщениеЗабыл ещё поправить
[vba]
Code
Dim theTopList(1 To 10) As aSmlrtRes
[/vba]на
[vba]
Code
Dim theTopList(1 To 15) As aSmlrtRes
[/vba]в модуле SimText
не думал, что кому-то понадобится столько ...

PS: Можно ещё выставить Q=3 для лучшей избирательности, если там нет фамилий короче 3х букв
Впрочем, если и есть, врядли в них будет много ошибок. smile

Автор - Формуляр
Дата добавления - 23.10.2012 в 10:49
n158 Дата: Вторник, 23.10.2012, 14:12 | Сообщение № 139
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 1 ±
Замечаний: 0% ±

После тестирования оказалось, что 15 записей многовато будет, сократил до 10. Прикрутил автоматизацию, получилось весело. Правда не знаю, как зафиксировать области так, чтобы и результат был постоянно на виду и сортировка по записям работала. Разобрался уже с фиксированием. Сортировка нужна для того, чтобы после удаления записей не было пустых ячеек в массиве. Еще надо приделать кнопку остановки автоматического копирования, иначе трудно будет вставить новые данные (можно вставить, когда макросы отключены или перекинуть из другой колонки).

Фамилии и имена из трех букв и меньше присутствуют, так-что алгоритм не буду менять. Кстати, алгоритм не такой уж и медленный. Для проверки одной строчки по всему списку из 6866 элементов требуется всего 5с, проверял с таймером.

Выкладываю то, что получилось.
К сообщению приложен файл: dupkoeff3.xls.rar (53.9 Kb)


Кто ищет, тот найдет.
Office 2007 RU Portable


Сообщение отредактировал n158 - Вторник, 23.10.2012, 17:21
 
Ответить
СообщениеПосле тестирования оказалось, что 15 записей многовато будет, сократил до 10. Прикрутил автоматизацию, получилось весело. Правда не знаю, как зафиксировать области так, чтобы и результат был постоянно на виду и сортировка по записям работала. Разобрался уже с фиксированием. Сортировка нужна для того, чтобы после удаления записей не было пустых ячеек в массиве. Еще надо приделать кнопку остановки автоматического копирования, иначе трудно будет вставить новые данные (можно вставить, когда макросы отключены или перекинуть из другой колонки).

Фамилии и имена из трех букв и меньше присутствуют, так-что алгоритм не буду менять. Кстати, алгоритм не такой уж и медленный. Для проверки одной строчки по всему списку из 6866 элементов требуется всего 5с, проверял с таймером.

Выкладываю то, что получилось.

Автор - n158
Дата добавления - 23.10.2012 в 14:12
Формуляр Дата: Вторник, 23.10.2012, 15:40 | Сообщение № 140
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Внёс кой-какие полезные, на мой взгляд, дополнения.
Комментарии - в файле
К сообщению приложен файл: dupkoeff3.rar (53.9 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 23.10.2012, 15:40
 
Ответить
СообщениеВнёс кой-какие полезные, на мой взгляд, дополнения.
Комментарии - в файле

Автор - Формуляр
Дата добавления - 23.10.2012 в 15:40
Поиск:

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