Всем форумчанам доброго дня!!! Если не сложно помогите пожалуйста в решении небольшой проблемы. Я смог ее решить сам, но с помощью большого количетсва ячеек с формулами (прикреплю файл со своим решением ). Для меня важна скорость выполнения задачи. Возможно макросом будет быстрее или с помощью других формул. Задача такова 1. На лист1 диапазон A1:J150 заполнен числами от 1 до 90. 2. Нужно (например) с диапазона C12:I23 вывести отсутствующие значения (значения от 1 до 90) в О2 (строку); с диапазона A12:J100 вывести отсутствующие значения в О3: с диапазона B38:F140 вывести отсутствующие значения в О4 и т.д. Большое Спасибо!!!
Всем форумчанам доброго дня!!! Если не сложно помогите пожалуйста в решении небольшой проблемы. Я смог ее решить сам, но с помощью большого количетсва ячеек с формулами (прикреплю файл со своим решением ). Для меня важна скорость выполнения задачи. Возможно макросом будет быстрее или с помощью других формул. Задача такова 1. На лист1 диапазон A1:J150 заполнен числами от 1 до 90. 2. Нужно (например) с диапазона C12:I23 вывести отсутствующие значения (значения от 1 до 90) в О2 (строку); с диапазона A12:J100 вывести отсутствующие значения в О3: с диапазона B38:F140 вывести отсутствующие значения в О4 и т.д. Большое Спасибо!!!djon2012
если в выбранном диапазоне нет какой либо цифры 1-90 её внести в строку? Т.е., если в диапазоне нет ни одной цифры 2 то строка будет пустая, кроме 2?wild_pig
Спасибо Вам большое Karataev!!! :hands: :yes: Уважаемый Wild_Pig отвечаю на Ваши вопросы: 1. Да в примере все ячейки "ложь" потому что взяты большие диапазоны в которых представлены все числа и выводить нечего. В постановке задачи я предоставил другие диапазоны пункт 2. В примере я предоставил свое решение формулами. 2. По поводу диапазонов. Их выбираю я сам по нужным мне критериям. 3. Если в выбранном диапазоне присутствуют все числа от 1 до 90 то выводить пустую строку, если отсутствуют какие либо числа (5 13 45) то их надо вывести. Спасибо!!!
Спасибо Вам большое Karataev!!! :hands: :yes: Уважаемый Wild_Pig отвечаю на Ваши вопросы: 1. Да в примере все ячейки "ложь" потому что взяты большие диапазоны в которых представлены все числа и выводить нечего. В постановке задачи я предоставил другие диапазоны пункт 2. В примере я предоставил свое решение формулами. 2. По поводу диапазонов. Их выбираю я сам по нужным мне критериям. 3. Если в выбранном диапазоне присутствуют все числа от 1 до 90 то выводить пустую строку, если отсутствуют какие либо числа (5 13 45) то их надо вывести. Спасибо!!!djon2012
Сообщение отредактировал djon2012 - Четверг, 22.01.2015, 09:25
Здравствуйте Boroda ! Ваш вариант увы не подходит так как расчет по вашей формуле идет в несколько раз дольше чем по моей и на выходе имеем 0 и 1 а мне нжно конкретное число. Ваша формула
Возможно я плохо сформулировал вопрос, попробую обьяснить еще раз на примере своей формулы. Если в конкретном диапазоне (например C12:I23) есть число (например 2) то выводим ЛОЖЬ или 0, а если числа 2 нет то выводим его и так со всеми числами от 1 до 90. Моя формула работает, но возможно есть другие более быстрые и короткие формулы которые бы обрабатывали данные по вышеизложенному алгоритму еще быстрее. Спасибо!!!
Здравствуйте Boroda ! Ваш вариант увы не подходит так как расчет по вашей формуле идет в несколько раз дольше чем по моей и на выходе имеем 0 и 1 а мне нжно конкретное число. Ваша формула
Возможно я плохо сформулировал вопрос, попробую обьяснить еще раз на примере своей формулы. Если в конкретном диапазоне (например C12:I23) есть число (например 2) то выводим ЛОЖЬ или 0, а если числа 2 нет то выводим его и так со всеми числами от 1 до 90. Моя формула работает, но возможно есть другие более быстрые и короткие формулы которые бы обрабатывали данные по вышеизложенному алгоритму еще быстрее. Спасибо!!!djon2012
Сообщение отредактировал djon2012 - Четверг, 22.01.2015, 11:58
расчет по вашей формуле идет в несколько раз дольше чем по моей
Конечно. Зато в вашей формуле нужно диапазоны напрямую в формулу вводить, а в моей достаточно просто написать в столбце N. Для этого формула и писалась. Кстати, действительно, это я что-то загнул. Вполне достаточно
Код
=(СЧЁТЕСЛИ(ДВССЫЛ($N2);O$1)=0)*O$1
А ваша формула нормальная. Только диапазоны вручную набивать нужно. И число сравнения (в вашем примере - 2)
расчет по вашей формуле идет в несколько раз дольше чем по моей
Конечно. Зато в вашей формуле нужно диапазоны напрямую в формулу вводить, а в моей достаточно просто написать в столбце N. Для этого формула и писалась. Кстати, действительно, это я что-то загнул. Вполне достаточно
Код
=(СЧЁТЕСЛИ(ДВССЫЛ($N2);O$1)=0)*O$1
А ваша формула нормальная. Только диапазоны вручную набивать нужно. И число сравнения (в вашем примере - 2)_Boroda_
Модератору: прошу прощения за свою оплошность по недооформлению формул тегами, исправлюсь. Спасибо за напоминание. Boroda: Спасибо за другой вариант формулы, буду разбираться попробую на скорость выполнения.
Модератору: прошу прощения за свою оплошность по недооформлению формул тегами, исправлюсь. Спасибо за напоминание. Boroda: Спасибо за другой вариант формулы, буду разбираться попробую на скорость выполнения.djon2012
Boroda, обработка данных по по вашей формуле идет дольше приблизительно в 1,5 раза. Я думаю это связано с ссылкой в формуле на просматриваемый диапазон и ссылкой на выводимое значение.
Boroda, обработка данных по по вашей формуле идет дольше приблизительно в 1,5 раза. Я думаю это связано с ссылкой в формуле на просматриваемый диапазон и ссылкой на выводимое значение.djon2012
Конечно. Зато в вашей формуле нужно диапазоны напрямую в формулу вводить, а в моей достаточно просто написать в столбце N. Для этого формула и писалась.
Тормозит именно ДВССЫЛ. И это нормально. Это плата за удобство пользования. Впрочем, решать вам: хотите заводить руками диапазоны и числа 1-90, но чтобы было побыстрее - да за ради Бога. Или хотите удобства и наглядности в работе? Решать вам.
Конечно. Зато в вашей формуле нужно диапазоны напрямую в формулу вводить, а в моей достаточно просто написать в столбце N. Для этого формула и писалась.
Тормозит именно ДВССЫЛ. И это нормально. Это плата за удобство пользования. Впрочем, решать вам: хотите заводить руками диапазоны и числа 1-90, но чтобы было побыстрее - да за ради Бога. Или хотите удобства и наглядности в работе? Решать вам._Boroda_