Длинношеее
Serge_007
Дата: Суббота, 13.10.2012, 14:22 |
Сообщение № 1
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (Gustav )
даешь мозговой штурм на тему, где это еще можно применить!
Есть большой список слов допустим в столбце А. Нужно найти в нем слова с 3-я согласными буквами подряд и переместить в другую колонку например в В. можно макросом или формулой. Пример файла прикрепил. В данном примере подходит слово АББРЕВИАТУРА Текст (Поиск текста) Работа с текстом (Поиск слов) ЗЫ Простого решения нет, только через список, с кодами символов
Quote (Gustav )
даешь мозговой штурм на тему, где это еще можно применить!
Есть большой список слов допустим в столбце А. Нужно найти в нем слова с 3-я согласными буквами подряд и переместить в другую колонку например в В. можно макросом или формулой. Пример файла прикрепил. В данном примере подходит слово АББРЕВИАТУРА Текст (Поиск текста) Работа с текстом (Поиск слов) ЗЫ Простого решения нет, только через список, с кодами символовSerge_007
К сообщению приложен файл:
_AL_.xls
(24.5 Kb)
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (Gustav )
даешь мозговой штурм на тему, где это еще можно применить!
Есть большой список слов допустим в столбце А. Нужно найти в нем слова с 3-я согласными буквами подряд и переместить в другую колонку например в В. можно макросом или формулой. Пример файла прикрепил. В данном примере подходит слово АББРЕВИАТУРА Текст (Поиск текста) Работа с текстом (Поиск слов) ЗЫ Простого решения нет, только через список, с кодами символовАвтор - Serge_007 Дата добавления - 13.10.2012 в 14:22
MCH
Дата: Суббота, 13.10.2012, 18:18 |
Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Нужно одной формулой, или можно со вспомогательными ячейками? И что делать если 4 поряд согласных буквы, например АББАТСТВО?
Нужно одной формулой, или можно со вспомогательными ячейками? И что делать если 4 поряд согласных буквы, например АББАТСТВО? MCH
Сообщение отредактировал MCH - Суббота, 13.10.2012, 18:47
Ответить
Сообщение Нужно одной формулой, или можно со вспомогательными ячейками? И что делать если 4 поряд согласных буквы, например АББАТСТВО? Автор - MCH Дата добавления - 13.10.2012 в 18:18
MCH
Дата: Суббота, 13.10.2012, 19:10 |
Сообщение № 3
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Одной формулой не хочется делать (а возможно и не сделаешь), да и не рационально ЗЫ: В словаре Ожегова на букву А не нешлось ни одного слова с тремя подряд глассными буквами
Одной формулой не хочется делать (а возможно и не сделаешь), да и не рационально ЗЫ: В словаре Ожегова на букву А не нешлось ни одного слова с тремя подряд глассными буквами MCH
К сообщению приложен файл:
ABC.rar
(38.9 Kb)
Сообщение отредактировал MCH - Суббота, 13.10.2012, 19:21
Ответить
Сообщение Одной формулой не хочется делать (а возможно и не сделаешь), да и не рационально ЗЫ: В словаре Ожегова на букву А не нешлось ни одного слова с тремя подряд глассными буквами Автор - MCH Дата добавления - 13.10.2012 в 19:10
Serge_007
Дата: Суббота, 13.10.2012, 19:11 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (MCH )
Нужно одной формулой
Да Quote (MCH )
В словаре Ожегова на букву А не нешлось ни одного слова с тремя подряд глассными буквами
Quote (Serge_007 )
Нужно найти слова с 3-я СОгласными буквами
Quote (MCH )
что делать если 4 поряд согласных буквы
Опционально, можно игнорировать, можно учитывать, на выбор ЗЫ С тремя гласными я привел пример в названии темы
Quote (MCH )
Нужно одной формулой
Да Quote (MCH )
В словаре Ожегова на букву А не нешлось ни одного слова с тремя подряд глассными буквами
Quote (Serge_007 )
Нужно найти слова с 3-я СОгласными буквами
Quote (MCH )
что делать если 4 поряд согласных буквы
Опционально, можно игнорировать, можно учитывать, на выбор ЗЫ С тремя гласными я привел пример в названии темыSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (MCH )
Нужно одной формулой
Да Quote (MCH )
В словаре Ожегова на букву А не нешлось ни одного слова с тремя подряд глассными буквами
Quote (Serge_007 )
Нужно найти слова с 3-я СОгласными буквами
Quote (MCH )
что делать если 4 поряд согласных буквы
Опционально, можно игнорировать, можно учитывать, на выбор ЗЫ С тремя гласными я привел пример в названии темыАвтор - Serge_007 Дата добавления - 13.10.2012 в 19:11
Gustav
Дата: Воскресенье, 14.10.2012, 13:13 |
Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация:
1160
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Если достаточно, чтобы формула возвращала ИСТИНу в качестве индикатора 3 согласных подряд и нет ограничения на Excel 2003, то 218 (при любом регистре символов; если же всегда оперируем только с верхним, то будет поменьше)
Если достаточно, чтобы формула возвращала ИСТИНу в качестве индикатора 3 согласных подряд и нет ограничения на Excel 2003, то 218 (при любом регистре символов; если же всегда оперируем только с верхним, то будет поменьше) Gustav
МОИ: Ник , Tip box: 41001663842605
Сообщение отредактировал Gustav - Воскресенье, 14.10.2012, 13:44
Ответить
Сообщение Если достаточно, чтобы формула возвращала ИСТИНу в качестве индикатора 3 согласных подряд и нет ограничения на Excel 2003, то 218 (при любом регистре символов; если же всегда оперируем только с верхним, то будет поменьше) Автор - Gustav Дата добавления - 14.10.2012 в 13:13
MCH
Дата: Воскресенье, 14.10.2012, 14:00 |
Сообщение № 6
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Quote (Gustav )
Если достаточно, чтобы формула возвращала ИСТИНу
А я так и не понял что нужно. Потому как требования к задаче меняются. Quote (Serge_007 )
можно макросом или формулой
Если решать макросом, то вообще проблем нет, зачем тогда ограничиватся одной формулой без вспомогательгых ячеек? Если нужно одной формулой получить аналогичный список как в файле ABC.rar из 3 сообщения , то нужно еще постараться так сделать, формула получится тяжелой, медленной и не примеримой на практике для выборки из нескольких тысяч слов Quote (Serge_007 )
ЗЫ Простого решения нет, только через список, с кодами символов
Пример без списка с кодами символов привел в файле ABC.rar
Quote (Gustav )
Если достаточно, чтобы формула возвращала ИСТИНу
А я так и не понял что нужно. Потому как требования к задаче меняются. Quote (Serge_007 )
можно макросом или формулой
Если решать макросом, то вообще проблем нет, зачем тогда ограничиватся одной формулой без вспомогательгых ячеек? Если нужно одной формулой получить аналогичный список как в файле ABC.rar из 3 сообщения , то нужно еще постараться так сделать, формула получится тяжелой, медленной и не примеримой на практике для выборки из нескольких тысяч слов Quote (Serge_007 )
ЗЫ Простого решения нет, только через список, с кодами символов
Пример без списка с кодами символов привел в файле ABC.rarMCH
Ответить
Сообщение Quote (Gustav )
Если достаточно, чтобы формула возвращала ИСТИНу
А я так и не понял что нужно. Потому как требования к задаче меняются. Quote (Serge_007 )
можно макросом или формулой
Если решать макросом, то вообще проблем нет, зачем тогда ограничиватся одной формулой без вспомогательгых ячеек? Если нужно одной формулой получить аналогичный список как в файле ABC.rar из 3 сообщения , то нужно еще постараться так сделать, формула получится тяжелой, медленной и не примеримой на практике для выборки из нескольких тысяч слов Quote (Serge_007 )
ЗЫ Простого решения нет, только через список, с кодами символов
Пример без списка с кодами символов привел в файле ABC.rarАвтор - MCH Дата добавления - 14.10.2012 в 14:00
Serge_007
Дата: Воскресенье, 14.10.2012, 17:09 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (MCH )
требования к задаче меняются
Ничего не меняется. Quote (MCH )
Нужно одной формулой
Про макросы - это текст топика автора, ссылки я давал выше
Quote (MCH )
требования к задаче меняются
Ничего не меняется. Quote (MCH )
Нужно одной формулой
Про макросы - это текст топика автора, ссылки я давал вышеSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (MCH )
требования к задаче меняются
Ничего не меняется. Quote (MCH )
Нужно одной формулой
Про макросы - это текст топика автора, ссылки я давал вышеАвтор - Serge_007 Дата добавления - 14.10.2012 в 17:09
kim
Дата: Воскресенье, 21.10.2012, 09:53 |
Сообщение № 8
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация:
160
±
Замечаний:
0% ±
Excel 2010
Задача легко решается 334-символьной формулой (без знака "=") без проверки на ошибки (можно скрыть УФ) Quote (Gustav )
Если достаточно, чтобы формула возвращала ИСТИНу в качестве индикатора 3 согласных подряд и нет ограничения на Excel 2003, то 218
Можно почти в 2 раза короче
Задача легко решается 334-символьной формулой (без знака "=") без проверки на ошибки (можно скрыть УФ) Quote (Gustav )
Если достаточно, чтобы формула возвращала ИСТИНу в качестве индикатора 3 согласных подряд и нет ограничения на Excel 2003, то 218
Можно почти в 2 раза короче kim
Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
Ответить
Сообщение Задача легко решается 334-символьной формулой (без знака "=") без проверки на ошибки (можно скрыть УФ) Quote (Gustav )
Если достаточно, чтобы формула возвращала ИСТИНу в качестве индикатора 3 согласных подряд и нет ограничения на Excel 2003, то 218
Можно почти в 2 раза короче Автор - kim Дата добавления - 21.10.2012 в 09:53
Serge_007
Дата: Воскресенье, 21.10.2012, 09:56 |
Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Quote (kim )
Задача легко решается 334-символьной формулой
Привет Игорь! Выкладывай
Quote (kim )
Задача легко решается 334-символьной формулой
Привет Игорь! Выкладывай Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Quote (kim )
Задача легко решается 334-символьной формулой
Привет Игорь! Выкладывай Автор - Serge_007 Дата добавления - 21.10.2012 в 09:56
kim
Дата: Воскресенье, 21.10.2012, 10:04 |
Сообщение № 10
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация:
160
±
Замечаний:
0% ±
Excel 2010
Решение в "лоб", было бы интересно сократить... но тут включаются трёхмерные условия [vba]Code
=ИНДЕКС(A$1:A$10;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(A:AD);1);"йцкнгшщзхфвпрлджчсмтб"))*ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(B:AE);1);"йцкнгшщзхфвпрлджчсмтб"))*ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(C:AF);1);"йцкнгшщзхфвпрлджчсмтб"));СТРОКА($1:$30)^0);СТРОКА($1:$10));СТРОКА(A1)))
[/vba] Для доп.столбца: [vba]Code
=ИЛИ(МУМНОЖ(--ЕЧИСЛО(ПОИСК(ПСТР(ПСТР(A1;СТРОКА($1:$20);3)&0;СТОЛБЕЦ(A:C);1);"йцкнгшщзхфвпрлджчсмтб"));{1:1:1})=3)
[/vba]
Решение в "лоб", было бы интересно сократить... но тут включаются трёхмерные условия [vba]Code
=ИНДЕКС(A$1:A$10;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(A:AD);1);"йцкнгшщзхфвпрлджчсмтб"))*ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(B:AE);1);"йцкнгшщзхфвпрлджчсмтб"))*ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(C:AF);1);"йцкнгшщзхфвпрлджчсмтб"));СТРОКА($1:$30)^0);СТРОКА($1:$10));СТРОКА(A1)))
[/vba] Для доп.столбца: [vba]Code
=ИЛИ(МУМНОЖ(--ЕЧИСЛО(ПОИСК(ПСТР(ПСТР(A1;СТРОКА($1:$20);3)&0;СТОЛБЕЦ(A:C);1);"йцкнгшщзхфвпрлджчсмтб"));{1:1:1})=3)
[/vba] kim
Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
Ответить
Сообщение Решение в "лоб", было бы интересно сократить... но тут включаются трёхмерные условия [vba]Code
=ИНДЕКС(A$1:A$10;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(A:AD);1);"йцкнгшщзхфвпрлджчсмтб"))*ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(B:AE);1);"йцкнгшщзхфвпрлджчсмтб"))*ЕЧИСЛО(ПОИСК(ПСТР(A$1:A$10&ПОВТОР(0;33);СТОЛБЕЦ(C:AF);1);"йцкнгшщзхфвпрлджчсмтб"));СТРОКА($1:$30)^0);СТРОКА($1:$10));СТРОКА(A1)))
[/vba] Для доп.столбца: [vba]Code
=ИЛИ(МУМНОЖ(--ЕЧИСЛО(ПОИСК(ПСТР(ПСТР(A1;СТРОКА($1:$20);3)&0;СТОЛБЕЦ(A:C);1);"йцкнгшщзхфвпрлджчсмтб"));{1:1:1})=3)
[/vba] Автор - kim Дата добавления - 21.10.2012 в 10:04
MCH
Дата: Воскресенье, 21.10.2012, 22:46 |
Сообщение № 11
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Quote (kim )
Решение в "лоб", было бы интересно сократить...
Чуть короче, но тоже "в лоб" 261: [vba]Code
=ИНДЕКС(A$1:A$10;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"));СТРОКА(A$1:A$24));СТРОКА($A$1:$A$10));СТРОКА(A1)))
[/vba] с использованием "трехмерного" массива, работает только в 2007+, задваивает слова в которых более 3 согласных подряд, к тому же летучая 189: [vba]Code
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(1-ЕОШ(ПОИСК(ПСТР(Т(СМЕЩ(A$1;(СТРОКА($1:$200)-1)/20;));ОСТАТ(СТРОКА($1:$200)-1;20)+{1;2;3};1);"аеёиоуъыьэюя"));{1:1:1})=0;СТРОКА($1:$200)-1);СТРОКА(A1))/20;)
[/vba]
Quote (kim )
Решение в "лоб", было бы интересно сократить...
Чуть короче, но тоже "в лоб" 261: [vba]Code
=ИНДЕКС(A$1:A$10;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"));СТРОКА(A$1:A$24));СТРОКА($A$1:$A$10));СТРОКА(A1)))
[/vba] с использованием "трехмерного" массива, работает только в 2007+, задваивает слова в которых более 3 согласных подряд, к тому же летучая 189: [vba]Code
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(1-ЕОШ(ПОИСК(ПСТР(Т(СМЕЩ(A$1;(СТРОКА($1:$200)-1)/20;));ОСТАТ(СТРОКА($1:$200)-1;20)+{1;2;3};1);"аеёиоуъыьэюя"));{1:1:1})=0;СТРОКА($1:$200)-1);СТРОКА(A1))/20;)
[/vba]MCH
Сообщение отредактировал MCH - Воскресенье, 21.10.2012, 23:41
Ответить
Сообщение Quote (kim )
Решение в "лоб", было бы интересно сократить...
Чуть короче, но тоже "в лоб" 261: [vba]Code
=ИНДЕКС(A$1:A$10;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$10;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"));СТРОКА(A$1:A$24));СТРОКА($A$1:$A$10));СТРОКА(A1)))
[/vba] с использованием "трехмерного" массива, работает только в 2007+, задваивает слова в которых более 3 согласных подряд, к тому же летучая 189: [vba]Code
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(1-ЕОШ(ПОИСК(ПСТР(Т(СМЕЩ(A$1;(СТРОКА($1:$200)-1)/20;));ОСТАТ(СТРОКА($1:$200)-1;20)+{1;2;3};1);"аеёиоуъыьэюя"));{1:1:1})=0;СТРОКА($1:$200)-1);СТРОКА(A1))/20;)
[/vba]Автор - MCH Дата добавления - 21.10.2012 в 22:46
AlexM
Дата: Понедельник, 22.10.2012, 11:16 |
Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1129
±
Замечаний:
0% ±
Excel 2003
Такая формула подойдет? Code
=ЕСЛИ(ЕОШ(НАЙТИ(111;СУММПРОИЗВ(ЕОШ(ПОИСК(ПСТР(A1;СТРОКА($1:$99);1);"аеёиоуыэюя"))*10^(СТРОКА($1:$99)-1))));"";A1)
Извините, если сообщение неправильно оформил. Пишу в первый раз. Дополнение. в формуле надо дополнить строку двумя буквами "ь" и "ъ". Так "аеёиоуыьъэюя" Количество знаков в формуле 114
Такая формула подойдет? Code
=ЕСЛИ(ЕОШ(НАЙТИ(111;СУММПРОИЗВ(ЕОШ(ПОИСК(ПСТР(A1;СТРОКА($1:$99);1);"аеёиоуыэюя"))*10^(СТРОКА($1:$99)-1))));"";A1)
Извините, если сообщение неправильно оформил. Пишу в первый раз. Дополнение. в формуле надо дополнить строку двумя буквами "ь" и "ъ". Так "аеёиоуыьъэюя" Количество знаков в формуле 114 AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Вторник, 23.10.2012, 08:43
Ответить
Сообщение Такая формула подойдет? Code
=ЕСЛИ(ЕОШ(НАЙТИ(111;СУММПРОИЗВ(ЕОШ(ПОИСК(ПСТР(A1;СТРОКА($1:$99);1);"аеёиоуыэюя"))*10^(СТРОКА($1:$99)-1))));"";A1)
Извините, если сообщение неправильно оформил. Пишу в первый раз. Дополнение. в формуле надо дополнить строку двумя буквами "ь" и "ъ". Так "аеёиоуыьъэюя" Количество знаков в формуле 114 Автор - AlexM Дата добавления - 22.10.2012 в 11:16
Gustav
Дата: Понедельник, 22.10.2012, 11:24 |
Сообщение № 13
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация:
1160
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Ну, тогда и я свои "лобовые" 218 символов с истиной по 3 согласным представлю. Честно говоря, думал, что более "в лобово" и не сделать [vba]Code
=ИЛИ(ДЛСТР( ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ( ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ( ПСТР(СТРОЧН(A1);СТРОКА($1:$99);3) ;"а";);"е";);"ё";);"и";);"о";) ;"у";);"ы";);"э";);"ю";);"я";) )=3)
[/vba]
Ну, тогда и я свои "лобовые" 218 символов с истиной по 3 согласным представлю. Честно говоря, думал, что более "в лобово" и не сделать [vba]Code
=ИЛИ(ДЛСТР( ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ( ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ( ПСТР(СТРОЧН(A1);СТРОКА($1:$99);3) ;"а";);"е";);"ё";);"и";);"о";) ;"у";);"ы";);"э";);"ю";);"я";) )=3)
[/vba] Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Ну, тогда и я свои "лобовые" 218 символов с истиной по 3 согласным представлю. Честно говоря, думал, что более "в лобово" и не сделать [vba]Code
=ИЛИ(ДЛСТР( ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ( ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ( ПСТР(СТРОЧН(A1);СТРОКА($1:$99);3) ;"а";);"е";);"ё";);"и";);"о";) ;"у";);"ы";);"э";);"ю";);"я";) )=3)
[/vba] Автор - Gustav Дата добавления - 22.10.2012 в 11:24
MCH
Дата: Понедельник, 22.10.2012, 13:00 |
Сообщение № 14
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация:
752
±
Замечаний:
±
Quote (Gustav )
;"а";);"е";);"ё";);"и";);"о";);"у";);"ы";);"э";);"ю";);"я";)
А где твердый и магкий знак, это ведь тоже не согласные
Quote (Gustav )
;"а";);"е";);"ё";);"и";);"о";);"у";);"ы";);"э";);"ю";);"я";)
А где твердый и магкий знак, это ведь тоже не согласныеMCH
Ответить
Сообщение Quote (Gustav )
;"а";);"е";);"ё";);"и";);"о";);"у";);"ы";);"э";);"ю";);"я";)
А где твердый и магкий знак, это ведь тоже не согласныеАвтор - MCH Дата добавления - 22.10.2012 в 13:00
Gustav
Дата: Понедельник, 22.10.2012, 13:19 |
Сообщение № 15
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация:
1160
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Quote (MCH )
А где твердый и магкий знак, это ведь тоже не согласные
Ну, тогда к 218 еще два раза по 17 символов.
Quote (MCH )
А где твердый и магкий знак, это ведь тоже не согласные
Ну, тогда к 218 еще два раза по 17 символов.Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Quote (MCH )
А где твердый и магкий знак, это ведь тоже не согласные
Ну, тогда к 218 еще два раза по 17 символов.Автор - Gustav Дата добавления - 22.10.2012 в 13:19
LightZ
Дата: Понедельник, 22.10.2012, 22:24 |
Сообщение № 16
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация:
48
±
Замечаний:
0% ±
Сойдет? [vba]Code
Sub tests() Application.ScreenUpdating = False Dim counter As Long Dim rng As Range Dim finalRow As Long finalRow = Cells(Rows.Count, 1).End(xlUp).Row For Each rng In Range("a1:a" & finalRow).Cells If абракадабра_какая_то(rng.Value) Then counter = counter + 1 Cells(counter, 2).Value = rng.Value End If Next Application.ScreenUpdating = True End Sub Function абракадабра_какая_то(cel As String) As Boolean Const letts$ = "й ц к н г ш щ з х ф в п р л д ж ч с м т б" Dim i&, j&, c& Dim celMid$, li& For i = 1 To Len(cel) celMid = Mid(cel, i, 3) For li = 1 To Len(celMid) For j = 0 To UBound(Split(letts)) If LCase(Mid(celMid, li, 1)) = Split(letts)(j) Then c = c + 1 End If Next Next If c >= 3 Then абракадабра_какая_то = True Exit Function Else абракадабра_какая_то = False c = 0 End If Next End Function
[/vba]
Сойдет? [vba]Code
Sub tests() Application.ScreenUpdating = False Dim counter As Long Dim rng As Range Dim finalRow As Long finalRow = Cells(Rows.Count, 1).End(xlUp).Row For Each rng In Range("a1:a" & finalRow).Cells If абракадабра_какая_то(rng.Value) Then counter = counter + 1 Cells(counter, 2).Value = rng.Value End If Next Application.ScreenUpdating = True End Sub Function абракадабра_какая_то(cel As String) As Boolean Const letts$ = "й ц к н г ш щ з х ф в п р л д ж ч с м т б" Dim i&, j&, c& Dim celMid$, li& For i = 1 To Len(cel) celMid = Mid(cel, i, 3) For li = 1 To Len(celMid) For j = 0 To UBound(Split(letts)) If LCase(Mid(celMid, li, 1)) = Split(letts)(j) Then c = c + 1 End If Next Next If c >= 3 Then абракадабра_какая_то = True Exit Function Else абракадабра_какая_то = False c = 0 End If Next End Function
[/vba] LightZ
E-mail: overseerpower@gmail.com Skype: Bogdan_Rud WMR: R166238237296
Ответить
Сообщение Сойдет? [vba]Code
Sub tests() Application.ScreenUpdating = False Dim counter As Long Dim rng As Range Dim finalRow As Long finalRow = Cells(Rows.Count, 1).End(xlUp).Row For Each rng In Range("a1:a" & finalRow).Cells If абракадабра_какая_то(rng.Value) Then counter = counter + 1 Cells(counter, 2).Value = rng.Value End If Next Application.ScreenUpdating = True End Sub Function абракадабра_какая_то(cel As String) As Boolean Const letts$ = "й ц к н г ш щ з х ф в п р л д ж ч с м т б" Dim i&, j&, c& Dim celMid$, li& For i = 1 To Len(cel) celMid = Mid(cel, i, 3) For li = 1 To Len(celMid) For j = 0 To UBound(Split(letts)) If LCase(Mid(celMid, li, 1)) = Split(letts)(j) Then c = c + 1 End If Next Next If c >= 3 Then абракадабра_какая_то = True Exit Function Else абракадабра_какая_то = False c = 0 End If Next End Function
[/vba] Автор - LightZ Дата добавления - 22.10.2012 в 22:24
KuklP
Дата: Понедельник, 22.10.2012, 22:56 |
Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
[vba]Code
Public Sub Chars3() Dim c As Range With CreateObject("VBScript.RegExp") .IgnoreCase = True .Pattern = "[бвгджзлмнпрстфкчшщ]{3}" For Each c In [a1].CurrentRegion.Cells If .test(c) Then c(, 2) = c: c = "" Next End With End Sub
[/vba]
[vba]Code
Public Sub Chars3() Dim c As Range With CreateObject("VBScript.RegExp") .IgnoreCase = True .Pattern = "[бвгджзлмнпрстфкчшщ]{3}" For Each c In [a1].CurrentRegion.Cells If .test(c) Then c(, 2) = c: c = "" Next End With End Sub
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Понедельник, 22.10.2012, 23:17
Ответить
Сообщение [vba]Code
Public Sub Chars3() Dim c As Range With CreateObject("VBScript.RegExp") .IgnoreCase = True .Pattern = "[бвгджзлмнпрстфкчшщ]{3}" For Each c In [a1].CurrentRegion.Cells If .test(c) Then c(, 2) = c: c = "" Next End With End Sub
[/vba] Автор - KuklP Дата добавления - 22.10.2012 в 22:56
LightZ
Дата: Понедельник, 22.10.2012, 23:19 |
Сообщение № 18
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация:
48
±
Замечаний:
0% ±
Регулярные выражения - сила
Регулярные выражения - сила LightZ
E-mail: overseerpower@gmail.com Skype: Bogdan_Rud WMR: R166238237296
Ответить
Сообщение Регулярные выражения - сила Автор - LightZ Дата добавления - 22.10.2012 в 23:19
Светлый
Дата: Пятница, 29.07.2016, 20:26 |
Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
Вставлю и свои пять копеек. Проверка каждого слова 108 и 96 символов:Код
=ИЛИ(ЧАСТОТА(СТОЛБЕЦ(A:Z);ЕОШ(1/(ПОИСК(ПСТР(A1;СТОЛБЕЦ(A:Z);1);"#бвгджзйклмнпрстфхцчшщ")-1))*СТОЛБЕЦ(A:Z))=4)
Код
=ИЛИ(ЧАСТОТА(СТОЛБЕЦ(A:Z);СТОЛБЕЦ(A:Z)*(1-ЕОШ(ПОИСК(ПСТР(A1;СТОЛБЕЦ(A:Z);1);"аеёиоуъыьэюя"))))=4)
И список с проверкой на ошибку 262 символа(без проверки 256):Код
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"));ТРАНСП(СТОЛБЕЦ(A:X)));СТРОКА($1:$11);99);СТРОКА(A1))-1;)&""
Можно даже в 250 символов с проверкой уложиться:Код
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"));СТРОКА(1:24));СТРОКА($1:11);99);СТРОКА(A1))-1;)&""
Вставлю и свои пять копеек. Проверка каждого слова 108 и 96 символов:Код
=ИЛИ(ЧАСТОТА(СТОЛБЕЦ(A:Z);ЕОШ(1/(ПОИСК(ПСТР(A1;СТОЛБЕЦ(A:Z);1);"#бвгджзйклмнпрстфхцчшщ")-1))*СТОЛБЕЦ(A:Z))=4)
Код
=ИЛИ(ЧАСТОТА(СТОЛБЕЦ(A:Z);СТОЛБЕЦ(A:Z)*(1-ЕОШ(ПОИСК(ПСТР(A1;СТОЛБЕЦ(A:Z);1);"аеёиоуъыьэюя"))))=4)
И список с проверкой на ошибку 262 символа(без проверки 256):Код
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"));ТРАНСП(СТОЛБЕЦ(A:X)));СТРОКА($1:$11);99);СТРОКА(A1))-1;)&""
Можно даже в 250 символов с проверкой уложиться:Код
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"));СТРОКА(1:24));СТРОКА($1:11);99);СТРОКА(A1))-1;)&""
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Пятница, 29.07.2016, 20:50
Ответить
Сообщение Вставлю и свои пять копеек. Проверка каждого слова 108 и 96 символов:Код
=ИЛИ(ЧАСТОТА(СТОЛБЕЦ(A:Z);ЕОШ(1/(ПОИСК(ПСТР(A1;СТОЛБЕЦ(A:Z);1);"#бвгджзйклмнпрстфхцчшщ")-1))*СТОЛБЕЦ(A:Z))=4)
Код
=ИЛИ(ЧАСТОТА(СТОЛБЕЦ(A:Z);СТОЛБЕЦ(A:Z)*(1-ЕОШ(ПОИСК(ПСТР(A1;СТОЛБЕЦ(A:Z);1);"аеёиоуъыьэюя"))))=4)
И список с проверкой на ошибку 262 символа(без проверки 256):Код
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A$11;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"));ТРАНСП(СТОЛБЕЦ(A:X)));СТРОКА($1:$11);99);СТРОКА(A1))-1;)&""
Можно даже в 250 символов с проверкой уложиться:Код
=СМЕЩ(A$1;НАИМЕНЬШИЙ(ЕСЛИ(МУМНОЖ(ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(C:Z);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(B:Y);1);"аеёиоуъыьэюя"))*ЕОШ(ПОИСК(ПСТР(A$1:A11;СТОЛБЕЦ(A:X);1);"аеёиоуъыьэюя"));СТРОКА(1:24));СТРОКА($1:11);99);СТРОКА(A1))-1;)&""
Автор - Светлый Дата добавления - 29.07.2016 в 20:26