Для облегчения с этими минимальными (для МИН(формула, константа)) 1/2/3 - я бы использовал допсписок, можно даже на все варианты город+магазин прописать минимальное значение и его подставлять в МИН() используя ВПР(0, будет проще менять если что.
Я когда писал про словарь предполагал так - в коллекцию заносим что-то с ключами, и тут же это что-то кладём как ключ в словарь, а ключ коллекции как итем. Тогда при запросе ключа для этого чего-то получаем его не из коллекции, а из словаря. Только если эти значения будут дублироваться (а могут судя по логике процесса) - то и ключей/итемов будет несколько, это может обеспечить словарь создавая итем как массив, коллекцию или строку с разделителем.
Делали тут давно UDF (есть в копилке) - добавить чуть ручного труда и счётесли() - и задача решена. Но теперь есть объединить() для этой задачи. Ещё есть сводные, PQ и макросы как процедура. Вам какой способ больше по душе? P.S. сделал руки+счётесли+UDF
Function kirtxt(s As String)
Dim v
Const PTRN = "[А-ЯЁ]{1,10}"
With CreateObject("vbscript.regexp")
.Pattern = PTRN
.Global = True
.IgnoreCase = True
Set v = .Execute(s)
End With
kirtxt = v(0).Value
End Function
для кириллицы, от начала кириллицы, 10 символов или до символа не в списке [А-ЯЁ]
Если нужно удалить - только макрос. Ну или пометить эти строки формулой, затем удалить вручную, на 5 слитных строк вполне рабочий вариант. Если в ВПР использовать счётесли() & "чёрный" то вполне можно пометить.
Я там в коде чуть лишнего понаписал (хотел это использовать, но не стал) - можно не собирать строку из индексов, а просто считать повторы, и основываясь на этом удалять с 1 или с >1. Поправил в этом файле.
Ну и UDF, два варианта, раз уж написал... Первый массивный на весь диапазон, второй для одной ячейки. Можно использовать оба для обоих вариантов - последний аргумент указывает что выводить.
2002 - это для Мака? Вообще если знаете макросы - то тут проще свою UDF написать и не ломать голову, на древней версии... Но как на Маке с этим в деталях не скажу, но коллекции работают. Но тут проще юзать словарь, с чем на Маке проблема.
СУММЕСЛИ(), СУММПРОИЗВ(), СУММЕСЛИМН() наверное тоже сгодится. Вам ведь ещё и месяц/дату нужно анализировать? И может быть суммировать, но даже если и не нужно суммировать...
Sergey Stoyanov написал: формула по справочнику в 20к строк просто подвиснет,
- вполне может быть. Можно кроме PQ применить VBA - загнать справочник в словарь (можно публичный если для UDF), затем циклом по длинному номеру искать 13/14 символов на наличие в словаре.
- подозреваю что дубли не нужны. Можно доработать коллекцией или словарём. P.S. доработал, разделитель и повторы опционально - если не указывать то будет | и без повторов.