Страницы: 1 2 След.
RSS
Удаление дубликатов с учетом регистра
 
Есть в Excel кнопка "Удалить дубликаты".  
Когда я ее обнаружил, то очень обрадовался, потому что она очень подходила для моей задачи - в 8 колонках нужно было удалить дубликаты, чтобы потом использовать этот уникальный набор для последующих вычислений.  
Но вчера выяснилось такое, что мне захотелось выкинуть компьютер из окна, потому что эта команда "Удалить дубликаты" считает, что значение "Уход"="уход", т.е. она не различает регистр символов. Но самое главное, что это НЕ опция в Excel, это как бы само собой, и никак нельзя сказать: "Дорогой Excel, пожалуйста, давайте различать регистр при удалении дубликатов."  
И что же было дальше... Конечно, я начал гуглить. Гуглил, гуглил значит, и нагуглил, что можно сделать почти тоже самое при помощи "Расширенного фильтра" и вроде как должна различаться настоящая уникальность ячеек.  
Для проверки я сделал простейший тест. В колонке ввел 5 ячеек: "Уход", "Уход", "уход", "уход", "йцукен". Открыл операцию "Расширенный фильтр", указал, что нужно поместить результат фильтрации в соседнюю колонку, поставил галочку "только уникальные записи" и нажал ОК... От увиденного мои глаза полезли на лоб! Результат фильтрации это три ячейки со следующими значениями: "Уход", "Уход", "йцукен". Такого жесткого бага от Microsoft я не ожидал (...плюс несколько отборных матов).  
 
Вобщем, ищу простое решение для моей простой задачи.  
Всем спасибо.
 
А как на счёт того, чтобы файл-пример показать ? ;-)
 
>со следующими значениями: "Уход", "Уход", "йцукен"<  
 
А не может быть, чтоб в слове были латинские буквы? ..x или o
 
> А не может быть, чтоб в слове были латинские буквы? ..x или o Смотрим прикрепленное видео. <BR><STRONG>Файл удален</STRONG> - велик размер [Модераторы]
 
> А как на счёт того, чтобы файл-пример показать ? ;-)  
Пример чего показать? То что операция "Удалить дубликаты" работает с учетом регистра это факт. Баг записал на видео, также это было проверено в 2003 Excel, то же самое.
 
> операция "Удалить дубликаты" работает с учетом регистра  
здесь ошибся, без учета регистра конечно
 
Первая строка у вас осталась как заголовок - смотрите настроки матера. А регистр не различает - это верно.
 
> Первая строка у вас осталась как заголовок - смотрите настроки матера.  
Михаил, спасибо огромное, вопрос про баг снят!  
Что такое "матера"?  
 
Главный вопрос так и не решен... Как собрать уникальные значения из столбца?
 
{quote}{login=KeepWalkin}{date=01.10.2009 12:53}{thema=}{post}>  Что такое "матера"?  
{/post}{/quote}  
Орфографическая ошибка. Должно быть "мастера".
 
{quote}{login=KeepWalkin}{date=01.10.2009 12:53}{thema=}{post}> Главный вопрос так и не решен... Как собрать уникальные значения из столбца?{/post}{/quote}  
Нужен файл-пример. Прописные только в начале текста, или где угодно?
 
{quote}{login=KeepWalkin}{date=01.10.2009 12:53}{thema=}{post}>  
...Главный вопрос так и не решен... Как собрать уникальные значения из столбца?{/post}{/quote}  
Вариантов море - какой нужен? Чтобы узнать - надо знать что за данные, в каком формате... Словом: ваш пример - наши варианты (давно просят).
 
Дополнительный столбец с кодами первых символов. Фильтрация по двум столбцам на случай, если первые символы одинаковы, а далее текст другой.  
Но это только как идея. Зависит от данных. Если заглавная справа или посередине?
 
Проверил. У меня то же самое. Смещал на несколько строк вниз. (2003 Excel)
 
{quote}Нужен файл-пример. Прописные только в начале текста, или где угодно?{/quote}  
Прописные где угодно.  
Регистр имеет значение везде, то есть символ "У" не равен "у".  
Тип данных - текст.  
 
В примере файла:  
Колонки желательно не сортировать.  
Желательно не добавлять новых колонок.  
Можно сохранить результат на отдельном листе, но чтобы было точно такое же расположение колонок.  
Очень важно, чтобы между уникальными ячейками, которые находятся в одном столбце не было пустых ячеек.  
Если для получения результата будет использоваться формула, то прошу в двух словах описать используемый прием.
 
пример файла забыл прикрепить :)
 
Хоть у меня и 2007, но примеры в этом формате не люблю. А у многих так вообще - 2003...
 
{quote}{login=Михаил}{date=01.10.2009 01:45}{thema=}{post}Хоть у меня и 2007, но примеры в этом формате не люблю. А у многих так вообще - 2003...{/post}{/quote}  
Прикрепляю 2003.  
Я просто уже привык к 2007, так как часто приходится работать с большим кол-вом строк (больше чем 65536).
 
{quote}{login=Михаил}{date=01.10.2009 01:45}{thema=}{post}Хоть у меня и 2007, но примеры в этом формате не люблю. А у многих так вообще - 2003...{/post}{/quote}  
К тому же мне понравилось, что xlsx-файлы весят гораздо меньше, чем их xls-старики :)
 
Я не понял, как у вас нужно удалять.... мне, например, сказал "поторы не найдены"
 
Предыдущий пост мой...  
>>"К тому же мне понравилось, что xlsx-файлы весят гораздо меньше, чем их xls-старики :)" - но 2003 я непосредственно открываю, без соранения, а 2007 приходится сохранять с измененим расширения...
 
"Желательно не добавлять новых колонок" Желательно или невозможно?  
В дополнительный столбец выводится уникальное число (формула массива):  
=СУММ(КОДСИМВ(ПСТР(G2;СТРОКА($1:$4);5))^СТРОКА(1:4))  
Вместо СТРОКА() - определение длины текста.
 

{quote}{login=}{date=01.10.2009 01:59}{thema=}{post}Я не понял, как у вас нужно удалять.... мне, например, сказал "поторы не найдены"{/post}{/quote} На видео показано удаление дубликатов в одном из столбцов. Нужно чтобы было тоже самое, но с учетом регистра.<BR><STRONG>Файл удален</STRONG> - велик размер [Модераторы]

 
честно говоря непонятно на что вы жалуетесь..  
 
в контексте вашего примера кажется разумным, что строки  
BMW и bmw  считаются неуникальными  
 
а тем более  
 
bmw бензин  
bmw Бензин  
 
а вот    
 
bmw бензин и bmw дизель - разные(т.е. уникальные)
Живи и дай жить..
 
{quote}{login=vikttur}{date=01.10.2009 02:11}{thema=}{post}"Желательно не добавлять новых колонок" Желательно или невозможно?  
В дополнительный столбец выводится уникальное число (формула массива):  
=СУММ(КОДСИМВ(ПСТР(G2;СТРОКА($1:$4);5))^СТРОКА(1:4))  
Вместо СТРОКА() - определение длины текста.{/post}{/quote}  
Можно поместить на отдельном листе переведенные в коды строки, а потом на третьем листе результат (без пустых ячеек между уникальными значениями).
 
{quote}{login=слэн}{date=01.10.2009 02:19}{thema=}{post}честно говоря непонятно на что вы жалуетесь..  
 
в контексте вашего примера кажется разумным, что строки  
BMW и bmw  считаются неуникальными  
 
а тем более  
 
bmw бензин  
bmw Бензин  
 
а вот    
 
bmw бензин и bmw дизель - разные(т.е. уникальные){/post}{/quote}  
Уникальность нужно взять по каждому столбцу в отдельности, типа UNIQUE (`Заголовок 1`), а не UNIQUE (`Заголовок 1`, `Заголовок 2`)
 
"Можно поместить на отдельном листе переведенные в коды строки, а потом на третьем листе результат"  
Так в чем проблема? Помещайте, толчок получен.  
Но... Если таблица большая, формулы массива (а в них текстовые функции) будут сильными тормозами. Тогда лучше - взор на макрос.
 
{quote}{login=KeepWalkin}{date=01.10.2009 02:27}{thema=Re: }{post}{quote}{login=слэн}{date=01.10.2009 02:19}{thema=}{post}честно говоря непонятно на что вы жалуетесь..  
 
в контексте вашего примера кажется разумным, что строки  
BMW и bmw  считаются неуникальными  
 
а тем более  
 
bmw бензин  
bmw Бензин  
 
а вот    
 
bmw бензин и bmw дизель - разные(т.е. уникальные){/post}{/quote}  
Уникальность нужно взять по каждому столбцу в отдельности, типа UNIQUE (`Заголовок 1`), а не UNIQUE (`Заголовок 1`, `Заголовок 2`){/post}{/quote}  
 
все равно не понимаю зачем..  
 
но попробуйте вот такую формулу(можно и в условном форматировании - потом сортировать или фильтровать по цвету)
Живи и дай жить..
 
Вот пример, а как избавиться от пустых строчек поищите на форуме.
 
Михаил, в таком случае формула массива - лишнее:  
=ЕСЛИ(СЧЁТЕСЛИ(A$2:A2;A2)=1;A2;"")
 
Извините, поспешил - СЧЁТЕСЛИ "не узнает" разницу между строчными/прописными.
Страницы: 1 2 След.
Читают тему
Наверх