Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865 / 6 сообщений из 6, страница 1 из 1
28.10.2013, 17:27
    #38443923
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865
Помогите пожалуйста с формулой!

Имеется строка, например: А1:D1. Некоторые ячейки заполнены: *85; *780; ; ывап; 23. Короче, имеются тексты в виде числа со звёздочкой, пустые ячейки, тексты, числа. Нужно сложить числа-тексты со звёздочкой. При этом игнорировать все остальные ячейки строки. Нужна формула массива.

Вот что у меня пока получилось: {=ОТБР(СУММ(ЗНАЧЕН(ЕСЛИ(ДЛСТР(F4:K4)=0;"0.01";ПСТР(F4:K4;2;ДЛСТР(F4:K4)))));0)}

Но формула суммирует и числа, а если есть тексты, то выдаёт ошибку...
...
Рейтинг: 0 / 0
28.10.2013, 17:42
    #38443948
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865
Код: vbnet
1.
=СУММ(ЕСЛИ(ЕЧИСЛО(ПОИСК("~*";F4:K4));--ПСТР(F4:K4;2;99)))
...
Рейтинг: 0 / 0
28.10.2013, 17:46
    #38443956
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865
Ещё вариант:
Код: vbnet
1.
=СУММ(ЕСЛИ(ЕЧИСЛО(ПОИСК("~*";F4:K4));--ПОДСТАВИТЬ(F4:K4;"*";)))
...
Рейтинг: 0 / 0
28.10.2013, 18:17
    #38444015
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865
Сергей, спасибо большое! Классно и быстро! Теперь скажу для чего было задумано может кому пригодится.

Классический план/факт. Чтобы не городить лишние колонки просто плановым значениям присваивается "звёздочка", а потом по факту ставится значение.

Но дальше больше. Таким образом можно без макросов осуществлять суммирование по цвету!!! Делаем в ячейке условное форматирование на присутствие звёздочки. Как только в ячейке звёздочка с числом - она окрашивается в жёлтый цвет, а формула суммирует по звёздочке, но визуально кажется по цвету - уже применил на практике - прикольно получилось!

С приветом!
...
Рейтинг: 0 / 0
28.10.2013, 21:35
    #38444171
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865
Валерий, не сказал бы что это хорошая идея...
1. Формулы массива затрудняют вычисления (на больших диапазонах это особенно заметно)
2. Текстовые выражения чисел вынуждают прибегать к различным ухищрениям для их обработки, а сводные таблицы вообще не будут обрабатывать текст как число
3. Условное форматирование (да и вообще любое форматирование) в базах данных не имеет никакого смысла и недопустимо в принципе

ЗЫ Насторожило что диапазон горизонтальный F4:K4, получается что БД не нормализованная?
...
Рейтинг: 0 / 0
29.10.2013, 16:37
    #38445426
Valll
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865
Сергей, Это не для базы данных. Табличка табеля выходов на работу, где присутствуют план/факт по часам. 31 день в месяце... Если бы делал 2 столбца на день - 64 столбца, а так обошёлся в 31... Меня устраивает. Спасибо за формулу.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Нужно проссумировать строку: "*85"; "*780"; ; "орпроп"; 23; должно плоучиться 865 / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]