|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Всем привет! Есть таблица с загруженными данными. Возможно ли отсортировать значения в ячейках и занести их в другой столбец? Пример данных: R65, R79, R1, R2, R20, R37, R51, R28, R38, R43, R52, R57, R66, R71, R80, R36, R50, R64, R78, R16, R7, R13, R22, R21, R9, R11, R12, R18, R19, R29, R44, R58, R72, R15, R17, R3, R25, R32, R33, R40, R46, R47, R54, R60, R61, R68, R74, R75, R8, R5, R6, Буду благодарен любым советам. Файл прилагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2021, 17:51 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
А надо формулами или на vba можно? Формулами - не знаю, на vba сделал бы цикл и использовал например функцию split.... Получил бы массив значений - а дальше - хоть сортируй, хоть в любой столбец вставляй. Правда, для сортировки пришлось бы еще одну функцию на vba написать... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 08:05 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Способ может быть любой. Мне главное - задачу решить. Получить во втором столбце отсортированные данные. В экселе я разбираюсь неплохо, но насколько я понял формулами это вряд ли можно сделать, по крайней мере я способа не нашел. На просторах инета нашел похожий пример: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=72769. Но, к сожалению, VBA не знаю, и как его применить не представляю. Буду очень признателен, если кто-то сможет мне помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 12:04 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3.
где sort() - это любая функция сортировки строкового массива. Хоть пузырьком... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:17 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Akina строкового массива ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:23 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Эх, знать бы как это к моим данным прицепить.. Я же писал с VBA не знаком к сожалению... Формулы любой сложности пишу без проблем, на том мои знания заканчиваются. Если возможно прицепить это к моему примеру и получить готовый результат. Буду весьма признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:25 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
А вообще, это задача одноразовая или нужно именно регулярно делать? Обязательно прям автоматизировать? Может проще "текст по столбцам" да и отсортировать средствами экселя? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:37 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Мы формируем списки деталей для наших радиомонтажников. Им удобно, когда список идет по возрастанию. R1, R2, R5, R10 и тд. Когда они все вперемежку, им неудобно, они тратят больше времени. Список деталей формируется и разных баз и в зависимости от модификации изделия, это я все уже сделал. Осталось сделать последний штрих - отсортировать собранные данные. И поскольку стандартными средствами то сделать не получается - возникла данная проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:48 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
ВладимирВ R1, R2, R5, R10 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:52 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
X5X6 X9X10 X13X14 X17X18 а вот такая штука из примера как должна быть отсортирована? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 13:58 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Конечно наверно можно и вручную. Можно и список деталей вручную написать. Написана достаточно сложная таблица с подвязкой кучи баз. Все отлажено и прекрасно работает. Выбирается базовая модель и все нужные доп. модули. Прекрасно формируется список нужных элементов. Брать и что-то доделывать ручками, можно, но унизительно. Хотелось бы вишенку на торте. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:02 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Эта штука отсортирована правильно. По первым буквоцифрам. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:03 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Ну вот конкретный пример: R30, R31, R45, R59, R73, R35, R49, R63, R77 Номера позиций идут вразнобой. Надо по порядку вот так: R30, R31, R35, R45, R49, R59, R63, R73, R77 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:09 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Сортировка по цифре и числу - это не одно и то же А что такое буквоцифра - вообще не ясно. То есть нужно отсортировать 1) по буквам и другим символам до ближайшей цифры по алфавиту 2) по числу, взятому из цифр до ближайшего нецифрового символа 3) все, что после последней цифры - отбрасывается и не участвует в сортировке Правильное ТЗ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:12 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Согласитесь, человеку гораздо легче найти нужный элемент в списке, когда он упорядочен. Когда все элементы перемешаны, а список довольно длинный - то занимает много времени и ведет к возникновению ошибок. На начальном этапе нужный список формируется из разных баз. Конечно получается просто массив данных без всякой сортировки. Но любому человеку легче и приятней работать с отсортированным списком. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:20 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
В пределах строки все элементы начинаются на одну букву. Значит, как я понимаю, нужно отсортировать по цифрам, идущим после букв. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:22 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
В общем случае букв может быть не одна, а несколько, например VD1, VD2, VD3, VD4, VD5, VD6, VD8, VD12, VD14, VD18, VD20, VD24, VD26, VD10, VD11, VD16, VD17, VD22, Я бы сделал так. В пределах строки отрезаем буквы, сортируем оставшиеся цифры и приклеиваем буквы обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:25 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
ВладимирВ Отрезаем буквы 56 910 1314 1718именно так надо? то есть, к примеру X9X105 будет больше, чем X13X14 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:27 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Такой вариант сортируем по первым букво-цифрам, то есть берем строку X5X6, X9X10, X13X14, X17X18 И смотрим на первые буквоцифры: Х5..., Х9..., Х13.., Х17 Видим, что она отсортирован правильно, сортировка не требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:34 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Да и так вроде очевидно, что все цифры идут по возрастанию, сортировка не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:36 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Shocker.Pro Akina строкового массива Какая разница? как надо, так пусть и сортирит. Всё одно эту функцию сортировки тоже писАть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:40 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
ВладимирВ Такой вариант сортируем по первым букво-цифрам, то есть берем строку X5X6, X9X10, X13X14, X17X18 И смотрим на первые буквоцифры: Х5..., Х9..., Х13.., Х17 Видим, что она отсортирован правильно, сортировка не требуется. X13X14 X13X9 X13X1 это нормально, так? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 14:47 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
то есть если по результату будет X13X14 X13X9 X13X1 это нормально, так? Это как так? Я же писал. X5X6, X9X10, X13X14, X17X18 В каждом элементе берем первые буквы и цифры, имеем: Х5, Х9, Х13, Х17 Видим, что массив уже упорядочен по возрастанию элементов. Сортировка не требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 15:20 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Я пытаюсь выяснить алгоритм сортировки. Причем я предложил даже ТЗ, но ты его не подтвердил. Ты говоришь. ВладимирВ Такой вариант сортируем по первым букво-цифрам ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 15:25 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Да, по-моему ТЗ правильное. Следуя ему все строки должны сортироваться верно. Только по-моему первый пункт лишний, ибо в пределах всегда одной строки идет перечень элементов, у которых начальные буквы одинаковые, так что сортировка по первым буквам не требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 15:32 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Вот может так будет понятней. Сортитруем строки, чтобы красные числа шли по порядку. X5X6, X9X10, X13X14, X17X18 VD1, VD2, VD3, VD4, VD5, VD6, VD8, VD12, VD14, VD18, VD20, VD24, VD26, VD10, VD11, VD16, VD17, VD22, VD23, VD28, VD29, VD0, VD9, VD7, В соседнем столбце должно получиться: X5X6, X9X10, X13X14, X17X18 VD0, VD1, VD2, VD3, VD4, VD5, VD6, VD7, VD8, VD9, VD10, VD11, VD12, VD14, VD16, VD17, VD18, VD20, VD22, VD23, VD24, VD26, VD28, VD29, ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 15:40 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Воткнул первый попавшийся алгоритм сортировки. Алгоритм сравнения совершенно не оптимизирован по скорости ради упрощения. Но если сильно длинных строк не будет, сойдет для сельской местности ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 17:13 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Отъезжал по делам - только вернулся. Вижу присланный файл. Огромное спасибо за содействие. Не сочтите за дурацкий вопрос. Где мне взять программу сортировки =sort_csv куда ее прописать у себя? По поводу быстродействия - меня устроит любой вариант, лишь бы работал. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 20:05 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
В макросах не нашел. Разработчик - просмотр кода - тоже нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 20:17 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Правая кнопка на ярлыке листа - Посмотреть код - тоже нет. Где его найти? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 20:19 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Alt+F11 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 20:39 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Вижу у вас сортировка работает. Прописал эту формулу к себе. Лист "Дата" Колонка АЕ. В качестве аргумента указал колонку AD. Скопировал функцию. Но ничего не заработало. Я понимаю, что где-то накосячил, но не пойму где, уже все перерыл. Помогите разобраться. Файл прилагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2021, 22:52 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
функция должна быть в модуле ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 00:43 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Все сделал, все заработало. Огромное вам спасибо. Дальше все доделаю сам, а вот такую функцию я сам вряд ли наваял. Еще раз куча благодарностей! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 13:57 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
На будущее - функцию написать - полдела. Основное время ушло на выяснение ТЗ Так что уделяй внимание ТЗ, а не просто - нате вам файл, ТЗ придумайте сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 15:43 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Добрый вечер! Еще раз хочу выразить благодарность за профессионализм и готовность помочь другим людям. Ваша программа работает безукоризненно, никаких претензий нет. С быстродействием тоже все в норме, массивы у нас небольшие, обработка происходит быстро. Сотрудники, получающие листы с распечаткой наборов деталей отметили значительное удобство сортированных данных. Они просят внести еще одну коррекцию в выходные данные. Не сочтите за наглость, если я попрошу написать еще одну маленькую программульку. Если вы не располагаете лишним временем - скажите, я ничуть не обижусь, вы и так для нас много сделали. В чем суть. Выходные данные бывают достаточно большие, глазу их трудно воспринимать, желательно укоротить. Для этого, если подряд идет более 2-х элементов с шагом 1, их желательно заменить на следующую конструкцию: Первый элемент ... Последний элемент Поясню на примерах: C41, C42, C43, C44, Все номера идут подряд, заменяем на C41 ... C44 VT1, VT3, VT5, VT6, VT7 - должно получиться: VT1, VT3 VT5 ... VT7 VD1, VD2, VD3, VD4, VD5, VD6, VD8, VD10, VD11, VD12, VD14, VD16, VD17, VD18, VD20, VD22, VD23, VD24, VD26, VD28, VD29, укорачиваем до: VD1 ... VD6, VD8, VD10, VD11, VD12, VD14, VD16 ... VD18, VD20, VD22 ... VD24, VD26, VD28, VD29, Если вы не сможете помочь - я сделаю это вручную. Например для второй строки это будет =ПОДСТАВИТЬ(AF47;"VT5, VT6, VT7";"VT5 … VT7") Проблема в том, что для каждой строки надо писать свою функцию подстановки. Если входные данные изменятся - надо будет все функции корректировать. Ну и не очень понятно, как в пределах одной строки эту функцию использовать несколько раз (длинная строка с элементами VD). Ну и, конечно, эту программу можно было бы использовать в других проектах, мне таких списков надо сделать не один. В общем, если сможете помочь - буду премного благодарен, если нет - будем выкручиваться сами. Файл с данными прилагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 21:50 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
попробую завтра найти на это время ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 01:12 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Буду премного благодарен, жду с нетерпением. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 09:58 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Это не просто прихоть монтажников. Именно так оформляется техническая документация на сборку. Вот первый попавшийся пример, видно, что однотипные элементы сгруппированы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 13:11 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
функция вместо sort_csv Код: vbnet 1. 2. 3. 4. 5.
функция для склейки Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 23:35 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Shocker.Pro, ? simplify(array("A1","A2","A3","A5")) A1 ... A3, A5 ? simplify(array("A1","A2","A3","A4"));"проблема с правой границей" A1проблема с правой границей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 01:59 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Shocker.Pro X5X6 X9X10 X13X14 X17X18 а вот такая штука из примера как должна быть отсортирована? и, кстати, как понять - кто из них соседи, а кто нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 02:15 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
booby, спасибо, забыл про финализацию при открытой последовательности, эх, где мой любимый Linq booby и, кстати, как понять - кто из них соседи, а кто нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 09:48 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Добрый день! Сегодня с утра увидел присланный материал. Огромное спасибо! К сожалению сразу проверить не могу - уезжаю на сутки в командировку. Завтра вернусь - и сразу буду разбираться. Только скажите, эту функцию можно добавить к тому модулю, или надо в отдельный? Еще раз огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 10:18 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
К тому. Но там есть ошибка (спасибо booby), она не проявляется на твоих данных (потому что у тебя есть запятая с пробелом в конце списка, то есть как бы пустой элемент), но исправить ее нужно, так что позже будет исправленная версия ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 15:20 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
исправленная Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 00:38 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Всем привет! Вернулся из командировки - и сразу сюда. Хочу поблагодарить всех, кто принимает участие. Мы делаем действительно нужное дело. Монтажники привыкли работать с удобной информацией. Эти две программы хаотичный список из кучи элементов приводят в полный порядок - сортируют и группируют. И глазу приятней и работать удобней, значит меньше ошибок. Хочу ответить товарищу booby на вопрос по поводу данных X5X6, X9X10, X13X14, X17X18, Я выше уже писал об этом, но мне нетрудно пояснить еще раз. Определяющими тут являются первая пара букв и цифр, вторая - просто хвостик X5X6, X9X10, X13X14, X17X18, Глядя на красные элементы видно, что они идут по возрастанию, значит сортировка не требуется, и нет более 2-х элементов подряд с шагом 1, значит группировка тоже не требуется. Ну а сейчас буду пробовать программу группировки. Вы говорили, там надо сделать маленькую доработку - как всегда жду с нетерпением и буду весьма признателен. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 20:42 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
ВладимирВ Вы говорили, там надо сделать маленькую доработку - как всегда жду с нетерпением и буду весьма признателен ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 22:06 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
Всем привет! У меня большая проблема. Трудно понять, что произошло, дело было так. Вставил в Excel код, который вы прислали мне вчера. Вылезла ошибка. Немного почесав репу и сравнив его с программой сортировки, увидел, что там не хватает объявления переменной. Взял из первого варианта (вроде с небольшой ошибкой) строки: Public Function simplify_csv(src As String) As String simplify_csv = Simplify(SortArray(Split(src, ", "))) End Function Заменил simplify_csv на Simplify - и у меня Excel завис! Пришлось запускать диспетчер задач и снимать задачу. Файл после этого испортился и больше не запускается. Восстановить из панели восстановления тоже не получается - Excel то висит! Я понимаю, что программа здесь скорее всего ни при чем, а просто какое-то чудовищное совпадение. Но файл потерян, сейчас буду его ка-то восстанавливать и пробовать заново. Файл прилагаю - вдруг у вас откроется. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2021, 11:53 |
|
Сортировка внутри ячейки EXCEL
|
|||
---|---|---|---|
#18+
УРА, все заработало! Файл восстановил, благо скидывал его на ваш форум недавно - оттуда и скачал. С программой разобрался - работает просто отлично. Эту пару - сортировка + группировка теперь буду применять и в других проектах со списками деталей. Еще раз всем ОГРОМНОЕ СПАСИБО! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2021, 19:01 |
|
|
Start [/forum/topic.php?all=1&fid=61&tid=2171722]: |
0ms |
get settings: |
30ms |
get forum list: |
9ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
85ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
1174ms |
get tp. blocked users: |
2ms |
others: | 171ms |
total: | 1503ms |
0 / 0 |