Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Упростить формулу на базе ВПР. - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Упростить формулу на базе ВПР. (Формулы/Formulas)
Упростить формулу на базе ВПР.
Proletariy Дата: Воскресенье, 08.11.2015, 22:57 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Поиск идет по не точному совпадению.
 
Ответить
СообщениеПоиск идет по не точному совпадению.

Автор - Proletariy
Дата добавления - 08.11.2015 в 22:57
Proletariy Дата: Воскресенье, 08.11.2015, 22:59 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Все равно ты очень помогла,.
 
Ответить
СообщениеВсе равно ты очень помогла,.

Автор - Proletariy
Дата добавления - 08.11.2015 в 22:59
SLAVICK Дата: Понедельник, 09.11.2015, 10:44 | Сообщение № 23
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Еще, когда делаю изменение в искомом листе -это не отображается в "Исходнике".

Сделайте функцию "волатильной" : Application.Volatile - будет пересчитыватся при каждом "чихе" :D
[vba]
Код
Function VLookUpAllSheets(vCriteria As Variant, rTable As Range, lColNum As Long, Optional iPart As Integer = 1) As Variant
    Dim rFndRng As Range
    Application.Volatile
    If iPart <> 1 Then iPart = 2
    For i = 1 To Worksheets.Count
        If oDic.Exists(Sheets(i).Name) Then
            With Sheets(i)
                Set rFndRng = .Range(rTable.Address).Resize(, 1).Find(vCriteria, , xlValues, iPart)
                If Not rFndRng Is Nothing Then
                    VLookUpAllSheets = rFndRng.Offset(, lColNum - 1).Value
                    Exit For
                End If
            End With
        End If
    Next i
End Function
[/vba]

Поиск идет по не точному совпадению.

Тут в формуле за точность поиска отвечает iPart - у Вас в формуле Вы поставили 0. Поставьте 1 и будет Вам счастье ;)
Код
=VLookUpAllSheets(A5;$A$4:$B$31962;2;1)
К сообщению приложен файл: Test_13-2-.zip (27.5 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Понедельник, 09.11.2015, 10:58
 
Ответить
Сообщение
Еще, когда делаю изменение в искомом листе -это не отображается в "Исходнике".

Сделайте функцию "волатильной" : Application.Volatile - будет пересчитыватся при каждом "чихе" :D
[vba]
Код
Function VLookUpAllSheets(vCriteria As Variant, rTable As Range, lColNum As Long, Optional iPart As Integer = 1) As Variant
    Dim rFndRng As Range
    Application.Volatile
    If iPart <> 1 Then iPart = 2
    For i = 1 To Worksheets.Count
        If oDic.Exists(Sheets(i).Name) Then
            With Sheets(i)
                Set rFndRng = .Range(rTable.Address).Resize(, 1).Find(vCriteria, , xlValues, iPart)
                If Not rFndRng Is Nothing Then
                    VLookUpAllSheets = rFndRng.Offset(, lColNum - 1).Value
                    Exit For
                End If
            End With
        End If
    Next i
End Function
[/vba]

Поиск идет по не точному совпадению.

Тут в формуле за точность поиска отвечает iPart - у Вас в формуле Вы поставили 0. Поставьте 1 и будет Вам счастье ;)
Код
=VLookUpAllSheets(A5;$A$4:$B$31962;2;1)

Автор - SLAVICK
Дата добавления - 09.11.2015 в 10:44
Pelena Дата: Понедельник, 09.11.2015, 10:47 | Сообщение № 24
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Вот посмотрите такой вариант. Постаралась сделать корректным добавление листов и пересчёт функции

Ярослав опередил малость :)
К сообщению приложен файл: 8340964.xls (99.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВот посмотрите такой вариант. Постаралась сделать корректным добавление листов и пересчёт функции

Ярослав опередил малость :)

Автор - Pelena
Дата добавления - 09.11.2015 в 10:47
Proletariy Дата: Понедельник, 09.11.2015, 21:27 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Всем спасибо, последний вариант устроил полностью.
 
Ответить
СообщениеВсем спасибо, последний вариант устроил полностью.

Автор - Proletariy
Дата добавления - 09.11.2015 в 21:27
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Упростить формулу на базе ВПР. (Формулы/Formulas)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!