Кроме поиска дубликатов условным форматированием никакой информации в интернете найти не смог. Необходимо определить наличие дубликата по ряду критериев.
Пример поиска одного дубликата ниже. 1. Берется номер маршрута 333 из ячейки "B2", 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках "B3", "B5", "B7", "B9".
Далее проверяется соответствие дата из ячейки "С2" ячейкам "С3", "С5", "С7", "С9" по условию: <=30 дней 1. Ищется ближайшая дата, перед искомой. Это будет ячейка "С9" 2. Проверяется соответствие "D2" c "D9" - не соответствует 4. Ищется ближайшая дата следующая за "С9". Это будет ячейка "С7" 5. Проверяется соответствие "D2" c "D7" - соответствует 6. Значение "Да" возвращается в ячейку "E2" 7. Значение "A7" возвращается в "F2"
Еще раз спасибо, за формулу в столбце F. Значительно облегчила работу, но никак не могу разобрать формулу в столбце G и возникла необходимость в определении дубля и выносе значения из ячеек A по дополнительным критериям в столбце I.
Если есть возможность объясните какие правки внести в формулу. Алгоритм подсчета дублей по критерию руками под спойлером. Если задача громоздкая для бесплатной помощи, то подскажите куда обратиться за платной
Скрытый текст
Алгоритм поиска дубликатов во вложенном файле. 1. Берется номер маршрута 333 из ячейки "B2", 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. Такой нет. 5. Возвращает значение "Нет" в ячейку F2.
1. Берется номер маршрута 333 из ячейки "B3", 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С2. 5. Проверяется соответствие "D3" c "D2" - не соответствует. Идем дальше. 6. Ищется ближайшая дата, минуня дату которая не выполнили условия перед искомой, удовлетворяющая критерию <=30 дней. Такой нет. Идем дальше. 5. Возвращает значение "Нет" в ячейку F3.
1. Берется номер маршрута 333 из ячейки "B4". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В д
1. Берется номер маршрута 333 из ячейки "B3", 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С2. 5. Проверяется соответствие "D3" c "D2" - не соответствует. Идем дальше. 6. Ищется ближайшая дата, минуня дату которая не выполнили условия перед искомой, удовлетворяющая критерию <=30 дней. Такой нет. Идем дальше. 5. Возвращает значение "Нет" в ячейку F3.
1. Берется номер маршрута 333 из ячейки "B4". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С3. 5. Проверяется соответствие "D4" c "D3" - соответствует. Идем дальше. 6. Проверяется ячейка E3 на соответсвие со списком критериев I:I. Cоотвествует. Возвращается значение "Да" в ячейку F4. И возвращаем значение A3 в ячейку G4.
1. Берется номер маршрута 333 из ячейки "B5". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С4. 5. Проверяется соответствие "D5" c "D4" - соответствует. Идем дальше. 6. Проверяется ячейка E4 на соответсвие со списком критериев I:I. Не соответвует.Идем дальше. 7. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С3. 8. Проверяется соответствие "D5" c "D3" - соответствует. Идем дальше. 9. Проверяется ячейка E3 на соответсвие со списком критериев I:I. Cоотвествует. Возвращается значение "Да" в ячейку F2. И возвращаем значение A3 в ячейку G5.
1. Берется номер маршрута 333 из ячейки "B6". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С5. 5. Проверяется соответствие "D6" c "D5" - не соответствует. Идем дальше. 6. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С4. 7. Проверяется соответствие "D6" c "D4" - не соответствует. Идем дальше. 8. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С3. 9. Проверяется соответствие "D6" c "D3" - не соответствует. Идем дальше. 10. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С2. 11. Проверяется соответствие "D6" c "D2" - Соответствует. Идем дальше. 12. Проверяется ячейка E2 на соответсвие со списком критериев I:I. Не соотвествует. 13. Возвращает значение "Нет" в ячейку F6.
1. Берется номер маршрута 333 из ячейки "B7". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С6. 5. Проверяется соответствие "D7" c "D6" - не соответствует. Идем дальше. 6. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С5. 7. Проверяется соответствие "D7" c "D5" - Соответствует. Идем дальше. 8. Проверяется ячейка E5 на соответсвие со списком критериев I:I. Не соотвествует.Идем дальше. 9. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С4. 10. Проверяется соответствие "D7" c "D4" - Соответствует. Идем дальше. 11. Проверяется ячейка E4 на соответсвие со списком критериев I:I. Не соотвествует. 12. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С3. 13. Проверяется соответствие "D7" c "D3" - Соответствует. Идем дальше. 14. Проверяется ячейка E3 на соответсвие со списком критериев I:I. Соотвествует.Возвращается значение "Да" в ячейку F7. И возвращаем значение A3 в ячейку G7.
1. Берется номер маршрута 333 из ячейки "B8". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С7. 5. Проверяется соответствие "D8" c "D7" - не соответствует. Идем дальше. 6. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С6. 7. Проверяется соответствие "D8" c "D6" - Соответствует. Идем дальше. 8. Соотвествует.Возвращается значение "Да" в ячейку F8. И возвращаем значение A6 в ячейку G8.
1. Берется номер маршрута 333 из ячейки "B9". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С8. 5. Проверяется соответствие "D9" c "D8" - Cоответствует. Идем дальше. 6. Соотвествует.Возвращается значение "Да" в ячейку F9. И возвращаем значение A8 в ячейку G9.
1. Берется номер маршрута 333 из ячейки "B10". 2. Ищутся совпадения в столбце "B". 3. Находятся совпадения в ячейках B:B 4. Ищется ближайшая дата, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С9. 5. Проверяется соответствие "D10" c "D9" - не оответствует. Идем дальше. 6. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С8. 7. Проверяется соответствие "D10" c "D8" - не оответствует. Идем дальше. 8. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С7. 9. Проверяется соответствие "D10" c "D7" - Соответствует. Идем дальше. 10. Проверяется ячейка E7 на соответсвие со списком критериев I:I. Не соотвествует.Идем дальше. 11. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С6. 12. Проверяется соответствие "D10" c "D6" - не соответствует. Идем дальше. 13. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С5. 14. Проверяется соответствие "D10" c "D5" - Соответствует. Идем дальше. 15. Проверяется ячейка E5 на соответсвие со списком критериев I:I. Не соотвествует.Идем дальше. 16. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С4 17. Проверяется соответствие "D10" c "D4" - Соответствует. Идем дальше. 18. Проверяется ячейка E4 на соответсвие со списком критериев I:I. Не соотвествует.Идем дальше. 19. Ищется ближайшая дата, минуня дату которая не выполнила условия, перед искомой, удовлетворяющая критерию <=30 дней. В данном примере это ячейка С3 20. Проверяется соответствие "D10" c "D3" - Соответствует. Идем дальше. 21. Проверяется ячейка E3 на соответсвие со списком критериев I:I. Соотвествует.Возвращается значение "Да" в ячейку F10. И возвращаем значение A3 в ячейку G10.
Целые столбцы нельзя указывать в формулах массива, если на их основе образуются массивы. Вместо "G:G" (и других) указывайте максимальную строку. Например, если Вам известно, что на листе не будет больше 1000 строк, то так: G1:G1000. Если заранее не известно, сколько может быть строк, то ищите последнюю строку. Можно сделать "имя" и в него записать формулу по поиску последней строки и затем имя подставлять в формулу.