Добрый день. Заходил в ПРИЁМЫ и помимо этого гуглил данный вопрос, но ничего не нашел. Допустим, в столбце А сверху вниз заполнены вот таким образом ячейки: Арбуз Арбуз_Ивана кислыйАрбуз777 Арбузовина Свежие арбузы
Необходимо сделать так, чтоб все ячейки со словом "арбуз" или "Арбуз" были подсвечены красным плюс всякий раз, когда в новой ячейки ниже этих вводится "Арбуз", то он тоже бы подсвечивался. Естественно, условным форматированием здесь не ограничиться, так как он работает с точностью.
Дело в том, что помимо "Арбуза" могут быть и "Дыни", и "Винограды". Как тогда будет работать условное форматирование по типу "текст, который содержит"?
По сути этот самый "Арбуз" уникален, он должен быть один раз во всем столбце, и когда "Арбуз" или его производные (арбузы, арбузов, арбузики, арбуз777, ВасяАрбуз) вдруг появляются ВТОРОЙ раз, то подсвечиваться должен и этот ввод, и прошлый раз выше по столбцу. А поскольку помимо арбуза могут быть еще 1000000 наименований, то условным форматированием не обойтись.
Кирилл, всем уже стало очевидно, что вы сами не понимаете толком, по каким правилам происходит определение "уникальности"… Есть подозрение, что вам нужен некоторый вид "нечёткого" поиска, алгоритмов которого очень много, к тому же там нет точных совпадений, а лишь % подобия и те - в зависимости от настроек
Допустим есть такие слова в отдельных ячейках: "арбуз", "ваняарбуз", ваня", "петяарбуз", "петя", "ваняпетя", "петяваня", "арбузпетяваня" — какие закрашивать и почему?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Так, минуточку А если я скажу, что там не слова, а числа. Уникальные числа. Но помимо этого уникального числа вбиты еще слова ненужные или буквенные приписки. Типа: 777кек 777 вжух777_мда
и когда я вновь ввожу ниже "777", то выделить надо все ячейки, где есть это самое "777".
Числа у меня в основном 5 и 6 значные. То есть даже если в 6 значном нашлось число 5 значное - то пускай и его подсветит, дальше уже дело ручной работы.
Jack Famous написал: Допустим есть такие слова в отдельных ячейках: "арбуз", "ваняарбуз", ваня", "петяарбуз", "петя", "ваняпетя", "петяваня", "арбузпетяваня" — какие закрашивать и почему?
Из общих соображений. На базе словаря ключевых слов, наличие одного из которых в конкретной ячейке требует ее подсветки. Для условного форматирования можно попробовать использовать формулу вида: =СУММ(НАЙТИ(Словарь;Активная_ячейка_оригинального_списка))>0
тоя вам отвечу, что задачу нужно нормально пояснять, а не с "постепенно обрастающими подробностями и нюансами" В любом случае, выделение НЕ руками и не УФ это макросы, а переписывать макрос, адаптируя под постоянно изменяющиеся условия интересно далеко не всем Удачи
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous написал: а не с "постепенно обрастающими подробностями и нюансами"
Разницы так-то нет, речь идет о повторении значения. И условие задачи одно - показать, что введенное значение уже было и где это значение было выше в столбце. Итак было очевидно, что это макрос. Поэтому и обратился на этот форум.
вы не можете сформулировать задачу. Про пример я и вовсе молчу. ввели Арбузовина кислыйАрбуз777 и как вы предлагаете сравнивать? Искать наибольшее совпадение?
Зачем? Принцип работы поиска по книге Вам известен же, я вбиваю арбуз и жму "показать все" и эксель показывает все строки где есть "арбуз", в том числе и строки "Арбузовина" и "кислыйАрбуз777". По такому принципу и должен работать фильтр на покраску повторных значений, тем самым не дав пользователю зарегистрировать значение, которое уже было в этом СТОЛБЦЕ, только столбце, а не книге целиком. Я вижу это так:
Код
Начало скрипта
Если ввожу "значение" в пустую ячейку столбца А
Если этого "значения" нет во всем столбце А
То не красить данную ячейку
Если есть "значение"
То ячейку данную и повторную окрасить
Конец скрипта
это называется "Поиск по маске" - в таком случае "запрос" обрамляется звёздочками "*" ("*запрос*"), что означает, что мы хотим найти все строки, в которых наш "запрос" содержится
А вы понимаете, что строки "Иван Арбузный" и "арбузивана" будут закрашиваться и при вводе "арбуз", и при вводе "иван"? А когда сбрасывать заливку? При следующем вводе?
Кроме УФ и макросов есть ещё "Проверка данных", с помощью которого можно (вроде) реализовать НЕДОПУСК повторов по частичному совпадению
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Не требуется, достаточно просто окрасить, чтоб пользователь увидел, что он допустил повтор в новой ячейке. Он этот повтор удалит (либо удалит старое значение выше, как сам решит) и всё, соответственно окраска повтора должна пропасть, как в случае с УФ.
Про проверку данных знаю, и уже использую в книге (заблокировал ввод только определенных фамилий пользователей в раскрывающемся списке, чтоб отсебятину не писали, например). Но как реализовать в данном случае не могу сообразить.
Кирилл, фух дочитал) скажу так) показали бы файл с исходными данными (10-20 строк с разными так сказать вариантами) и желаемым результатом и уже думаю получили бы помощь)
Mershik, ща опять будет бредовый пример с написанием ёшкакошкаповарешкабудетсупивандадарьяплюсвулканэйфьятлайокудль и предложат из этого бреда исключить ввод повторов