Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 19:10   #1
sagitron
Пользователь
 
Регистрация: 06.01.2010
Сообщений: 26
По умолчанию частотный словарь в

Скачал частотный словарь в txt, перекинул в xls вопрос - как удалить с ячейки номер частотный (просто число) при этом не трогая иностранное слово, формулой или другой какой нить программулиной.
Огромное спасибо за помощь
sagitron вне форума Ответить с цитированием
Старый 06.01.2010, 19:13   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Удалить можно формулой или макросом.
Делается это просто.
Если бы Вы сразу выложили файл - уже получили бы готовый макрос.

Без файла ничего конкретного посоветовать не могу, поскольку представления не имею, что такое "частотный словарь"...
EducatedFool вне форума Ответить с цитированием
Старый 06.01.2010, 19:17   #3
sagitron
Пользователь
 
Регистрация: 06.01.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Удалить можно формулой или макросом.
Делается это просто.
Если бы Вы сразу выложили файл - уже получили бы готовый макрос.

Без файла ничего конкретного посоветовать не могу, поскольку представления не имею, что такое "частотный словарь"...
Пожалуйста )
Вложения
Тип файла: rar 4000Французов.rar (47.0 Кб, 27 просмотров)
sagitron вне форума Ответить с цитированием
Старый 06.01.2010, 19:25   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

В данном случае достаточно формулы:
Код:
  Ячейка: B1      Формула  (стиль A1):   =ПСТР(A1;НАЙТИ(". ";A1;1)+2;100)
                  Формула  (стиль R1C1): =ПСТР(RC[-1];НАЙТИ(". ";RC[-1];1)+2;100)
Пример файла:




Можно все сделать и простейшим макросом:

Код:
Sub test()
    Dim cell As Range: Application.ScreenUpdating = False
    Разделитель = ". "
    For Each cell In Range([A1], Range("A" & Rows.Count).End(xlUp)).Cells
        If cell Like "*" & Разделитель & "*" Then cell = Split(cell, Разделитель)(1)
    Next cell
End Sub

Последний раз редактировалось EducatedFool; 06.01.2010 в 19:28.
EducatedFool вне форума Ответить с цитированием
Старый 06.01.2010, 21:02   #5
sagitron
Пользователь
 
Регистрация: 06.01.2010
Сообщений: 26
По умолчанию

Браво, я и сам когда-то мастерил такое (через формулы), написал еще в 2001 в excel расчет зароботной платы для одной огранизации - тоже изучал формулы, тогда ни сном ни духом про 1с не слышали, а моя теща ))) бухгалтер по з/п так она амбарную книгу дней... суток 6 писала я упростил ей жизнь)))

Еще можно вопрос, как зделать формулу или макрос для составления таких вот частотных словарей например итальянский-медицинский:
загоняем в ячейку текст из медецинского журнала на итальянском (чем больше тем лучше, к ячейке привязываем нашу формулу для поиска частотного употребления слов и раставляем по частоте - получится узко профильный частотный словарь, многие скажут СПАСИБКИ
sagitron вне форума Ответить с цитированием
Старый 07.01.2010, 06:23   #6
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

В ячейку загонять?.. Я бы в Word’е всё вычислил — а результат бы загнал в Excel.

И Word’е же реально все точки с пробелом (после частотных показателей) заменить табуляторами, и тогда полученный текст, сразу при вставке его в Excel, разобьётся по двум колонкам. А первую из колонок легко удалить. Или скрыть.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 07.01.2010, 09:45   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
загоняем в ячейку текст из медецинского журнала на итальянском (чем больше тем лучше, к ячейке привязываем нашу формулу для поиска частотного употребления слов и раставляем по частоте - получится узко профильный частотный словарь
В ячейку Excel много текста не загонишь...
Сделать, конечно, можно всё, да и макрос получится несложный.
Но надо знать, где и в каком виде макрос должен искать исходный текст (в каком месте на диске, в каком формате - .txt, .doc, ...)
Какой примерно объём текста? ( 10кБ, 10 Мб, 10Гб )
EducatedFool вне форума Ответить с цитированием
Старый 07.01.2010, 20:07   #8
sagitron
Пользователь
 
Регистрация: 06.01.2010
Сообщений: 26
По умолчанию

Объем не большой будет, взял книгу Виталия Зыкова "Безымянный раб" она у меня и в электронке и в печатном варианте есть - такая себе "библия" (толстая), так вот там порядка 171 т слов, а размер всего 2,6 метра.. э о чем я, а так вот я думаю что будет достаточно (максимум) 2-х книг то есть 300-350 т слов объемом 5 метров для составления частотного словаря руского языка фэнтезийного произведения данного автора.

Формат можно проверочным оставить doc, или на худой конец txt, скачал книгу с инета произведенеия Гюго Notre-Dame de Paris, вот тебе и частотный словарь французкого языкапозапрошлого века.

Чуть не забыл все надо в xls формате, ну или хотябы чтобы его можно было потом туда загнать, а порядковый номер и количество повторяимости слова в отдельных ячейках

Последний раз редактировалось sagitron; 07.01.2010 в 20:10.
sagitron вне форума Ответить с цитированием
Старый 07.01.2010, 20:29   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
получится узко профильный частотный словарь, многие скажут СПАСИБКИ
За "спасибки" делать как-то не очень хочется. Вот если за WebMoney...

Правильно я понял, что макрос должен делать следующее:
  • Выдавать диалоговое окно выбора файла DOC
  • После выбора файла считывать из него ВСЕ слова (без учета форматирования и структуры)
  • Подсчитывать статистику для ВСЕХ слов (даже тех, которые состоят из одной буквы)
  • Создавать новый лист Excel, в котором формировать таблицу из 2 столбцов - "количество слов" и "слово"
  • Сортировать этот список по убыванию количества слов.
EducatedFool вне форума Ответить с цитированием
Старый 07.01.2010, 20:37   #10
sagitron
Пользователь
 
Регистрация: 06.01.2010
Сообщений: 26
По умолчанию

Не вопрос если чисто символически, хотя после праздников и это напряжно думаю к числам 20 реально.

Все правильно вы поняли.
sagitron вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа-Словарь Вершинина Катя Общие вопросы C/C++ 1 11.12.2009 08:31
Словарь.База слов. Chartvit Общие вопросы C/C++ 0 22.11.2009 12:10
Словарь Rebel123 Софт 4 03.07.2009 09:19