Вывести первую строку и последнюю строку (из диапазона)
stalber
Дата: Суббота, 15.12.2018, 15:57 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация:
7
±
Замечаний:
40% ±
Excel 2007
Добрый день, подскажите пожалуйста формулу. Диапазон зелёным цветом выделен. Первая строка оранжевым. Последняя строка синим.
Добрый день, подскажите пожалуйста формулу. Диапазон зелёным цветом выделен. Первая строка оранжевым. Последняя строка синим. stalber
Сообщение отредактировал stalber - Суббота, 15.12.2018, 15:59
Ответить
Сообщение Добрый день, подскажите пожалуйста формулу. Диапазон зелёным цветом выделен. Первая строка оранжевым. Последняя строка синим. Автор - stalber Дата добавления - 15.12.2018 в 15:57
Светлый
Дата: Суббота, 15.12.2018, 18:45 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Добрый день! Массивные формулы:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(СТРОКА(1:60)<=МАКС(($A1:$Q60<>0)*СТРОКА(1:60)))*(СТРОКА(1:60)>МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-$T24);СТРОКА(1:60))))
Код
=ИНДЕКС(C:C;МАКС(ЕСЛИ((C1:C60<>0)*(СТРОКА(1:60)<=МАКС(($A1:$Q60<>0)*СТРОКА(1:60)))*(СТРОКА(1:60)>МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-$T24);СТРОКА(1:60))))
Добрый день! Массивные формулы:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(СТРОКА(1:60)<=МАКС(($A1:$Q60<>0)*СТРОКА(1:60)))*(СТРОКА(1:60)>МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-$T24);СТРОКА(1:60))))
Код
=ИНДЕКС(C:C;МАКС(ЕСЛИ((C1:C60<>0)*(СТРОКА(1:60)<=МАКС(($A1:$Q60<>0)*СТРОКА(1:60)))*(СТРОКА(1:60)>МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-$T24);СТРОКА(1:60))))
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Добрый день! Массивные формулы:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(СТРОКА(1:60)<=МАКС(($A1:$Q60<>0)*СТРОКА(1:60)))*(СТРОКА(1:60)>МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-$T24);СТРОКА(1:60))))
Код
=ИНДЕКС(C:C;МАКС(ЕСЛИ((C1:C60<>0)*(СТРОКА(1:60)<=МАКС(($A1:$Q60<>0)*СТРОКА(1:60)))*(СТРОКА(1:60)>МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-$T24);СТРОКА(1:60))))
Автор - Светлый Дата добавления - 15.12.2018 в 18:45
gling
Дата: Суббота, 15.12.2018, 19:07 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация:
674
±
Замечаний:
0% ±
2010
Здравствуйте. С формулами в диспетчере имен.
Здравствуйте. С формулами в диспетчере имен. gling
ЯД-41001506838083
Сообщение отредактировал gling - Суббота, 15.12.2018, 19:57
Ответить
Сообщение Здравствуйте. С формулами в диспетчере имен. Автор - gling Дата добавления - 15.12.2018 в 19:07
gling
Дата: Суббота, 15.12.2018, 19:55 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация:
674
±
Замечаний:
0% ±
2010
Немного перемудрил с формулами в диспетчере имен. Не нужно искать остаток, достаточно записать такКод
ПОИСКПОЗ(2;1/(Диап<>0);1)
Файл в предыдущем сообщении заменил.
Немного перемудрил с формулами в диспетчере имен. Не нужно искать остаток, достаточно записать такКод
ПОИСКПОЗ(2;1/(Диап<>0);1)
Файл в предыдущем сообщении заменил. gling
ЯД-41001506838083
Сообщение отредактировал gling - Суббота, 15.12.2018, 19:58
Ответить
Сообщение Немного перемудрил с формулами в диспетчере имен. Не нужно искать остаток, достаточно записать такКод
ПОИСКПОЗ(2;1/(Диап<>0);1)
Файл в предыдущем сообщении заменил. Автор - gling Дата добавления - 15.12.2018 в 19:55
stalber
Дата: Суббота, 15.12.2018, 22:16 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация:
7
±
Замечаний:
40% ±
Excel 2007
Светлый, благодарю за помощь, но из-за того что мне нужно 160 таких формул, эксель очень тормозит. Qlinq, благодарю за помощь, запутался, можно получить формулы не используя диспетчер имён? В примере я вывел числа подряд, а мне порой не всегда подряд нужны, а там через столбец или через два столбца, а формула там =первая нет привязки к конкретному столбцу.
Светлый, благодарю за помощь, но из-за того что мне нужно 160 таких формул, эксель очень тормозит. Qlinq, благодарю за помощь, запутался, можно получить формулы не используя диспетчер имён? В примере я вывел числа подряд, а мне порой не всегда подряд нужны, а там через столбец или через два столбца, а формула там =первая нет привязки к конкретному столбцу. stalber
Ответить
Сообщение Светлый, благодарю за помощь, но из-за того что мне нужно 160 таких формул, эксель очень тормозит. Qlinq, благодарю за помощь, запутался, можно получить формулы не используя диспетчер имён? В примере я вывел числа подряд, а мне порой не всегда подряд нужны, а там через столбец или через два столбца, а формула там =первая нет привязки к конкретному столбцу. Автор - stalber Дата добавления - 15.12.2018 в 22:16
Светлый
Дата: Суббота, 15.12.2018, 22:31 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Немного причесал формулу:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
Немного причесал формулу:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Немного причесал формулу:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(МАКС(($A1:$Q60<>0)*СТРОКА(1:60))-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
Автор - Светлый Дата добавления - 15.12.2018 в 22:31
gling
Дата: Суббота, 15.12.2018, 22:40 |
Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация:
674
±
Замечаний:
0% ±
2010
не используя диспетчер имён
Можно, но это тоже формулы массива, и тормозить будут так же.Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(1;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);));)
Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(2;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);1));)
не используя диспетчер имён
Можно, но это тоже формулы массива, и тормозить будут так же.Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(1;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);));)
Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(2;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);1));)
gling
ЯД-41001506838083
Ответить
Сообщение не используя диспетчер имён
Можно, но это тоже формулы массива, и тормозить будут так же.Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(1;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);));)
Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(2;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);1));)
Автор - gling Дата добавления - 15.12.2018 в 22:40
Светлый
Дата: Суббота, 15.12.2018, 22:55 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
А так ещё быстрее будет работать:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(ПОИСКПОЗ(9^9;C:C;1)-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
Или даже так:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(ПОИСКПОЗ(9^9;C1:C60;1)-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
*Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24);СТРОКА(1:60))))
А так ещё быстрее будет работать:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(ПОИСКПОЗ(9^9;C:C;1)-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
Или даже так:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(ПОИСКПОЗ(9^9;C1:C60;1)-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
*Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24);СТРОКА(1:60))))
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Суббота, 15.12.2018, 23:22
Ответить
Сообщение А так ещё быстрее будет работать:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(ПОИСКПОЗ(9^9;C:C;1)-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
Или даже так:Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS(ПОИСКПОЗ(9^9;C1:C60;1)-($T24-1)/2-СТРОКА(1:60))<$T24/2);СТРОКА(1:60))))
*Код
=ИНДЕКС(C:C;МИН(ЕСЛИ((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24);СТРОКА(1:60))))
Автор - Светлый Дата добавления - 15.12.2018 в 22:55
Светлый
Дата: Воскресенье, 16.12.2018, 16:00 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Наверно, можно ещё сократить, но этого достаточно:Код
=СМЕЩ(C1;МИН(ЕСЛИ((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24);СТРОКА(1:60)-1));)
Код
=СМЕЩ(C1;МАКС(((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24)*СТРОКА(1:60))-1);)
Наверно, можно ещё сократить, но этого достаточно:Код
=СМЕЩ(C1;МИН(ЕСЛИ((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24);СТРОКА(1:60)-1));)
Код
=СМЕЩ(C1;МАКС(((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24)*СТРОКА(1:60))-1);)
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Наверно, можно ещё сократить, но этого достаточно:Код
=СМЕЩ(C1;МИН(ЕСЛИ((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24);СТРОКА(1:60)-1));)
Код
=СМЕЩ(C1;МАКС(((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24)*СТРОКА(1:60))-1);)
Автор - Светлый Дата добавления - 16.12.2018 в 16:00
_Boroda_
Дата: Понедельник, 17.12.2018, 09:52 |
Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация:
6479
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Если со СМЕЩ, то такие варианты МассивнаяКод
=ИНДЕКС(C:C;МИН(ЕСЛИ(СМЕЩ(C2;СЧЁТ(C:C)-20;;20);СТРОКА(СМЕЩ(C2;СЧЁТ(C:C)-20;;20)))))
НемассивнаяКод
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/СМЕЩ(C2;СЧЁТ(C:C)-20;;20));)
Без СМЕЩКод
=ИНДЕКС(C:C;МИН(ЕСЛИ(C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18);СТРОКА(C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18)))))
Код
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18));)
Если со СМЕЩ, то такие варианты МассивнаяКод
=ИНДЕКС(C:C;МИН(ЕСЛИ(СМЕЩ(C2;СЧЁТ(C:C)-20;;20);СТРОКА(СМЕЩ(C2;СЧЁТ(C:C)-20;;20)))))
НемассивнаяКод
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/СМЕЩ(C2;СЧЁТ(C:C)-20;;20));)
Без СМЕЩКод
=ИНДЕКС(C:C;МИН(ЕСЛИ(C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18);СТРОКА(C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18)))))
Код
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18));)
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Если со СМЕЩ, то такие варианты МассивнаяКод
=ИНДЕКС(C:C;МИН(ЕСЛИ(СМЕЩ(C2;СЧЁТ(C:C)-20;;20);СТРОКА(СМЕЩ(C2;СЧЁТ(C:C)-20;;20)))))
НемассивнаяКод
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/СМЕЩ(C2;СЧЁТ(C:C)-20;;20));)
Без СМЕЩКод
=ИНДЕКС(C:C;МИН(ЕСЛИ(C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18);СТРОКА(C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18)))))
Код
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18));)
Автор - _Boroda_ Дата добавления - 17.12.2018 в 09:52
stalber
Дата: Суббота, 02.03.2019, 18:35 |
Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация:
7
±
Замечаний:
40% ±
Excel 2007
Подскажите пожалуйста, вот ниже формулы они выводят последнее число из диапазона, а теперь понадобилось предпоследнее. gling [vba]Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(2;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);1));)
[/vba] Светлый [vba]Код
=СМЕЩ(C1;МАКС(((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24)*СТРОКА(1:60))-1);)
[/vba] _Boroda_ [vba]Код
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18));)
[/vba]
Подскажите пожалуйста, вот ниже формулы они выводят последнее число из диапазона, а теперь понадобилось предпоследнее. gling [vba]Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(2;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);1));)
[/vba] Светлый [vba]Код
=СМЕЩ(C1;МАКС(((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24)*СТРОКА(1:60))-1);)
[/vba] _Boroda_ [vba]Код
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18));)
[/vba] stalber
Ответить
Сообщение Подскажите пожалуйста, вот ниже формулы они выводят последнее число из диапазона, а теперь понадобилось предпоследнее. gling [vba]Код
=ЕСЛИОШИБКА(ИНДЕКС(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1));ПОИСКПОЗ(2;1/(ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1)-19):ИНДЕКС(C:C;ПОИСКПОЗ(9^9;C:C;1))<>0);1));)
[/vba] Светлый [vba]Код
=СМЕЩ(C1;МАКС(((C1:C60<>0)*(ABS((ПОИСКПОЗ(9^9;C:C;1)-СТРОКА(1:60))*2-$T24+1)<$T24)*СТРОКА(1:60))-1);)
[/vba] _Boroda_ [vba]Код
=ЕСЛИОШИБКА(-1/ПРОСМОТР(;-1/C99:ИНДЕКС(C:C;СЧЁТ(C:C)-18));)
[/vba] Автор - stalber Дата добавления - 02.03.2019 в 18:35
stalber
Дата: Понедельник, 04.03.2019, 03:34 |
Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация:
7
±
Замечаний:
40% ±
Excel 2007
Подскажите пожалуйста, тема актуальна (последнее сообщение).
Подскажите пожалуйста, тема актуальна (последнее сообщение). stalber
Ответить
Сообщение Подскажите пожалуйста, тема актуальна (последнее сообщение). Автор - stalber Дата добавления - 04.03.2019 в 03:34
stalber
Дата: Вторник, 05.03.2019, 13:35 |
Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 370
Репутация:
7
±
Замечаний:
40% ±
Excel 2007
Ответить