Добрый день! В представленном файле на 2 листе из каждого столбца с датами с 1 листа определяется ближайшая к сегодняшней, но больше нее. Такие столбцы могут постоянно добавляться и инфа по новым на 2 листе обновляется автоматически. Из них в определяется самая ближняя (она выделена желтым). Помогите пожалуйста написать формулу, которая бы определила, какой по счету в своем столбце на 1 листе является дата выделенная желтым.
Не, нужно определить, какая он по счету на 1 листе в своём столбце. При этом, чтобы это все определялось автоматически. То есть таких столбцов на 1 листе может быть много и этот дата будет часто обновляться и соответсвенно позиция ее в своём столбце также должна обновляться.
Mershik, не подходит, так как таких столбцов может быть очень много и они постоянно добавляются и проверять каждый не получится. Но добавляются они с шагом 8, то есть отстоят они друг от друга на 8 столбцов.
Али Алиев написал: Но добавляются они с шагом 8, то есть отстоят они друг от друга на 8 столбцов.
Подумайте об изменении формата хранения данных, либо формируйте промежуточные таблицы/отчёты, откуда данные будет извлекать проще, чем в настоящее время. Альтернатива - использование возможностей VBA.
Али Алиев, ну обработали данные макросом и вставили в файл как значения и споконой дальше работайте
Код
Sub mrshkei()
Dim arr, arr2, i As Long, lcol As Long, k As Long, lr As Long, x As Long
Dim sh As Worksheet, sh2 As Worksheet
Set sh = Worksheets("SN-cashflow"): Set sh2 = Worksheets("Ëèñò1")
lcol = sh.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
x = 9
For i = 5 To lcol Step 8
lr = sh.Cells(Rows.Count, i).End(xlUp).Row + 4
For n = 5 To lr
If sh.Cells(n, i) >= sh2.Cells(8, 8) Then
sh2.Cells(x, 5) = sh.Cells(n, i)
x = x + 1
If MAXX = 0 Then
MAXX = sh.Cells(n, i): k = n - 5
ElseIf MAXX > sh.Cells(n, i) Then
MAXX = sh.Cells(n, i): k = n - 5
End If
End If
Next n
Next i
sh2.Cells(11, 8) = MAXX
sh2.Cells(13, 8) = k
End Sub