Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Задать границы диапазона с использованием значений в ячейках - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Задать границы диапазона с использованием значений в ячейках
Kaktus8 Дата: Суббота, 06.04.2019, 22:39 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Уважаемы знатоки Excel-a,
подскажите как задать границы диапазона с использованием значений в фиксированных ячейках.

A-Y - исходные данные.
Нужно задать границы диапазона для всех формул в столбцах АА и АВ
с помощью значений в фиксированных ячейках АЕ2 и АF2
с сохранением возможности копировать формулы дальше вниз.
К сообщению приложен файл: 4-1a.xlsx (12.2 Kb)
 
Ответить
СообщениеУважаемы знатоки Excel-a,
подскажите как задать границы диапазона с использованием значений в фиксированных ячейках.

A-Y - исходные данные.
Нужно задать границы диапазона для всех формул в столбцах АА и АВ
с помощью значений в фиксированных ячейках АЕ2 и АF2
с сохранением возможности копировать формулы дальше вниз.

Автор - Kaktus8
Дата добавления - 06.04.2019 в 22:39
_Boroda_ Дата: Суббота, 06.04.2019, 22:49 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16709
Репутация: 6501 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Не понял смысл менять диапазон во второй формуле (да и в первой тоже), ну да ладно
Код
=СТРОКА(AA2)-МАКС((ЕСЛИ(ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2)=$AD$2;СТРОКА(ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2)))))

Код
=СЧЁТЕСЛИ(ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2);$AD$2)


Если что не так, то смысл, думаю, понятен - Индексы

И да, начальная строка не должна быть нулевой. Строки в Excel начинаются с 1
К сообщению приложен файл: 4-1a_1.xlsx (12.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе понял смысл менять диапазон во второй формуле (да и в первой тоже), ну да ладно
Код
=СТРОКА(AA2)-МАКС((ЕСЛИ(ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2)=$AD$2;СТРОКА(ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2)))))

Код
=СЧЁТЕСЛИ(ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2);$AD$2)


Если что не так, то смысл, думаю, понятен - Индексы

И да, начальная строка не должна быть нулевой. Строки в Excel начинаются с 1

Автор - _Boroda_
Дата добавления - 06.04.2019 в 22:49
gling Дата: Суббота, 06.04.2019, 23:11 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2558
Репутация: 696 ±
Замечаний: 0% ±

2010
Еще можно так для АВ
Код
=СЧЁТЕСЛИ(ИНДЕКС($A$1:$A$100;СТРОКА()+$AE$2;):ИНДЕКС($Y$1:$Y$100;СТРОКА()+$AF$2;);$AD$2)
А вот мне не понятно, как будут работать формулы, если в столбце АА выясняем строку до строки с формулой
Цитата
1-предыдущая и т.д.
а для АВ после этой строки. Например какие строки или диапазоны должны быть в формулах ячеек АА3 и АВ3, если ячейки АЕ2=0, AF2=3?
Я так понял, что предыдущая это номер строки с формулой-1, или не так? В общем, мне не всё понятно.


ЯД-41001506838083

Сообщение отредактировал gling - Суббота, 06.04.2019, 23:42
 
Ответить
СообщениеЕще можно так для АВ
Код
=СЧЁТЕСЛИ(ИНДЕКС($A$1:$A$100;СТРОКА()+$AE$2;):ИНДЕКС($Y$1:$Y$100;СТРОКА()+$AF$2;);$AD$2)
А вот мне не понятно, как будут работать формулы, если в столбце АА выясняем строку до строки с формулой
Цитата
1-предыдущая и т.д.
а для АВ после этой строки. Например какие строки или диапазоны должны быть в формулах ячеек АА3 и АВ3, если ячейки АЕ2=0, AF2=3?
Я так понял, что предыдущая это номер строки с формулой-1, или не так? В общем, мне не всё понятно.

Автор - gling
Дата добавления - 06.04.2019 в 23:11
Kaktus8 Дата: Суббота, 06.04.2019, 23:16 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Не понял смысл менять диапазон во второй формуле (да и в первой тоже), ну да ладно

Смысл в том, чтобы изменять диапазон от одной строки (текущей) до нескольких вверх (включая текущую или без).
Например, задавая размеры диапазона, начиная от текущей строки до трёх выше и иметь возможность изменить эти размеры.
 
Ответить
Сообщение
Не понял смысл менять диапазон во второй формуле (да и в первой тоже), ну да ладно

Смысл в том, чтобы изменять диапазон от одной строки (текущей) до нескольких вверх (включая текущую или без).
Например, задавая размеры диапазона, начиная от текущей строки до трёх выше и иметь возможность изменить эти размеры.

Автор - Kaktus8
Дата добавления - 06.04.2019 в 23:16
_Boroda_ Дата: Суббота, 06.04.2019, 23:19 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16709
Репутация: 6501 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
смысл, думаю, понятен - Индексы


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
смысл, думаю, понятен - Индексы

Автор - _Boroda_
Дата добавления - 06.04.2019 в 23:19
Kaktus8 Дата: Суббота, 06.04.2019, 23:27 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Жаль не визуализируется диапазон с ИНДЕКСОМ. Чего-то, не совсем то получается.
Взять для примера ячейку АВ8, а мне нужно, чтобы формула посчитала количество цифры 2 не в диапазоне A1:Y8, а в диапазоне
А4:Y8 задав размер этого диапазона значениями в ячейках АЕ и AF.
 
Ответить
СообщениеЖаль не визуализируется диапазон с ИНДЕКСОМ. Чего-то, не совсем то получается.
Взять для примера ячейку АВ8, а мне нужно, чтобы формула посчитала количество цифры 2 не в диапазоне A1:Y8, а в диапазоне
А4:Y8 задав размер этого диапазона значениями в ячейках АЕ и AF.

Автор - Kaktus8
Дата добавления - 06.04.2019 в 23:27
gling Дата: Суббота, 06.04.2019, 23:27 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2558
Репутация: 696 ±
Замечаний: 0% ±

2010
Если в АЕ2 записать -1, а в AF2=4, то формула посчитает чтото. Но нужно учитывать если одно из чисел будут -4, до до 4 строки формулы будут выдавать ошибку, так как нулевой строки в Excelе нет. Думаю смысл понятен СТРОКА()+AE2 не должна выдать ноль или меньше.
Для АА и АВ должны быть разные ячейки определяющие диапазон, или AF2 должна определять строки ниже текущей для АВ, а для АА она будет с противоположным знаком, т.е. выше строки с формулой, границы их будут встречаться на СТРОКА()+АЕ2


ЯД-41001506838083

Сообщение отредактировал gling - Суббота, 06.04.2019, 23:35
 
Ответить
СообщениеЕсли в АЕ2 записать -1, а в AF2=4, то формула посчитает чтото. Но нужно учитывать если одно из чисел будут -4, до до 4 строки формулы будут выдавать ошибку, так как нулевой строки в Excelе нет. Думаю смысл понятен СТРОКА()+AE2 не должна выдать ноль или меньше.
Для АА и АВ должны быть разные ячейки определяющие диапазон, или AF2 должна определять строки ниже текущей для АВ, а для АА она будет с противоположным знаком, т.е. выше строки с формулой, границы их будут встречаться на СТРОКА()+АЕ2

Автор - gling
Дата добавления - 06.04.2019 в 23:27
_Boroda_ Дата: Суббота, 06.04.2019, 23:35 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16709
Репутация: 6501 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Я ж Вам так и сделал в файле из поста 2. В АЕ2 вводите 4, в АF2 вводите 8

Жаль не визуализируется диапазон с ИНДЕКСОМ.

Почему? Выделяете в формуле кусок
Код
ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2)
и жмете F9


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЯ ж Вам так и сделал в файле из поста 2. В АЕ2 вводите 4, в АF2 вводите 8

Жаль не визуализируется диапазон с ИНДЕКСОМ.

Почему? Выделяете в формуле кусок
Код
ИНДЕКС($A:$A;AE$2):ИНДЕКС($Y:$Y;AF$2)
и жмете F9

Автор - _Boroda_
Дата добавления - 06.04.2019 в 23:35
Kaktus8 Дата: Суббота, 06.04.2019, 23:39 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
А-а-а! Я, кажется понял.
Я хотел выделять диапазон от текущей строки (т.е. она нулевая получается) на N-ное количество строк вверх.
А у _Boroda_ , "нулевая строка" сверху, а конечная внизу. Тогда да, - смысла нет.


Сообщение отредактировал Kaktus8 - Суббота, 06.04.2019, 23:40
 
Ответить
СообщениеА-а-а! Я, кажется понял.
Я хотел выделять диапазон от текущей строки (т.е. она нулевая получается) на N-ное количество строк вверх.
А у _Boroda_ , "нулевая строка" сверху, а конечная внизу. Тогда да, - смысла нет.

Автор - Kaktus8
Дата добавления - 06.04.2019 в 23:39
gling Дата: Суббота, 06.04.2019, 23:44 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2558
Репутация: 696 ±
Замечаний: 0% ±

2010
Исправил ошибку в формуле в сообщении №3, там с учетом текущей строки.


ЯД-41001506838083

Сообщение отредактировал gling - Суббота, 06.04.2019, 23:45
 
Ответить
СообщениеИсправил ошибку в формуле в сообщении №3, там с учетом текущей строки.

Автор - gling
Дата добавления - 06.04.2019 в 23:44
Kaktus8 Дата: Суббота, 06.04.2019, 23:48 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Я ж Вам так и сделал в файле из поста 2. В АЕ2 вводите 4, в АF2 вводите 8

Я имел в виду, что в ячейках AE и AF, задавать не абсолютные значения строк, а относительные.
То есть, относительно текущей строки задавать размер диапазона вверх.
Например, для ячейки AB8:
если значения в ячейках AE2 и AF2 будут равны 0 и 4 (соответственно),
то должен быть выделен диапазон A5-Y8.
Если 1 и 4, то должен быть выделен диапазон A4-Y7 и так далее.
Пожалуй, лучше назвать столбец AF не "Кон.стр.", а "Число строк в диапазоне". Иначе путаница получается.
То есть, AE2 задаёт либо текущую строку (значение=0), либо выше текущей на указанное число.
А значение AF2, задаёт количество строк вверх от значения заданного AE2.
Не знаю, как ещё объяснить... :(


Сообщение отредактировал Kaktus8 - Воскресенье, 07.04.2019, 00:06
 
Ответить
Сообщение
Я ж Вам так и сделал в файле из поста 2. В АЕ2 вводите 4, в АF2 вводите 8

Я имел в виду, что в ячейках AE и AF, задавать не абсолютные значения строк, а относительные.
То есть, относительно текущей строки задавать размер диапазона вверх.
Например, для ячейки AB8:
если значения в ячейках AE2 и AF2 будут равны 0 и 4 (соответственно),
то должен быть выделен диапазон A5-Y8.
Если 1 и 4, то должен быть выделен диапазон A4-Y7 и так далее.
Пожалуй, лучше назвать столбец AF не "Кон.стр.", а "Число строк в диапазоне". Иначе путаница получается.
То есть, AE2 задаёт либо текущую строку (значение=0), либо выше текущей на указанное число.
А значение AF2, задаёт количество строк вверх от значения заданного AE2.
Не знаю, как ещё объяснить... :(

Автор - Kaktus8
Дата добавления - 06.04.2019 в 23:48
gling Дата: Воскресенье, 07.04.2019, 01:15 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2558
Репутация: 696 ±
Замечаний: 0% ±

2010
Для АВ попробуйте так
Код
=ЕСЛИ((СТРОКА()-($AE$2+$AF$2))<=0;"";СЧЁТЕСЛИ(ИНДЕКС($A$1:$A$100;СТРОКА()-$AE$2;):ИНДЕКС($Y$1:$Y$100;СТРОКА()-($AE$2+$AF$2-1););$AD$2))


ЯД-41001506838083
 
Ответить
СообщениеДля АВ попробуйте так
Код
=ЕСЛИ((СТРОКА()-($AE$2+$AF$2))<=0;"";СЧЁТЕСЛИ(ИНДЕКС($A$1:$A$100;СТРОКА()-$AE$2;):ИНДЕКС($Y$1:$Y$100;СТРОКА()-($AE$2+$AF$2-1););$AD$2))

Автор - gling
Дата добавления - 07.04.2019 в 01:15
Kaktus8 Дата: Воскресенье, 07.04.2019, 01:47 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling, спасибо большое!
Я тут криво-прекриво "наваял" для АВ:
Код
=СЧЁТЕСЛИ(ИНДЕКС($A:$A;(СТРОКА()-($AE$2+$AF$2-1))):ИНДЕКС($Y:$Y;(СТРОКА()-$AE$2));$AD$2)

для АА:
Код

=СТРОКА()-МАКС((ЕСЛИ((ИНДЕКС($A:$A;(СТРОКА()-($AE$2+$AF$2-1))):ИНДЕКС($Y:$Y;(СТРОКА()-$AE$2)))=$AD$2;СТРОКА(ИНДЕКС($A:$A;(СТРОКА()-($AE$2+$AF$2-1))):ИНДЕКС($Y:$Y;(СТРОКА()-$AE$2))))))

Жутко, конечно,получилось, но как умею и просто для иллюстрации принципа, так сказать.
Тормозит ужасно (по несколько секунд пересчитывает несколько строк). Но тормоза, в основном, после добавления формулы для столбца АА.
На нескольких тысячах ячеек, наверно, вообще зависнет.

Сейчас Вашу формулу попробую.

ADD: Ваша прекрасно работает. И не показывает ошибки значений в верхних строках, которые возникают когда диапазон выходит за пределы листа, что приятно. Спасибо большое!
Ещё бы со второй разобраться (столбец АА), чтобы не тормозило.


Сообщение отредактировал Kaktus8 - Воскресенье, 07.04.2019, 02:02
 
Ответить
Сообщениеgling, спасибо большое!
Я тут криво-прекриво "наваял" для АВ:
Код
=СЧЁТЕСЛИ(ИНДЕКС($A:$A;(СТРОКА()-($AE$2+$AF$2-1))):ИНДЕКС($Y:$Y;(СТРОКА()-$AE$2));$AD$2)

для АА:
Код

=СТРОКА()-МАКС((ЕСЛИ((ИНДЕКС($A:$A;(СТРОКА()-($AE$2+$AF$2-1))):ИНДЕКС($Y:$Y;(СТРОКА()-$AE$2)))=$AD$2;СТРОКА(ИНДЕКС($A:$A;(СТРОКА()-($AE$2+$AF$2-1))):ИНДЕКС($Y:$Y;(СТРОКА()-$AE$2))))))

Жутко, конечно,получилось, но как умею и просто для иллюстрации принципа, так сказать.
Тормозит ужасно (по несколько секунд пересчитывает несколько строк). Но тормоза, в основном, после добавления формулы для столбца АА.
На нескольких тысячах ячеек, наверно, вообще зависнет.

Сейчас Вашу формулу попробую.

ADD: Ваша прекрасно работает. И не показывает ошибки значений в верхних строках, которые возникают когда диапазон выходит за пределы листа, что приятно. Спасибо большое!
Ещё бы со второй разобраться (столбец АА), чтобы не тормозило.

Автор - Kaktus8
Дата добавления - 07.04.2019 в 01:47
_Boroda_ Дата: Воскресенье, 07.04.2019, 02:02 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16709
Репутация: 6501 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Вот теперь понятно
Код
=СТРОКА()-МАКС((ЕСЛИ(ИНДЕКС($A:$A;МАКС(СТРОКА()-AF$2;1)):ИНДЕКС($Y:$Y;СТРОКА()-AE$2)=$AD$2;СТРОКА(ИНДЕКС($A:$A;МАКС(СТРОКА()-AF$2;1)):ИНДЕКС($Y:$Y;СТРОКА()-AE$2)))))
К сообщению приложен файл: 4-1a_2.xlsx (12.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВот теперь понятно
Код
=СТРОКА()-МАКС((ЕСЛИ(ИНДЕКС($A:$A;МАКС(СТРОКА()-AF$2;1)):ИНДЕКС($Y:$Y;СТРОКА()-AE$2)=$AD$2;СТРОКА(ИНДЕКС($A:$A;МАКС(СТРОКА()-AF$2;1)):ИНДЕКС($Y:$Y;СТРОКА()-AE$2)))))

Автор - _Boroda_
Дата добавления - 07.04.2019 в 02:02
Kaktus8 Дата: Воскресенье, 07.04.2019, 03:22 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, gling, если что, то прошу меня простить, - я совсем начинающий Экселист. Очень слабо ориентируюсь и всё делаю пока только по аналогии. Особенно создание своих собственных конструкций ещё туго идёт и многое-многое непонятно :(

По поводу скорости:
где-то попадалось на глаза, что ИНДЕКС - одна из самых быстрых в Эксел-е, но почему-то, всё-же, подтормаживает.
Непонятно. Хотя, с другой стороны, сразу целый массив пересчитывается. А с третьей стороны и более массивные пересчёты не дольше делаются. Странно.

_Boroda_, спасибо!
Добавил к Вашей формуле для АА, начало формулы для АВ от gling, чтобы не показывались значения с ошибкой.
Но, почему-то при вводе некоторых значений, иногда считает неверно. Например для ячейки А8 выводится 8, хотя должно бы 4 (предполагаемый диапазон выделил цветом).
Причём, если задать AF2=4, то уже показывает верное значение. Пока не разобрался с этим.
Файл прилагаю.
А сейчас пойду на боковую: утро вечера мудренее.
:)
К сообщению приложен файл: 4-1a_2a.xlsx (12.4 Kb)


Сообщение отредактировал Kaktus8 - Воскресенье, 07.04.2019, 03:24
 
Ответить
Сообщение_Boroda_, gling, если что, то прошу меня простить, - я совсем начинающий Экселист. Очень слабо ориентируюсь и всё делаю пока только по аналогии. Особенно создание своих собственных конструкций ещё туго идёт и многое-многое непонятно :(

По поводу скорости:
где-то попадалось на глаза, что ИНДЕКС - одна из самых быстрых в Эксел-е, но почему-то, всё-же, подтормаживает.
Непонятно. Хотя, с другой стороны, сразу целый массив пересчитывается. А с третьей стороны и более массивные пересчёты не дольше делаются. Странно.

_Boroda_, спасибо!
Добавил к Вашей формуле для АА, начало формулы для АВ от gling, чтобы не показывались значения с ошибкой.
Но, почему-то при вводе некоторых значений, иногда считает неверно. Например для ячейки А8 выводится 8, хотя должно бы 4 (предполагаемый диапазон выделил цветом).
Причём, если задать AF2=4, то уже показывает верное значение. Пока не разобрался с этим.
Файл прилагаю.
А сейчас пойду на боковую: утро вечера мудренее.
:)

Автор - Kaktus8
Дата добавления - 07.04.2019 в 03:22
gling Дата: Воскресенье, 07.04.2019, 07:59 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2558
Репутация: 696 ±
Замечаний: 0% ±

2010
Может с доп столбцом быстрее будет считать. В столбце АВ не нужен массивный ввод формулы. Массивные формулы на больших объёмах долго считают.
К сообщению приложен файл: 9112879.xlsx (12.8 Kb)


ЯД-41001506838083

Сообщение отредактировал gling - Воскресенье, 07.04.2019, 08:00
 
Ответить
СообщениеМожет с доп столбцом быстрее будет считать. В столбце АВ не нужен массивный ввод формулы. Массивные формулы на больших объёмах долго считают.

Автор - gling
Дата добавления - 07.04.2019 в 07:59
Kaktus8 Дата: Воскресенье, 07.04.2019, 13:03 | Сообщение № 17
Группа: Пользователи
Ранг: Участник
Сообщений: 79
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling,
действительно, думаю Вы правы. С дополнительным столбцом будет гораздо проще.

_Boroda_, gling, большое спасибо вам за помощь!
Все принципиальные вопросы помогли решить, - теперь ясно как быть.
Вопрос закрываю.
Ещё раз, спасибо!
 
Ответить
Сообщениеgling,
действительно, думаю Вы правы. С дополнительным столбцом будет гораздо проще.

_Boroda_, gling, большое спасибо вам за помощь!
Все принципиальные вопросы помогли решить, - теперь ясно как быть.
Вопрос закрываю.
Ещё раз, спасибо!

Автор - Kaktus8
Дата добавления - 07.04.2019 в 13:03
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!