Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 12:31   #1
maseur
Пользователь
 
Регистрация: 11.11.2012
Сообщений: 11
По умолчанию Как доработать формулу до последней непустой яч-и?

Здравствуйте, Знатоки. Очень нужна Ваша помощь.
Есть формула в J. Она считает усложненное среднее арифметическое и показывает результат, если последняя ячейка в диапазоне не 0.
Помогите, пожалуйста доработать формулу, чтобы она считала ДО ПЕРВОЙ пустой справа. В примере--до столба О. Но пустых столбов может быть несколько и они могут "передвигаться".
Функцию показа значения, если последняя ячейка (это будет уже "перед первой пустой") не 0, надо сохранить.
В общем, как сделать, чтобы формула работала только до первой пустой?
Благодарю за потраченное время.
Вложения
Тип файла: rar на форум КАЛЕНДАРЬ.rar (21.8 Кб, 13 просмотров)
maseur вне форума Ответить с цитированием
Старый 20.11.2012, 13:08   #2
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

maseur,
попробуйте заменить
Код:
ПОИСКПОЗ(9^9;K2:IN2)
на
Код:
(ПОИСКПОЗ("@";K2:IN2&"@";)-1)
+ формула станет массивная. При вводе придется нажать CTRL+SHIFT+ENTER.

P.S.
Проще было бы решить задачу, чем дорабатывать чужую формулу.

Последний раз редактировалось ZORRO2005; 20.11.2012 в 13:16.
ZORRO2005 вне форума Ответить с цитированием
Старый 21.11.2012, 11:26   #3
maseur
Пользователь
 
Регистрация: 11.11.2012
Сообщений: 11
По умолчанию

Не подходит. Сбивается результат. Буду ковыряться с =""
Спасибо за внимание.
maseur вне форума Ответить с цитированием
Старый 21.11.2012, 22:05   #4
maseur
Пользователь
 
Регистрация: 11.11.2012
Сообщений: 11
По умолчанию

Помогло. Получилась формула массива:

=ЕСЛИ((ИНДЕКС(K2:IN2;ПОИСКПОЗ(1=1;K 2:IN2=""-1))<>0;(100*((ИНДЕКС(K2:IN2;ПОИСКПО З(1=1;K2:IN2=""-1)))/((СУММ(ИНДЕКС(K2;1):ИНДЕКС(K2:IN2;П ОИСКПОЗ(1=1;K2:IN2=""-2)))/(СЧЁТЗ(ИНДЕКС(K2;1):ИНДЕКС(K2:IN2;П ОИСКПОЗ(1=1;K2:IN2=""-2)))));"")

Где надо подобавлял ="";
И единицы увеличил из расчета, что на одну клетку влево.
Всем привет.
maseur вне форума Ответить с цитированием
Старый 21.11.2012, 22:08   #5
maseur
Пользователь
 
Регистрация: 11.11.2012
Сообщений: 11
По умолчанию

Смайлы попёрли...
Вместо смайла--точка с запятой и скобка.
maseur вне форума Ответить с цитированием
Старый 21.11.2012, 22:28   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

maseur,
Чем отличается результат, предложенный выше от
Код:
=ПОИСКПОЗ(1=1;K2:IN2="";)-1
?
ZORRO2005 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как получить текст последней ошибки HellMercenariess Общие вопросы Delphi 4 18.06.2012 09:57
Как убрать выделение последней нажатой кнопки Crystallon Общие вопросы Delphi 4 13.05.2011 00:59
Как получить имя последней подпапки в папке? artemavd Общие вопросы Delphi 6 04.02.2011 14:58
как найти длину последней подстроки в паскале Artem1987 Помощь студентам 1 27.12.2007 18:17