Страницы: 1
RSS
ПРОСМОТРХ - поиск в двух столбцах, Как заставить функцию ПРОСМОТРХ искать значение в двух столбцах?
 
Здравствуйте.
Есть табличка, в которой регистрируются даты определенных проверок - прохождение проверки и окончание срока ее действия. В отдельном большом календаре эти события фиксируются, независимо, начало это или конец (потом условным форматированием раскрашиваются в красное или зеленое, соответственно). Как мне теперь из первой таблички вытащить это событие? ПРОСМОТРХ отлично ищет в одном столбце. А можно ли сделать поиск сразу по двум?
Все решения, которые у меня получаются довольно громоздкие. Может есть что-то попроще?
 
Цитата
написал:
Как мне теперь из первой таблички вытащить это событие?
Можно с помощью формулы массива, вводить Ctrl+Shift+Enter
Код
=ИНДЕКС(D1:D5;МАКС((B3:B5<=F3)*(C3:C5>=F3)*СТРОКА(B3:B5)))
 
Вариант с дополнительным столбцом.
В ячейку A3 вставьте формулу и протяните до ячейки A5:
Код
=(B3<=$F$3)*(C3>=$F$3)

В ячейку G3 вставьте формулу:
Код
=ВПР(1;A3:D5;4;0)
 
Вариант макросом на изменение ячеек.
Код
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3:C5")) Is Nothing Then
    ElseIf Not Intersect(Target, Range("F3")) Is Nothing Then
    Else
        Exit Sub
    End If
    
    Dim cb As Range
    For Each cb In Range("B3:B5").Cells
        If cb.Value <= Range("F3") Then
            If cb.Cells(1, 2).Value >= Range("F3") Then
                Range("G3").Formula = "=" & cb.Cells(1, 3).Address(0, 0, xlA1)
                Exit For
            End If
        End If
    Next
End Sub
 
Жесть)). Пять минут и столько вариантов. Первый точно работает. Пойду достраивать его под себя.
Спасибо, добрый человек.

В макросы мне рановато еще)
 
Цитата
Как заставить функцию ПРОСМОТРХ
=ПРОСМОТРX(1;(B3:B5<=F3)*(C3:C5>=F3);D3:D5;"нет")
а это
=ФИЛЬТР(D3:D5;(B3:B5<=F3)*(C3:C5>=F3))
вернёт все попадающие под условия варианты
 
Kofevark, добрый день. Как понял: =ФИЛЬТР(D3:D5;(B3:B5=F3)+(C3:C5=F3);"нет").
Для ознакомления https://www.planetaexcel.ru/techniques/25/55384/
Изменено: Alex - 12.03.2026 13:24:55
 
Цитата
написал:
=ПРОСМОТРX(1;(B3:B5<=F3)*(C3:C5>=F3);D3:D5;"нет")
С ПРОСМОТРХ больше всего формула зашла. На мой взгляд, самая простая. Только в таком виде она не совсем корректно сработала - если дата в F3 находится между датами столбцов B и C, то она тоже помечается как событие, хотя на самом деле в этот день ничего не было. Поскольку дата проверки и дата окончания в моем случае никак не могут совпадать, то решено было модифицировать формулу в такой вид:

Код
=ПРОСМОТРX(1;(B3:B5=F5)+(C3:C5=F5);D3:D5;"нет")

Вот так работает (пока) на отлично). Может пригодится кому.
Огромное спасибо за помощь!
 
Здравствуйте!
pq_v1
pq_v2
Ma_Ri ≠ Мария
Страницы: 1
Читают тему
Наверх