Я склонен использовать вспомогательный лист, я помещаю в него формулы для сбора данных, необходимых для использования в диаграмме, обычно используя SUMIFS (), COUNTIFS (), VLOOKUP () и т. Д.
В качестве альтернативы, если я делаю электронную таблицу большего размера, я буду использовать ListObjects (таблицы) и определять имена в менеджере имен, используя комбинацию OFFSET, MATCH, VLOOKUP и т. Д., Чтобы автоматически возвращать диапазон значений из объектов ListOject, а затем ссылаться на них в таблице / с.
Какой бы из двух указанных выше вариантов вы не использовали, мы можем обновить целевой уникальный идентификатор с помощью следующего VBA, учтите, что книгу необходимо сохранить как книгу с поддержкой макросов. Этот код обновит ячейку A1 в HelperSheet, который мы будем использовать для обновления данных для диаграммы;
- Перейти к VBA (F11)
- Откройте базу кода для листа с вашими идентификаторами.
Добавьте приведенный ниже код.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim varIntersects As Variant
'Change Columns(1) to match your ID column.
Set varIntersects = Intersect(Selection, ActiveSheet.Columns(1).EntireColumn)
If Application.Selection.Cells.Count = 1 Then
If Not varIntersects Is Nothing Then
If Not Selection.Value = "" Then
'Change HelperSheet and A1 to suit your needs.
Worksheets("HelperSheet").Range("A1") = Selection.Cells.Value
End If
End If
End If
End Sub