Подсчет ячеек справа от заданной ячейки

Автор лена89, 20 марта 2020, 16:01

0 Пользователи и 1 гость просматривают эту тему.

mikekaganski

#45
Цитата: Bigor от  7 апреля 2020, 10:04
3. Дописываем формулу, что бы искала последнюю заполненную строку
=MAX(IF($A$4:$A$40=LOOKUP(2;1/ISNUMBER($A$4:$A$40);$A$4:$A$40);ROW($A$4:$A$40);""))-MAX(IF($A$4:$A$24=4;ROW($A$4:$A$24);""))

все формулы массивные. Последнюю скорее всего можно и оптимизировать, но пока как есть

MAX(IF($A$4:$A$40=LOOKUP(2;1/ISNUMBER($A$4:$A$40);$A$4:$A$40);ROW($A$4:$A$40);""))
можно переписать как
LOOKUP(2;1/ISNUMBER($A$4:$A$40);ROW($A$4:$A$40))

а
MAX(IF($A$4:$A$24=4;ROW($A$4:$A$24);""))
в
MAX(($A$4:$A$40=4)*ROW($A$4:$A$40))
или даже в
MAXIFS(ROW($A$4:$A$40);$A$4:$A$40;4)
которая не требует формулы массива (правда, MAXIFS отсутствует в AOO).
С уважением,
Михаил Каганский

bigor

Цитата: mikekaganski от  7 апреля 2020, 13:33LOOKUP(2;1/ISNUMBER($A$4:$A$40);ROW($A$4:$A$40))
был где-то рядом :) но потом в сложности потянуло.

С учетом поправок - номер строки для начала массива (подразумевается, что массив начинается, где то в первом десятке строк, а заканчивается ниже 10 строки.
=LOOKUP(2;1/ISBLANK($A$2:$A$10);ROW($A$2:$A$10))+1
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

mikekaganski

Цитата: Bigor от  6 апреля 2020, 11:30
Если границы массива известны, то вот вверх
=MIN(IF($A$4:$A$24=4;ROW($A$4:$A$24);""))-ROW(A4)

Вот вариант, тоже не требующий формулы массива:
=MATCH(4;$A$4:$A$24;0)-1
С уважением,
Михаил Каганский

лена89

Вторая формула просто шикарная, я туда ещё INDIRECT всунула и красиво получилось) Имеется в виду вот эта =MATCH(4;$A$4:$A$24;0)-1

лена89

Так, ну вот и всё. Я спасена. Всё изящно и красиво. Мне теперь, в общей сложности надо при работе с 15-тью массивами поменять значение всего лишь  ( ВСЕГО ЛИШЬ) в одной ячейке . А сидела исправляла по часу  15 формул, а потом их ещё час копировала. Я не знаю вас лично, но я знаю, что вы тут все гении , и в частности Bigor и mikekaganski. Спасибо вам большое человеческое)