Страницы: 1
RSS
Определить, какая по счету в своем столбце указанная дата
 
Добрый день! В представленном файле на 2 листе из каждого столбца с датами с 1 листа определяется ближайшая к сегодняшней, но больше нее. Такие столбцы могут постоянно добавляться и инфа по новым на 2 листе обновляется автоматически. Из них в определяется самая ближняя (она выделена желтым). Помогите пожалуйста написать формулу, которая бы определила, какой по счету в своем столбце на 1 листе является дата выделенная желтым.
Изменено: vikttur - 08.09.2021 16:45:31
 
Али Алиев,  не так...=ПОИСКПОЗ(H11;$E$9:$E$1048576;0)
Изменено: Mershik - 08.09.2021 16:46:21
Не бойтесь совершенства. Вам его не достичь.
 
Не, нужно определить, какая он по счету на 1 листе в своём столбце. При этом, чтобы это все определялось автоматически. То есть таких столбцов на 1 листе может быть много и этот дата  будет часто обновляться и соответсвенно позиция ее в своём столбце также должна обновляться.
 
Али Алиев, да понял уже, если просто в лоб:
Код
=ЕСЛИОШИБКА(ЕСЛИОШИБКА(ПОИСКПОЗ(H11;'SN-cashflow'!$E$5:$E$1048576;0);ПОИСКПОЗ(H11;'SN-cashflow'!$M$5:$M$1048576;0));ПОИСКПОЗ(H11;'SN-cashflow'!$U$5:$U$1048576;0))
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, не подходит, так как таких столбцов может быть очень много и они постоянно добавляются и проверять каждый не получится. Но добавляются они с шагом 8, то есть отстоят они друг от друга на 8 столбцов.
 
Цитата
Али Алиев написал:
Но добавляются они с шагом 8, то есть отстоят они друг от друга на 8 столбцов.
Подумайте об изменении формата хранения данных, либо формируйте промежуточные таблицы/отчёты, откуда данные будет извлекать проще, чем в настоящее время. Альтернатива - использование возможностей VBA.
 
Али Алиев, согласен с IKor, тогда начать обрабатывать данные макросом и получать и дату и номер в своем столбце проще
Изменено: Mershik - 08.09.2021 17:30:49
Не бойтесь совершенства. Вам его не достичь.
 
Понял, просто макросами делать нельзя, там дальше система , куда все это загружается с ними конфликтует
 
Али Алиев, ну обработали данные макросом и вставили в файл как значения и споконой дальше работайте
Код
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


Изменено: Mershik - 08.09.2021 17:53:26
Не бойтесь совершенства. Вам его не достичь.
Страницы: 1
Наверх