Оценить, является ли значение ячейки частью именованного диапазона - PullRequest
0 голосов
/ 03 июля 2018

У меня есть именованный диапазон («Категории»), который содержит, например, фрукты, овощи, газированные напитки и т. Д. Затем у меня есть 3 других именованных диапазона для каждой записи в категориях. Так, например, у меня есть яблоки, апельсины, виноград и название, которое называется «Фрукты». Теперь я хотел бы оценить длинный список записей на предмет того, являются ли они частью каждой из категорий. Так, например, я хочу оценить, является ли CoCa-Cola частью диапазона названных фруктов. По той же причине я не мог сделать эту работу при использовании простых формул в Excel. Я попытался использовать функцию ниже, но это тоже не сработало. Буду признателен, если кто-то может помочь.

    Function RangeInCell(rngCellToCheck As Range, rngRangeToCheckWith As Range) As Boolean

        On Error Resume Next
        RangeInCell = Not Application.Intersect(rngCellToCheck, rngRangeToCheckWith) Is Nothing
        Err.Clear: On Error GoTo -1: On Error GoTo 0

    End Function

1 Ответ

0 голосов
/ 03 июля 2018

Пока ваши диапазоны определены правильно, я думаю, это должно работать между несколькими рабочими книгами. Непроверенные.

Function RangeInCell(rngCellToCheck As Range, rngRangeToCheckWith As Range) As Boolean

    Dim ret as Variant
    ret = Application.Match(rngCellToCheck, rngRangeToCheckWith, 0)

    RangeInCell = (Not IsError(ret))

End Function

Как функции рабочего листа, я думаю, что это также должно быть сделано (проверено на одном листе / в рабочей книге)

=IF(ISERROR(MATCH("coca-cola",Fruits,0)),FALSE,TRUE)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...