Всего 3 таблицы:
2 таблицы: items и options
и одну "многие-ко-многим" (промежуточную): item_id, option_id (есть строка-"связка" - опция есть/включена у объекта)
Т.е. промежуточная таблица будет хранить только уникальные связи.
А быстрый поиск - можно делать как по опции, так и по айтему.
И добавить свойства или айтемы - проблем нет.
Для буквы "л" формула такая: =СУММ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК("л";B4:G4);--ПОДСТАВИТЬ(B4:G4;"л";""));0))
Для "п" соответственно такая: =СУММ(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК("п";B4:G4);--ПОДСТАВИТЬ(B4:G4;"п";""));0))
Обе - формулы массива. Вводятся одновременным нажатием клавиш Ctrl+Shift+Enter
Формула массива: =ЕСЛИОШИБКА(ЕСЛИ(СЧЁТЗ($W$11:W11)<=СЧЁТЕСЛИ($S$12:$S$62;"?*");ИНДЕКС(S:S;НАИМЕНЬШИЙ(ЕСЛИ($S$12:$S$62<>"";СТРОКА($S$12:$S$62));СТРОКА(1:1)));ИНДЕКС(U:U;НАИМЕНЬШИЙ(ЕСЛИ($U$12:$U$62<>"";СТРОКА($U$12:$U$62));СТРОКА(1:1)-СЧЁТЕСЛИ($S$12:$S$62;"?*"))));"")
Это неправильно.
Надо завести отдельную таблицу user_read, в которой будет всего два поля - id пользователя и id новости.
Соответственно, добавление "в конец" будет обычной операцией вставки.