Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пузырьковая сортировка без дублей. - Мир MS Excel

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Пузырьковая сортировка без дублей. (Excel)
Пузырьковая сортировка без дублей.
Rioran Дата: Вторник, 14.10.2014, 15:03 | Сообщение № 1
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Всем привет и хорошего настроения!

Суть макроса: выбираем ячейки через InputBox (можно, удерживая Control, выбрать несколько диапазонов), код сортирует значения, пустые ячейки превращая в пробел, список очищается от дубликатов и пропусков и выводится в указанную пользователем (опять InputBox) ячейку. По идее сортироваться должны любые значения без разбора - цифры, не цифры.

Предыстория: недавно на форуме нашёл ЭТУ ТЕМУ. Подумал, что интересно было бы написать на это дело макрос. Нашёл алгоритм сортировки пузырьком, любезно оставленный на форуме Николаем, и загорелся идеей сделать шажок к освоению новой для себя области программирования.

Код программы:

Буду рад комментариям, отзывам и советам!
К сообщению приложен файл: Rio_Sort.xlsm (21.1 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Вторник, 14.10.2014, 15:14
 
Ответить
СообщениеВсем привет и хорошего настроения!

Суть макроса: выбираем ячейки через InputBox (можно, удерживая Control, выбрать несколько диапазонов), код сортирует значения, пустые ячейки превращая в пробел, список очищается от дубликатов и пропусков и выводится в указанную пользователем (опять InputBox) ячейку. По идее сортироваться должны любые значения без разбора - цифры, не цифры.

Предыстория: недавно на форуме нашёл ЭТУ ТЕМУ. Подумал, что интересно было бы написать на это дело макрос. Нашёл алгоритм сортировки пузырьком, любезно оставленный на форуме Николаем, и загорелся идеей сделать шажок к освоению новой для себя области программирования.

Код программы:

Буду рад комментариям, отзывам и советам!

Автор - Rioran
Дата добавления - 14.10.2014 в 15:03
SLAVICK Дата: Четверг, 16.10.2014, 01:13 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Попробуйте отсортировать три слова:
ёж
ел
ананас
:D

получается
ёж
ананас
ел

а должно:
ананас
ел
ёж
(если по алфавиту)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеПопробуйте отсортировать три слова:
ёж
ел
ананас
:D

получается
ёж
ананас
ел

а должно:
ананас
ел
ёж
(если по алфавиту)

Автор - SLAVICK
Дата добавления - 16.10.2014 в 01:13
AndreTM Дата: Четверг, 16.10.2014, 02:52 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
а должно: ананас ел ёж
Почему вы так решили? Потому что вы так привыкли? :)
Я, вот, например, давно уже привык к тому, что в локализации ( по коду chr() ) букоффка Ё находится либо до русского алфавита, либо после. Но никак не "внутрях".
Желаете сделать "правильно по вашему ИМХО" - сделайте. Но, плиз, без критики в сторону создателя алгоритма... и кода...

И да, для начала попробуйте заменить chr() на chrW() :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Четверг, 16.10.2014, 02:52
 
Ответить
Сообщение
а должно: ананас ел ёж
Почему вы так решили? Потому что вы так привыкли? :)
Я, вот, например, давно уже привык к тому, что в локализации ( по коду chr() ) букоффка Ё находится либо до русского алфавита, либо после. Но никак не "внутрях".
Желаете сделать "правильно по вашему ИМХО" - сделайте. Но, плиз, без критики в сторону создателя алгоритма... и кода...

И да, для начала попробуйте заменить chr() на chrW() :)

Автор - AndreTM
Дата добавления - 16.10.2014 в 02:52
Gustav Дата: Четверг, 16.10.2014, 10:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
а должно: ананас ел ёж (если по алфавиту)

Похоже, что буквы "е" и "ё" - равноправные "синонимы" и сортировка слов, начинающихся с них, определяется последующими символами, начиная со второго. Вот как отсортировалось по возрастанию стандартной сортировкой Excel:

ёб (извините!)
Евпатория
ЕГЭ
ёж
ёкарный бабай
Ёксель-моксель
ел
енот
ёперный театр
естествознание


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Четверг, 16.10.2014, 10:37
 
Ответить
Сообщение
а должно: ананас ел ёж (если по алфавиту)

Похоже, что буквы "е" и "ё" - равноправные "синонимы" и сортировка слов, начинающихся с них, определяется последующими символами, начиная со второго. Вот как отсортировалось по возрастанию стандартной сортировкой Excel:

ёб (извините!)
Евпатория
ЕГЭ
ёж
ёкарный бабай
Ёксель-моксель
ел
енот
ёперный театр
естествознание

Автор - Gustav
Дата добавления - 16.10.2014 в 10:28
Rioran Дата: Четверг, 16.10.2014, 11:09 | Сообщение № 5
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
SLAVICK, спасибо, что обратили внимание на эту особенность. Если бы кто-то хотел получить список, отсортированный по секциям в, например, энциклопедии - надо было бы допилить дополнительный механизм обработки буквы ё. Например, превращать её в число буквы "е" плюс 0,5.

AndreTM, благодарю за наводку на chrW - c ним работать интереснее =) Ради забавы посмотрел полный набор символов (MSE 2007+):

[vba]
Код
Sub ChrW_Tester()

Dim X As Long

Application.ScreenUpdating = False

For X = -32768 To 65535
     Cells(X + 32769, 1).Value = ChrW(X)
Next X

Application.ScreenUpdating = True

End Sub
[/vba]
Gustav, занятное наблюдение =)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеSLAVICK, спасибо, что обратили внимание на эту особенность. Если бы кто-то хотел получить список, отсортированный по секциям в, например, энциклопедии - надо было бы допилить дополнительный механизм обработки буквы ё. Например, превращать её в число буквы "е" плюс 0,5.

AndreTM, благодарю за наводку на chrW - c ним работать интереснее =) Ради забавы посмотрел полный набор символов (MSE 2007+):

[vba]
Код
Sub ChrW_Tester()

Dim X As Long

Application.ScreenUpdating = False

For X = -32768 To 65535
     Cells(X + 32769, 1).Value = ChrW(X)
Next X

Application.ScreenUpdating = True

End Sub
[/vba]
Gustav, занятное наблюдение =)

Автор - Rioran
Дата добавления - 16.10.2014 в 11:09
nilem Дата: Четверг, 16.10.2014, 21:05 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Вот еще в тему: функция NoDups (выборка уникальных с сортировкой) от ZVI
а вот его файлик
К сообщению приложен файл: ZVI_NoDups.xlsm (25.9 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеВот еще в тему: функция NoDups (выборка уникальных с сортировкой) от ZVI
а вот его файлик

Автор - nilem
Дата добавления - 16.10.2014 в 21:05
SLAVICK Дата: Четверг, 16.10.2014, 21:58 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Почему вы так решили? Потому что вы так привыкли?

Нет не потому. Просто я сталкивался уже с подобной проблемой, когда делал автоматическое оглавление с группировкой по букве.
так вот в Украинском языке также есть такие буквы ("і", "ї"). И то, что я знаю, что эти буквы находятся до а - конечному потребителю объяснить сложно. :D .
Есть алфавит - это эталон как должно сортироваться(если это будут использовать другие пользователи).
Далеко не все из них знают про 255 символов и что код символа "ё" = 184, а "а" = 224 ;)

Желаете сделать "правильно по вашему ИМХО" - сделайте. Но, плиз, без критики в сторону создателя алгоритма... и кода...


Код я не критиковал - просто указал особенность, чтобы те, кто им будет пользоваться понимали возможные "риски". :D


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Почему вы так решили? Потому что вы так привыкли?

Нет не потому. Просто я сталкивался уже с подобной проблемой, когда делал автоматическое оглавление с группировкой по букве.
так вот в Украинском языке также есть такие буквы ("і", "ї"). И то, что я знаю, что эти буквы находятся до а - конечному потребителю объяснить сложно. :D .
Есть алфавит - это эталон как должно сортироваться(если это будут использовать другие пользователи).
Далеко не все из них знают про 255 символов и что код символа "ё" = 184, а "а" = 224 ;)

Желаете сделать "правильно по вашему ИМХО" - сделайте. Но, плиз, без критики в сторону создателя алгоритма... и кода...


Код я не критиковал - просто указал особенность, чтобы те, кто им будет пользоваться понимали возможные "риски". :D

Автор - SLAVICK
Дата добавления - 16.10.2014 в 21:58
Rioran Дата: Четверг, 16.10.2014, 22:05 | Сообщение № 8
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
делал автоматическое оглавление с группировкой по букве

SLAVICK, звучит как будто у Вас есть пара идей, как обойти это дело =)

Я думаю можно было бы создать вспомогательный массив, в котором задана человеко-угодная последовательность алфавита и цифр в первом столбце и индикатор строки во втором. Символу можно было бы присвоить значение по индикатору, а если совпадений нет, присвоить значение из ChrW() + 40'000. И на основании этих значений применить сортирування бульбашкою.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщение
делал автоматическое оглавление с группировкой по букве

SLAVICK, звучит как будто у Вас есть пара идей, как обойти это дело =)

Я думаю можно было бы создать вспомогательный массив, в котором задана человеко-угодная последовательность алфавита и цифр в первом столбце и индикатор строки во втором. Символу можно было бы присвоить значение по индикатору, а если совпадений нет, присвоить значение из ChrW() + 40'000. И на основании этих значений применить сортирування бульбашкою.

Автор - Rioran
Дата добавления - 16.10.2014 в 22:05
SLAVICK Дата: Четверг, 16.10.2014, 22:05 | Сообщение № 9
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Похоже, что буквы "е" и "ё" - равноправные "синонимы" и сортировка слов, начинающихся с них, определяется последующими символами, начиная со второго. Вот как отсортировалось по возрастанию стандартной сортировкой Excel

Вы правы в Экселе так и есть. Недостаток это или преимущество каждый определяет для себя сам.
Я же склонен считать, что это скорее всего первоначальное упущение создателей офиса,и попытка потом это исправить :p
В интерфейсе для простых пользователей - исправили, а в ВБА не стали :(


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Похоже, что буквы "е" и "ё" - равноправные "синонимы" и сортировка слов, начинающихся с них, определяется последующими символами, начиная со второго. Вот как отсортировалось по возрастанию стандартной сортировкой Excel

Вы правы в Экселе так и есть. Недостаток это или преимущество каждый определяет для себя сам.
Я же склонен считать, что это скорее всего первоначальное упущение создателей офиса,и попытка потом это исправить :p
В интерфейсе для простых пользователей - исправили, а в ВБА не стали :(

Автор - SLAVICK
Дата добавления - 16.10.2014 в 22:05
SLAVICK Дата: Четверг, 16.10.2014, 22:10 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
звучит как будто у Вас есть пара идей, как обойти это дело =)

Я делал так:
заменял букву "ё" на "еяя" - сортировал, а потом наоборот "еяя" заменял на "ё"
Мне не попадались слова с буквосочетаниями "еяя", поэтому у меня работало. :D
Но теоретически возможно встретить такое сочетание... тогда будут ошибки :o


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 16.10.2014, 22:12
 
Ответить
Сообщение
звучит как будто у Вас есть пара идей, как обойти это дело =)

Я делал так:
заменял букву "ё" на "еяя" - сортировал, а потом наоборот "еяя" заменял на "ё"
Мне не попадались слова с буквосочетаниями "еяя", поэтому у меня работало. :D
Но теоретически возможно встретить такое сочетание... тогда будут ошибки :o

Автор - SLAVICK
Дата добавления - 16.10.2014 в 22:10
Rioran Дата: Четверг, 16.10.2014, 22:15 | Сообщение № 11
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Идея хороша...

"еяя" ... теоретически возможно встретить такое сочетание...

Например, на производстве, где маркируют детали последовательностями букв, или при работе с аббревиатурами. Тогда склоняюсь больше к выборочной замене подобных символов на ближайший: ChrW() + 0,5


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеИдея хороша...

"еяя" ... теоретически возможно встретить такое сочетание...

Например, на производстве, где маркируют детали последовательностями букв, или при работе с аббревиатурами. Тогда склоняюсь больше к выборочной замене подобных символов на ближайший: ChrW() + 0,5

Автор - Rioran
Дата добавления - 16.10.2014 в 22:15
SLAVICK Дата: Четверг, 16.10.2014, 22:29 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вы спросили я ответил :D
У меня не было необходимости усложнять, так как работа была со стандартными словами.
нужно было срочно найти решение - это было самое простое, что я смог тогда придумать.
Можно конечно не "еяя", а "еяяяяя" - тогда вероятность существенно уменьшается :D
К сожалению я пока не работал с ChrW :( - поэтому ничего по этому поводу сказать не могу.
Но будет повод изучить :)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВы спросили я ответил :D
У меня не было необходимости усложнять, так как работа была со стандартными словами.
нужно было срочно найти решение - это было самое простое, что я смог тогда придумать.
Можно конечно не "еяя", а "еяяяяя" - тогда вероятность существенно уменьшается :D
К сожалению я пока не работал с ChrW :( - поэтому ничего по этому поводу сказать не могу.
Но будет повод изучить :)

Автор - SLAVICK
Дата добавления - 16.10.2014 в 22:29
SLAVICK Дата: Четверг, 16.10.2014, 22:39 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Если хотите 100% результат.
Мне кажется лучше использовать словарь:

что то вроде:
[vba]
Код

Set dict = CreateObject("Scripting.Dictionary")
For Each i In Array("а", "б", "в", "е", "ё")
n = n + 1
dict.Add i, n
Next
[/vba]
а потом при сравнении смотреть какой номер в словаре занимает этот символ.

При таком подходе можно будет задать свою сортировку :)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЕсли хотите 100% результат.
Мне кажется лучше использовать словарь:

что то вроде:
[vba]
Код

Set dict = CreateObject("Scripting.Dictionary")
For Each i In Array("а", "б", "в", "е", "ё")
n = n + 1
dict.Add i, n
Next
[/vba]
а потом при сравнении смотреть какой номер в словаре занимает этот символ.

При таком подходе можно будет задать свою сортировку :)

Автор - SLAVICK
Дата добавления - 16.10.2014 в 22:39
AndreTM Дата: Суббота, 18.10.2014, 00:12 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Мне кажется лучше использовать словарь:
думаю можно было бы создать вспомогательный массив, в котором задана человеко-угодная последовательность алфавита
:)
Ну да. При создании "конечных пользовательских интерфейсов" поможет именно и только словарь (или несколько словарей), или вообще любой механизм, считывающий из базы/создающий сам необходимые списки. Полагаться на то, что "внутренние" наборы данных приложения навечно останутся неизменными - по меньшей мере, глупомалопрофессионально... Особенно в приложениях M$ :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Мне кажется лучше использовать словарь:
думаю можно было бы создать вспомогательный массив, в котором задана человеко-угодная последовательность алфавита
:)
Ну да. При создании "конечных пользовательских интерфейсов" поможет именно и только словарь (или несколько словарей), или вообще любой механизм, считывающий из базы/создающий сам необходимые списки. Полагаться на то, что "внутренние" наборы данных приложения навечно останутся неизменными - по меньшей мере, глупомалопрофессионально... Особенно в приложениях M$ :)

Автор - AndreTM
Дата добавления - 18.10.2014 в 00:12
nerv Дата: Суббота, 18.10.2014, 11:51 | Сообщение № 15
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Сортировка и выборка уникальных - две разные задачи. Сливать их в одну не вижу смысла.

Пузырьковая сортировка - одна из самых медленных.

[vba]
Код
Sub io()
     MsgBox Asc("е")
     MsgBox Asc("ё")
      
     MsgBox Asc(StrConv("е", vbUnicode))
     MsgBox Asc(StrConv("ё", vbUnicode))
     MsgBox Asc(StrConv("ж", vbUnicode))
End Sub
[/vba]

но в этом случае будет

[vba]
Код
["ананас", "ел", "жора", "ёж"]
[/vba]


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
СообщениеСортировка и выборка уникальных - две разные задачи. Сливать их в одну не вижу смысла.

Пузырьковая сортировка - одна из самых медленных.

[vba]
Код
Sub io()
     MsgBox Asc("е")
     MsgBox Asc("ё")
      
     MsgBox Asc(StrConv("е", vbUnicode))
     MsgBox Asc(StrConv("ё", vbUnicode))
     MsgBox Asc(StrConv("ж", vbUnicode))
End Sub
[/vba]

но в этом случае будет

[vba]
Код
["ананас", "ел", "жора", "ёж"]
[/vba]

Автор - nerv
Дата добавления - 18.10.2014 в 11:51
Gustav Дата: Понедельник, 20.10.2014, 10:58 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
[offtop]Танцевальная демонстрация различных алгоритмов сортировки

Bubble-sort - http://www.youtube.com/watch?v=lyZQPjUT5B4
Insert-sort - http://www.youtube.com/watch?v=ROalU379l3U
Shell-sort - http://www.youtube.com/watch?v=CmPA7zE8mx0
Select-sort - http://www.youtube.com/watch?v=Ns4TPTC8whw


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение[offtop]Танцевальная демонстрация различных алгоритмов сортировки

Bubble-sort - http://www.youtube.com/watch?v=lyZQPjUT5B4
Insert-sort - http://www.youtube.com/watch?v=ROalU379l3U
Shell-sort - http://www.youtube.com/watch?v=CmPA7zE8mx0
Select-sort - http://www.youtube.com/watch?v=Ns4TPTC8whw

Автор - Gustav
Дата добавления - 20.10.2014 в 10:58
SLAVICK Дата: Понедельник, 20.10.2014, 14:44 | Сообщение № 17
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019

Если честно не совсем вник в цитату "Rioran" поэтому получилось дублирование мысли :D
Вообще да- одно и тоже, только со словарем. :)

Сортировка и выборка уникальных - две разные задачи. Сливать их в одну не вижу смысла.

Пузырьковая сортировка - одна из самых медленных


И да и нет - механизм сочетающий в себе 2 механизма сразу.
Кому-то может быть полезен, как готовое решение(особенно тем, кому сложно в вба соединить 2 механизма в один) :D

Таки да - Пузырьковая сортировка - одна из самых медленных :D
Мне больше нравится от сюда:


Танцы - супер :D . Очень наглядное объяснение %)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Если честно не совсем вник в цитату "Rioran" поэтому получилось дублирование мысли :D
Вообще да- одно и тоже, только со словарем. :)

Сортировка и выборка уникальных - две разные задачи. Сливать их в одну не вижу смысла.

Пузырьковая сортировка - одна из самых медленных


И да и нет - механизм сочетающий в себе 2 механизма сразу.
Кому-то может быть полезен, как готовое решение(особенно тем, кому сложно в вба соединить 2 механизма в один) :D

Таки да - Пузырьковая сортировка - одна из самых медленных :D
Мне больше нравится от сюда:


Танцы - супер :D . Очень наглядное объяснение %)

Автор - SLAVICK
Дата добавления - 20.10.2014 в 14:44
MCH Дата: Понедельник, 20.10.2014, 18:49 | Сообщение № 18
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

В свое время тоже делал сортировку уникальных на коллекциях методом вставки.
В отличие от функции NoDups от ZVI из 6 сообщения поиск места вставки делал методом половинного деления, а не с поэлементным сравнением. Это дает хорошее ускорение.
На 5000 элементах с 3116 унакальными значениями сортировка производится менее секунды (более чем в 20 раз быстрее чем у ZVI)

"Пузырек" Романа на этих же данных считал 3 минуты, при этом отсортировал не верно и допустил дубликаты
К сообщению приложен файл: Function_Sorted.xlsm (71.8 Kb)


Сообщение отредактировал MCH - Понедельник, 20.10.2014, 19:00
 
Ответить
СообщениеВ свое время тоже делал сортировку уникальных на коллекциях методом вставки.
В отличие от функции NoDups от ZVI из 6 сообщения поиск места вставки делал методом половинного деления, а не с поэлементным сравнением. Это дает хорошее ускорение.
На 5000 элементах с 3116 унакальными значениями сортировка производится менее секунды (более чем в 20 раз быстрее чем у ZVI)

"Пузырек" Романа на этих же данных считал 3 минуты, при этом отсортировал не верно и допустил дубликаты

Автор - MCH
Дата добавления - 20.10.2014 в 18:49
SLAVICK Дата: Понедельник, 20.10.2014, 19:13 | Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
МСН, а проблема с "ёжиками" и у Вас присутствует :D
А все по той же причине, что и раньше. Эксель не знает алфавит :D (т.е. те кто писал программный код не знает)

ананас
еж45
ел
яблуко
ёж
ёжик

Но скорость hands
Посмотрю у себя в архивах - где-то я тоже такое делал.
Я тоже добавлял в коллекцию, а потом сортировал.


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Понедельник, 20.10.2014, 19:24
 
Ответить
СообщениеМСН, а проблема с "ёжиками" и у Вас присутствует :D
А все по той же причине, что и раньше. Эксель не знает алфавит :D (т.е. те кто писал программный код не знает)

ананас
еж45
ел
яблуко
ёж
ёжик

Но скорость hands
Посмотрю у себя в архивах - где-то я тоже такое делал.
Я тоже добавлял в коллекцию, а потом сортировал.

Автор - SLAVICK
Дата добавления - 20.10.2014 в 19:13
MCH Дата: Понедельник, 20.10.2014, 19:42 | Сообщение № 20
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

а проблема с "ёжиками" и у Вас присутствует

Про "ёжиков" не заморачивался, можно также как предлагалось менять "ё" на "е" или "еяяяя" при сравнении текстовых строк
Пример во вложении, без особых доработок исходного файла
К сообщению приложен файл: Sorted_Array_of.xlsm (17.0 Kb)
 
Ответить
Сообщение
а проблема с "ёжиками" и у Вас присутствует

Про "ёжиков" не заморачивался, можно также как предлагалось менять "ё" на "е" или "еяяяя" при сравнении текстовых строк
Пример во вложении, без особых доработок исходного файла

Автор - MCH
Дата добавления - 20.10.2014 в 19:42
Мир MS Excel » Вопросы и решения » Готовые решения » Пузырьковая сортировка без дублей. (Excel)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!