Подскажите, пожалуйста. Есть массив данных, несколько столбцов, в последнем из которых хранятся уникальные ключи. Их нужно подтянуть в отчет. Как делаю сейчас: с помощью индекса и поискпоза подтягиваю ключи по четырем скомпилированным условиям (номер, дата, количество, краткое описание).
В чем проблема: теоретически (и даже практически) бывает так, что компиляция этих четырех условий в источнике данных встречается несколько раз. В этом случае подтягивается первый обнаруженный ключ. А надо, чтобы один ключ подтянулся лишь раз, само собой, туда, куда надо.
Пример прикладываю.
P.S. Пытался сделать как здесь, но получилось коряво - при сортировке "оригинала" ключи пересчитывались, и первый ключ всегда был в шапке.
Mershik, желаемый результат: чтобы там, где выделено желтым на листе "Оригинал" ключи подтянулись не одинаковые, а разные, так, как на листе "Источник". Перезалью пример сейчас. UPD: перезалил.
Framed написал: теоретически (и даже практически) бывает так, что компиляция этих четырех условий в источнике данных встречается несколько раз
вот от этого нужно избавляться в принципе. Введите пятый параметр(какой нибудь Простоключ1), но запись в Источнике должна быть уникальной, тогда и Ваши Суперключи будут уникальными. Избежите головной боли в будущем. Это стандартные требования к Базам данных
Согласие есть продукт при полном непротивлении сторон
Framed написал: бывает так, что компиляция этих четырех условий в источнике данных встречается несколько раз.
Если я правильно понял суть проблемы, то решить ее можно добавление ключу (если он целочисленный) уникальной дробной части (например на базе частного от деления номера строки на заведомо большое число (желательно степень двойки)). Если же ключ текстовый, то на базе того же номера строки можно формировать уникальное окончание ключа...
IKor, то есть я должен и в источнике, и в оригинале:
1. Все имеющиеся номера разделить на какое-нибудь огромное число, фиксированное; 2. Дробную часть этого числа, ну допустим, поместить в соседний столбец; 3. Эти числа и будут моими ключами
Верно?
UPD: Одно но - номера строка ведь могут не совпадать.. Соответственно, ключи по разному распределятся в источники и в оригинале => данные подтянутся неверно.
Нет: достаточно добавить еще один вспомогательный столбец (зато для каждого комплекта условий!), в который будут вынесены только нужные значения (подходящие по условию), состоящие из числового ключа и уникальной дробной части (на базе отношения номера строки и заведомо большего числа). Тогда в другую таблицу можно подтягивать только строки, подпадающие под комплект условий и имеющие уникальный ключ, что сильно упрощает сортировку данных в другой_таблице Причем из уникальной части ключа можно выдергивать обратно номер строки первой таблицы (обращаю внимание на ошибки вычислений с числами с плавающей запятой! - используйте округление или делите на степени двойки), что позволит использовать альтернативный ВПРу / ИНДЕКСу+ПОИСКПОЗу способ получения данных из первой таблицы во вторую.
P.S. Если Вам требуется обрабатывать больше одного комплекта условий единовременно, то вспомогательный столбец удобнее формировать не в реальных ячейках листа, а виртуально - добро пожаловать в мир функций_массива!