Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

25 Май 2020, 09:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4   Вниз
  Печать  
Автор Тема: Подсчет ячеек справа от заданной ячейки  (Прочитано 2344 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 840


« Ответ #45: 7 Апрель 2020, 13:33 »

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).
« Последнее редактирование: 7 Апрель 2020, 13:46 от mikekaganski » Записан

С уважением,
Михаил Каганский
Bigor
Мастер
*****
Offline Offline

Пол: Мужской
Сообщений: 912


« Ответ #46: 7 Апрель 2020, 14:39 »

LOOKUP(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
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 840


« Ответ #47: 7 Апрель 2020, 14:42 »

Если границы массива известны, то вот вверх
Код:
=MIN(IF($A$4:$A$24=4;ROW($A$4:$A$24);""))-ROW(A4)

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

С уважением,
Михаил Каганский
лена89
Форумчанин
***
Offline Offline

Сообщений: 52


« Ответ #48: 7 Апрель 2020, 16:08 »

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

Сообщений: 52


« Ответ #49: 7 Апрель 2020, 16:13 »

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

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!