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

 

= Мир MS Excel/Сортировка значений - из одного столбца в один из пяти - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Сортировка значений - из одного столбца в один из пяти
Wildmechanic1488 Дата: Понедельник, 21.02.2022, 17:54 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Доброго здравия.
Встала задача по сортировке списка имен файлов. Думаю, задачу возможно решить с помощью Эксель... но как? ничего путного в голову не пиходит.

Есть папка с файлами.
имя файла состоит из «общей части (в примере QW.ERT.12.34567.89 – сохранен тип знака («буква/цифра) и «индивидуальной» - три цифры.
Файлы могут быть пяти типов (расширений)

QW.ERT.12.34567.89.100.тип1 (имя файла «тип1» может оканчиваться только на ноль)
QW.ERT.12.34567.89.101.тип2 (имя файла «тип2» не может оканчиваться на ноль)
QW.ERT.12.34567.89.100.тип3
QW.ERT.12.34567.89.101.тип3
QW.ERT.12.34567.89.101.тип4(имя файла «тип4» не может оканчиваться на ноль)
QW.ERT.12.34567.89.100.тип5 (имя файла «тип5» может оканчиваться только на ноль)
«не может оканчиваться» надо понимать как «таких файлов не существует».
И так далее.
Всего около 600 имен. Соответственно, для каждого имени – возможно три типа (расширения) –
тип1, тип3 и тип5 (если оканчивается на 0) или
тип2, тип3 и тип4 (если оканчивается НЕ на 0).

Сделать список файлов, имеющихся в папке – не вопрос, утилит, рашающих этот вопрос полно.
Загрузить эти значения в ячейки первого столбца тоже не проблема.

Возможно ли создать «сортировщик», который
- (как минимум) сможет перекинуть имена файлов "тип1" из первого столбц во второй, "тип2" - в третий и так далее.
- "уплотнит список по вертикали" так, чтобы в каждой строке были одноименные файлы
 
Ответить
СообщениеДоброго здравия.
Встала задача по сортировке списка имен файлов. Думаю, задачу возможно решить с помощью Эксель... но как? ничего путного в голову не пиходит.

Есть папка с файлами.
имя файла состоит из «общей части (в примере QW.ERT.12.34567.89 – сохранен тип знака («буква/цифра) и «индивидуальной» - три цифры.
Файлы могут быть пяти типов (расширений)

QW.ERT.12.34567.89.100.тип1 (имя файла «тип1» может оканчиваться только на ноль)
QW.ERT.12.34567.89.101.тип2 (имя файла «тип2» не может оканчиваться на ноль)
QW.ERT.12.34567.89.100.тип3
QW.ERT.12.34567.89.101.тип3
QW.ERT.12.34567.89.101.тип4(имя файла «тип4» не может оканчиваться на ноль)
QW.ERT.12.34567.89.100.тип5 (имя файла «тип5» может оканчиваться только на ноль)
«не может оканчиваться» надо понимать как «таких файлов не существует».
И так далее.
Всего около 600 имен. Соответственно, для каждого имени – возможно три типа (расширения) –
тип1, тип3 и тип5 (если оканчивается на 0) или
тип2, тип3 и тип4 (если оканчивается НЕ на 0).

Сделать список файлов, имеющихся в папке – не вопрос, утилит, рашающих этот вопрос полно.
Загрузить эти значения в ячейки первого столбца тоже не проблема.

Возможно ли создать «сортировщик», который
- (как минимум) сможет перекинуть имена файлов "тип1" из первого столбц во второй, "тип2" - в третий и так далее.
- "уплотнит список по вертикали" так, чтобы в каждой строке были одноименные файлы

Автор - Wildmechanic1488
Дата добавления - 21.02.2022 в 17:54
jakim Дата: Понедельник, 21.02.2022, 18:30 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1218
Репутация: 316 ±
Замечаний: 0% ±

Excel 2010
Формула

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$1000;АГРЕГАТ(15;6;СТРОКА($1:$1000)/(B$1=--ПРАВСИМВ($A$2:$A$1000;1));ЧСТРОК($2:2)));"")
К сообщению приложен файл: Book1_sort.xlsx (9.5 Kb)


Сообщение отредактировал jakim - Понедельник, 21.02.2022, 18:31
 
Ответить
Сообщение
Формула

=ЕСЛИОШИБКА(ИНДЕКС($A$2:$A$1000;АГРЕГАТ(15;6;СТРОКА($1:$1000)/(B$1=--ПРАВСИМВ($A$2:$A$1000;1));ЧСТРОК($2:2)));"")

Автор - jakim
Дата добавления - 21.02.2022 в 18:30
Nic70y Дата: Вторник, 22.02.2022, 08:08 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
не понял для чего что на что заканчивается или не заканчивается.
дело же в расширении тип1 и т.д.
или я чего-то не понял?

поменяйте на "свои"

Sub u_748()
    Application.ScreenUpdating = False
    Columns("A:E").ClearContents
    a = ThisWorkbook.Path 'папка с файлами (в данном случае, та в которой этот файл)
    b$ = Dir(a & "\*.*")
    Do While b$ <> ""
        c = Right(b, 4) '4 правых символа ~ расширение
        If c = "xlsx" Then f = 1 'расширение - 1. столбец
        If c = "xlsm" Then f = 2 'расширение - 2. столбец
        'и т.д.
        g = Cells(Rows.Count, f).End(xlUp).Row + 1 'след пустая ячейка столбца
        Cells(g, f) = b
        b$ = Dir
    Loop
    Application.ScreenUpdating = True
End Sub

К сообщению приложен файл: 6134379.xlsm (16.7 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениене понял для чего что на что заканчивается или не заканчивается.
дело же в расширении тип1 и т.д.
или я чего-то не понял?

поменяйте на "свои"
[vba]
Sub u_748()    Application.ScreenUpdating = False    Columns("A:E").ClearContents    a = ThisWorkbook.Path 'папка с файлами (в данном случае; та в которой этот файл)    b$ = Dir(a & "\*.*")    Do While b$ <> ""        c = Right(b; 4) '4 правых символа ~ расширение        If c = "xlsx" Then f = 1 'расширение - 1, столбец        If c = "xlsm" Then f = 2 'расширение - 2, столбец        'и т.д.        g = Cells(Rows.Count; f).End(xlUp).Row + 1 'след пустая ячейка столбца        Cells(g; f) = b        b$ = Dir    Loop    Application.ScreenUpdating = ТrueEnd Sub
[/vba]

Автор - Nic70y
Дата добавления - 22.02.2022 в 08:08
Wildmechanic1488 Дата: Вторник, 22.02.2022, 12:08 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Спасибо. Попробую.
 
Ответить
СообщениеСпасибо. Попробую.

Автор - Wildmechanic1488
Дата добавления - 22.02.2022 в 12:08
  • Страница 1 из 1
  • 1
Поиск:

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