Формула автозаполнения для имен ячеек в Excel

На листе Excel со строками параметров и столбцами таких систем:

        system1 system2
height    58      65
width     12      17
weight     3       5
 ...       .       .
 ...       .       .

Я ищу способ использовать эти данные со значимыми именами, такими как «высота1», «высота2». Я могу назвать ячейки «высота1» «высота2» (Формулы-> Определить имя) и использовать его в ячейке = высота1. Однако при автозаполнении путем перетаскивания уравнения вправо имя не меняется на height2 и у меня остается то же значение 58.

По сути, я ищу такое же поведение, как перетаскивание автозаполнения =B2 в =B3, но со значимыми именами.

Спасибо.


person Nomad27    schedule 13.10.2014    source источник


Ответы (1)


Вот макрос для именования их всех в вашем соглашении (не пробовал, но должен работать):

Sub NameThem()
    Dim rng As Range
    For i = 0 To 3
        For j = 0 To 1
            Set rng = Range("A1").Offset(1 + i, 1 + j)
            Call ActiveWorkbook.Names.Add(rng.End(xlToLeft).Value & j, rng)
        Next j
    Next i
End Sub
person AnalystCave.com    schedule 13.10.2014
comment
Спасибо. Хотя ваш сценарий может быть удобен, дать имена ячейкам — более простая задача — это будет сделано только один раз. Автозаполнение уравнений намного сложнее, потому что уравнения могут быть очень длинными (до 8 параметров) и часто меняться. Каждое изменение должно быть применено ко всем системам. Прямо сейчас, когда все уравнения указывают на обычные столбцы/строки, легко применить изменение уравнения ко всем 10 системам (просто автозаполнение перетащите отредактированное уравнение вправо). - person Nomad27; 13.10.2014
comment
Вы имеете в виду, что на основе этого вы хотите обновить ссылки с именами? Например. скажем, B2 называется height1, тогда вы хотите обновить все ссылки на B2 с помощью height1? - person AnalystCave.com; 13.10.2014
comment
Попробую перефразировать. У меня есть таблица входных данных и таблица уравнений аналогичного размера. Я хочу ввести первый столбец уравнений (для system1), а затем перетащить эти уравнения в столбцы system2, system3 и т. д. Это легко сделать при использовании =b2 (например, перетащив уравнение =b3*b5 вправо, будет autofill to =c3*c5), но не работает с именами (перетаскивание =height1*width1 автозаполняет =height1*width1). - person Nomad27; 14.10.2014