Знатоки Excel прошу помочь решить задачу Суть такова, берем слово, вставляем его (не знаю сленг, как все описывать своими словами постараюсь объяснить) в ячейку(в приложенном файле видно), нужно чтоб автоматически вставленный текст, разбился на слова, которые содержаться в этом слове и которые можно составить из набора символом вставленного слова. Что то вроде анаграммы, единственное что нужно, чтоб слова он составлял из словаря заданного пользователем который находится на втором листе(необязательно там).
Словарь будет на иврите, и слова сообственно разбивать будем тоже ивритского происхождения, но думаю это не суть важно
Знатоки Excel прошу помочь решить задачу Суть такова, берем слово, вставляем его (не знаю сленг, как все описывать своими словами постараюсь объяснить) в ячейку(в приложенном файле видно), нужно чтоб автоматически вставленный текст, разбился на слова, которые содержаться в этом слове и которые можно составить из набора символом вставленного слова. Что то вроде анаграммы, единственное что нужно, чтоб слова он составлял из словаря заданного пользователем который находится на втором листе(необязательно там).
Словарь будет на иврите, и слова сообственно разбивать будем тоже ивритского происхождения, но думаю это не суть важноmadstaff
Разбить текст на слова, ориентируясь на пробелы между ними - не проблема. Если слова в тексте не имеют изменяемых окончаний (не склоняются, спрягаются и т.д.), то и выбрать из словаря будет в основном проблема не большая. И всё равно это, конечно, нужно будет делать не формулами, а макросами. Но что Вы будете делать с реальным текстом, в котором каждое слово может иметь несколько "разнописаний"? Вам словарь на все эти случаи придётся несколько лет составлять. Лучше уж воспользоваться интернет-переводчиками. Как это сделать, описано, например, ЗДЕСЬ
Разбить текст на слова, ориентируясь на пробелы между ними - не проблема. Если слова в тексте не имеют изменяемых окончаний (не склоняются, спрягаются и т.д.), то и выбрать из словаря будет в основном проблема не большая. И всё равно это, конечно, нужно будет делать не формулами, а макросами. Но что Вы будете делать с реальным текстом, в котором каждое слово может иметь несколько "разнописаний"? Вам словарь на все эти случаи придётся несколько лет составлять. Лучше уж воспользоваться интернет-переводчиками. Как это сделать, описано, например, ЗДЕСЬAlex_ST
Перевод делать мне не нужно. Окончаний разных тоже не будет.
из набора букв составить слово, как анаграмма
Пример: Камень - אבן оно состоит из двух слов 1.אב - Отец 2.בן - Сын
Все эти три слова есть в словаре.
И задача состоит в том, чтоб когда я вставляю слово אבן (камень) Макрос, либо функция, да что угодно лишь бы работало выдало мне эти два слова אב/בן из которых состоит исходное слово. Словарь это лексиконы стронга в нем около - 9000 тысяч слов. Этими словами все и ограниченно.
Перевод делать мне не нужно. Окончаний разных тоже не будет.
из набора букв составить слово, как анаграмма
Пример: Камень - אבן оно состоит из двух слов 1.אב - Отец 2.בן - Сын
Все эти три слова есть в словаре.
И задача состоит в том, чтоб когда я вставляю слово אבן (камень) Макрос, либо функция, да что угодно лишь бы работало выдало мне эти два слова אב/בן из которых состоит исходное слово. Словарь это лексиконы стронга в нем около - 9000 тысяч слов. Этими словами все и ограниченно.madstaff
Сообщение отредактировал madstaff - Понедельник, 05.05.2014, 14:27
Только что проверил. Пример, приведённый по указанной мною ссылке, прекрасно переводит текст на идиш или иврит (аргументы: iw - иврит; yi - идиш)Alex_ST
Я-таки не догоняю... Вам нужно из каждого слова (надеюсь, ограниченного пробелами?) составить все возможные перестановки его букв что ли? А сколько будет таких перестановок у слова, скажем хотя бы из 5 букв? И куда и как их выводить? Вам никакого количества столбцов листа на это не хватит. А если и хватит (я-то работаю только на 2003-ем с его 256 ячейками), то как на всё это смотреть? Скроллер гонять замучаетесь влево-вправо. Или всё-таки каждую комбинацию нужно перед тем как выводить на лист проверить на допустимость - наличие в словаре? А где этот словарь будет храниться? Кто его за Вас будет хотя бы частично заполнять (да ещё и на иврите)? Тут главная проблема в том, что здесь, на форуме, Вам наверняка кто-нибудь подскажет принципы как можно сделать отдельные процедуры разбивки текста на слова, перестановки букв в словах, фильтрации слов по списку на предмет их допустимости и т.д. Но делать для Вас готовый проект из всех этих общеизвестных фрагментов и придумывать для него удобный интерфейс ввода/вывода и коррекции данных вряд ли кто-нибудь возьмётся. Ибо муторно это и интересно только Вам. Так что если Вы сами что-то можете написать на VBA, разобраться в предложенных решениях и слепить их в своём файле воедино, то выкладывайте пример словаря (ну хотя бы сотню-другую слов и желательно не на идише а на русско-английском или ещё лучше - на русско-украинском) и ждите советов. А если нет, то тут на форуме есть раздел платных услуг.
Я-таки не догоняю... Вам нужно из каждого слова (надеюсь, ограниченного пробелами?) составить все возможные перестановки его букв что ли? А сколько будет таких перестановок у слова, скажем хотя бы из 5 букв? И куда и как их выводить? Вам никакого количества столбцов листа на это не хватит. А если и хватит (я-то работаю только на 2003-ем с его 256 ячейками), то как на всё это смотреть? Скроллер гонять замучаетесь влево-вправо. Или всё-таки каждую комбинацию нужно перед тем как выводить на лист проверить на допустимость - наличие в словаре? А где этот словарь будет храниться? Кто его за Вас будет хотя бы частично заполнять (да ещё и на иврите)? Тут главная проблема в том, что здесь, на форуме, Вам наверняка кто-нибудь подскажет принципы как можно сделать отдельные процедуры разбивки текста на слова, перестановки букв в словах, фильтрации слов по списку на предмет их допустимости и т.д. Но делать для Вас готовый проект из всех этих общеизвестных фрагментов и придумывать для него удобный интерфейс ввода/вывода и коррекции данных вряд ли кто-нибудь возьмётся. Ибо муторно это и интересно только Вам. Так что если Вы сами что-то можете написать на VBA, разобраться в предложенных решениях и слепить их в своём файле воедино, то выкладывайте пример словаря (ну хотя бы сотню-другую слов и желательно не на идише а на русско-английском или ещё лучше - на русско-украинском) и ждите советов. А если нет, то тут на форуме есть раздел платных услуг.Alex_ST
Я не понимаю, что значит ограниченного пробелами? Одно слово вставил - нашел совпадения в словаре из тех же букв, выдал результат, в зависимости от количества слов, которые совпадут.
Только словарь им все ограниченно. Словарь есть, храниться он будет на втором листе. В один столбец.
Пример по русски: Вставляем - Автомастерская Выводит: 1.Авто 2.Мастер 3.Яма 4.Река и тд.
Учитывая, что если есть такие слова в словаре, то есть совпали символы из исходного слова Выводить не важно куда, лишь бы работало
Вообще возможно ли это реализовать в Екселе? Быть может проще все это реализовать на php с базами данных
Я не понимаю, что значит ограниченного пробелами? Одно слово вставил - нашел совпадения в словаре из тех же букв, выдал результат, в зависимости от количества слов, которые совпадут.
Только словарь им все ограниченно. Словарь есть, храниться он будет на втором листе. В один столбец.
Пример по русски: Вставляем - Автомастерская Выводит: 1.Авто 2.Мастер 3.Яма 4.Река и тд.
Учитывая, что если есть такие слова в словаре, то есть совпали символы из исходного слова Выводить не важно куда, лишь бы работало
Вообще возможно ли это реализовать в Екселе? Быть может проще все это реализовать на php с базами данныхmadstaff
Сообщение отредактировал madstaff - Понедельник, 05.05.2014, 16:37
Я разбираю текст, на языке иврите, так как изучаю Библию на арамейском языке. У меня есть словарь стронга из 8675 слов на арамейском(иврит).
Слово камень на русском языке не как не будет состоять из слов отец и сын. Но на арамейском языке слово камень как я уже приводил пример выше состоит из этих двух слов.
Это не какие не скраблы, не игры, а ОЧЕНЬ СЕРЬЕЗНЫЙ вопрос для меня, который нужно реализовать.
ЭТО ВОЗМОЖНО СДЕЛАТЬ ИЛИ НЕТ В ЕКСЕЛЕ?
Я разбираю текст, на языке иврите, так как изучаю Библию на арамейском языке. У меня есть словарь стронга из 8675 слов на арамейском(иврит).
Слово камень на русском языке не как не будет состоять из слов отец и сын. Но на арамейском языке слово камень как я уже приводил пример выше состоит из этих двух слов.
Это не какие не скраблы, не игры, а ОЧЕНЬ СЕРЬЕЗНЫЙ вопрос для меня, который нужно реализовать.
Если выводить нужно только те слова, которые целиком, без перестановки букв, содержатся в исходном, то можно так (см. файл). Там не оптимизировано ничего, просто для показать. А если нужно с перестановкой букв, то нужно макрос писать. Можно и формулами поизвращаться, но по прикидкам(не думал еще) будет довольно сложно.
Если выводить нужно только те слова, которые целиком, без перестановки букв, содержатся в исходном, то можно так (см. файл). Там не оптимизировано ничего, просто для показать. А если нужно с перестановкой букв, то нужно макрос писать. Можно и формулами поизвращаться, но по прикидкам(не думал еще) будет довольно сложно._Boroda_
И такой вопрос, как прикрутить номер ячейки из словаря+перевод к выводу результата? Ячейка с номером будет в соседнем столбце+перевод, тоже в соседнем столбце
подредактировал файл Бороды(спасибо огромное) для примера
И такой вопрос, как прикрутить номер ячейки из словаря+перевод к выводу результата? Ячейка с номером будет в соседнем столбце+перевод, тоже в соседнем столбце
подредактировал файл Бороды(спасибо огромное) для примераmadstaff