2

Я вводу датированные суммы в один столбец. Затем самые новые данные будут разделены на константу, которая у меня есть в верхней части страницы. Я бы хотел, чтобы формула "новейшая сумма", разделенная на "константу", автоматически обновлялась при вводе новых данных.

Вот простая настройка того, что я имею в виду:

пример рабочего листа

Теперь у меня есть формула: =(B5/$D$2)

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

Возможно ли добавить данные в B6, B7 и т.д., Чтобы формула могла корректироваться автоматически?

Правка для ясности: я бы хотел, чтобы формула корректировалась на основе только положения ячейки, не связанной со временем / датой изменения.

2 ответа2

2

Вы можете использовать это:

=INDEX(B:B,MATCH(1E+99,B:B))/$D$2

INDEX/MATCH вернет значение в последней ячейке столбца B, в котором есть номер. Так как числа добавляются в столбец B, ссылка автоматически изменится на последний номер.

2

Если вы просто хотите, чтобы он (согласно вашему примеру) основывался на последнем значении в столбце B, вы можете использовать

=LOOKUP(2,1/(NOT(ISBLANK(B:B))),B:B)

Так что ваша формула будет

=(LOOKUP(2,1/(NOT(ISBLANK(B:B))),B:B))/$D$2

Это имеет много проблем, если вы внесете изменение в середине колонки B, вам все равно придется делать это вручную!

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

Private Sub Worksheet_Change(ByVal Target As Range)
    If (Target.Column = 2) Then
        Range("E2").Value = Range("D2").Value / Target.Value
    End If    
End Sub

Как добавить VBA в MS Office?

Пожалуйста, помните, что с VBa нет отмены, поэтому сначала сделайте резервную копию и сохраните файл как файл с поддержкой макросов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .