Страницы: 1
RSS
Группировка таблицы из одинаковых и разных значений ячеек
 
Доброго времени Уважаемые Форумчане!
Помогите решить такую задачу.

Имеем таблицу с рассчитанными данными, в которой имеются одинаковые ячейки Даты и Времени но разные Число и Номер, которые нужно записать через тире.
Все показал в документе.

Заранее Огромное Спасибо!
С Уважением, Николай!
 
Скрытый текст
Я сам - дурнее всякого примера! ...
 
Еще вариант. Без словаря.
Код
Sub Main()
    Dim i As Long, j As Long, k As Long, a(), b()
    Application.ScreenUpdating = False
    [A:D].Sort [A1], xlAscending, Header:=xlYes
    a = Range("A2:D" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2)): j = 1
    For k = 1 To 4: b(1, k) = a(1, k): Next
    For i = 2 To UBound(a, 1)
        If a(i, 1) = a(i - 1, 1) Then
            b(j, 3) = b(j, 3) & " - " & a(i, 3)
            b(j, 4) = b(j, 4) & " - " & a(i, 4)
        Else
            j = j + 1
            For k = 1 To 4: b(j, k) = a(i, k): Next
        End If
    Next
    [A2].Resize(UBound(b, 1), UBound(b, 2)).Value = b
End Sub
Пример во вложении.
Чем шире угол зрения, тем он тупее.
 
Отлично тезка. Я спросонок не сообразил, как устроить счетчик. На одном массиве:
Код
Sub Main()
    Dim i As Long, j As Long, k As Long, a()
    a = Range("A1:D" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    j = 1
    For i = 2 To UBound(a, 1)
        If a(i, 1) = a(i - 1, 1) Then
            a(j, 3) = a(j, 3) & " - " & a(i, 3)
            a(j, 4) = a(j, 4) & " - " & a(i, 4)
        Else
            j = j + 1
            For k = 1 To 4: a(j, k) = a(i, k): Next
        End If
    Next
    [j2].Resize(j, UBound(a, 2)).Value = a
End Sub
Я сам - дурнее всякого примера! ...
 
Да. Отлично. Можно и на одном массиве.
Только, перед обработкой, я бы обязательно добавил сортировку по дате, и, т. к. Вы массив располагаете в других столбцах, то хорошо бы предварительно (перед выгрузкой массива на лист) установить формат столбцов "Число" и "Номер" как "Текстовый". Иначе, Excel "включит мозг" и установит форматы по своему разумению.
Чем шире угол зрения, тем он тупее.
 
Да сортировка как бы и подразумевалась в задаче уже существующей. Там что-то типа журнала, соблюдается хронология. А в других столбцах - это чтоб ТС мог проверить. Если так устраивает, то останется только добавить очистку исходного диапазона.
Я сам - дурнее всякого примера! ...
 
Огромное Спасибо Вам: SAS888 и kuklp!
 
Доброго времени!

Простите Ребята – опять прошу Вашей помощи.   :oops:
Ваши макросы – Супер! Но добавился еще один столбец и теперь их не 4, а 5. Пробовал разобраться и переделать Ваши макросы, пока не получилось.
Помогите пожалуйста.

К письму прикрепляю файл, в котором на Листе1 – 5 столбцов.
С Уважением, Николай!
Изменено: mikolaychik - 24.09.2017 16:42:37
 
Доброе время суток.
Версия на Power Query, не важно сколько столбцов, лишь бы больше 2 и, столбцы группировки назывались бы Дата и Время.
Успехов.
 
Спасибо Вам Добрый Человек - Андрей! Но это не много не то...
Идеально мне подходят макросы SAS888 и kuklp.

Андрей Спасибо, за имена... я себе чуть мозг не взорвал...    :D  
Изменено: mikolaychik - 24.09.2017 01:21:47
 
Проверяйте.
Чем шире угол зрения, тем он тупее.
 
Проверил! SAS888 - Ваш макрос работает Идеально!
SAS888 - Огромное Вам Спасибо!
 
SAS888,Доброго времени ,не перестаю удивляться вашим шедеврам. Подскажите, а как преобразовать код чтоб группировал по двум столбцам- критериям (1 столбец и 4 столбец).  
 
alex1210
Мы с ТС  перешли на общение в ЛС. Ваш пост увидел совершенно случайно.
На будущее: Создавайте новую тему и, если нужно, в вопросе ссылайтесь на старые темы.

По Вашему вопросу: Приведите пример того, что Вы хотите получить в итоге.
Чем шире угол зрения, тем он тупее.
 
добрый день, друзья. плз, помогите. как построить формулу для выявления и замещения повторяющихся слов в одной ячейке. к примеру, чтобы в правой ячейке отразилось слово неед. если в левой оно упоминается большее количество раз, чем нонеед. огромное спасибо
 

NONEED/ NEED/ NONEED

 

NEED

Изменено: Сеня - 04.10.2017 11:10:29
Страницы: 1
Наверх