Страницы: 1
RSS
Отсеять слова, которые содержат буквы не из списка разрешённых букв
 
Добрый день! Искал подобные темы, ничего не нашёл.
Есть список различных слов, есть список разрешённых букв. Надо отсеять слова, которые содержат буквы не из списка разрешённых букв. Или наоборот, надо отфильтровать слова, которые состоят только из разрешённых букв.
Пример прикрепил.
 
tesla, Найти в ячейке любое слово из списка
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вариант на Power Query:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content][[СЛОВО]],
    Permitted = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content][РАЗРЕШЁННЫЕ БУКВЫ],
    Out = Table.AddColumn(Source, "Соответствие", each if List.AllTrue( List.Transform( Text.ToList([СЛОВО]), each List.Contains( Permitted, _ ) ) ) then "+" else "-")
in
    Out

Поиск чувствителен к регистру!
Изменено: PooHkrd - 23.10.2019 14:57:19
Вот горшок пустой, он предмет простой...
 
Решение формулой. Показывает, сколько букв в слове не входят в словарь.
=СУММПРОИЗВ(--(СЧЁТЕСЛИ(Таблица2[РАЗРЕШЁННЫЕ БУКВЫ];ПСТР([@СЛОВО];СТРОКА($A$1:$A$200);1))>0))-ДЛСТР([@СЛОВО])
Изменено: Wiss - 23.10.2019 15:11:46
Я не волшебник, я только учусь.
 
Массивная формула вводится одновременным нажатием Ctrl+Shift+Enter:
Код
=ЕСЛИ(СЧЁТ(ПОИСКПОЗ(ПСТР([@СЛОВО];СТОЛБЕЦ(A:Z);1);Таблица2[РАЗРЕШЁННЫЕ БУКВЫ];))=ДЛСТР([@СЛОВО]);"+";"-")
 
Для коллекции
=TEXT(SUM(-ISERROR(MATCH(MID([@СЛОВО];ROW($1:$99);1)&"*";Таблица2[РАЗРЕШЁННЫЕ БУКВЫ];)));"+;-;+")
Изменено: БМВ - 23.10.2019 17:49:07
По вопросам из тем форума, личку не читаю.
 
Используя замечательные идеи БМВ, ещё вариант:
Код
=ТЕКСТ(СУММ(-ЕНД(ПОИСКПОЗ(ПСТР(Table1[@СЛОВО];СТОЛБЕЦ(A:Z);1)&"*";Таблица2[РАЗРЕШЁННЫЕ БУКВЫ];)));";-;+")
=ТЕКСТ(-ИЛИ(ЕНД(ПОИСКПОЗ(ПСТР(Table1[@СЛОВО];СТОЛБЕЦ(A:Z);1)&"*";Таблица2[РАЗРЕШЁННЫЕ БУКВЫ];)));";-;+")
Изменено: Светлый - 23.10.2019 23:44:24
 
Jack Famous, PooHkrd, Wiss, Светлый, БМВ, спасибо! Даже не ожидал такого разнообразия решений )
 
tesla, классный форум, правда?  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх