Перемещение диапазона ячеек на другой лист на основе значения в ячейке - PullRequest
0 голосов
/ 24 сентября 2019

Я даже не знаю, как правильно это сформулировать, что, несомненно, вызывает у меня проблемы.

Итак, у меня есть 3 столбца, names, time, values в каждой строке.Я хочу взять все время рядом с тем же именем и поместить их на другой лист, под колонкой, озаглавленной именем человека.

Я был бы рад первой части, но в дополнение, если возможно, яТакже хотелось бы убедиться, что когда время публикуется, оно связано со значениями, с которыми они изначально были рядом.

пример:

john     7    10  
john     5    20  
john   6.5    30                                        
amy     14    10             
amy      8    20    
amy      2    40 

становится

      john    amy  
10       7     14  
20       5      8  
30     6.5   
40              2  

Ответы [ 2 ]

1 голос
/ 24 сентября 2019
Dim i As Integer, j As Integer
j = 6
Cells(1, 6).Value = Cells(1, 1).Value
For i = 2 To 6
    If Cells(i, 1).Value <> Cells(1, j).Value Then
        Cells(1, j + 1).Value = Cells(i, 1).Value
        j = j + 1
    End If
Next i

Range("C1:C6").Copy
Range("E2:E7").PasteSpecial

Range("E2:E7").Sort Key1:=Range("E2"), Order1:=xlAscending, Header:=xlNo
Range("E2:E7").RemoveDuplicates Columns:=1, Header:=xlNo

For k = 1 To 6
    For m = 6 To 9
        For n = 2 To 6
            If Cells(k, 1).Value = Cells(1, m).Value And Cells(k, 3).Value = Cells(n, 5).Value Then
                Cells(n, m).Value = Cells(k, 2).Value
            End If
        Next n
    Next m
Next k

Этот код решает ваш конкретный пример.Имейте в виду, что это не универсальный код, поэтому вам придется изменить пределы циклов и диапазонов в вашей реальной вещи.

0 голосов
/ 24 сентября 2019

Здесь нет необходимости в VBA, просто используйте мощные инструменты, уже встроенные в Excel для анализа ваших данных: Создайте сводную таблицу для анализа данных рабочей таблицы , и результат будет таким, как показано ниже.Если вы изменяете значения в исходных данных, вам просто нужно обновить сводную таблицу.

enter image description here Изображение 1: Исходные данные и сводная таблица рядом (извинитедля немецкого скриншота).

...