Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/БДСУММ и длинный текст - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
БДСУММ и длинный текст
Sapiens Дата: Среда, 29.02.2012, 17:49 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 3 ±
Замечаний: 0% ±

Добрый день, уважаемый эксперты.
Столкнулся с такой проблемой: БДСУММ некорректно обрабатывает условие по текстовой строке.
Пример в файле.
В примере результат формулы в выделенном поле должен быть 70, а получается 90, т.к. БДСУММ заодно суммирует не только требуемый мне код, но и ещё один - у которого первые 18 символов совпадают с искомым кодом. Как с этим можно побороться?
К сообщению приложен файл: 5568007.xls (24.0 Kb)
 
Ответить
СообщениеДобрый день, уважаемый эксперты.
Столкнулся с такой проблемой: БДСУММ некорректно обрабатывает условие по текстовой строке.
Пример в файле.
В примере результат формулы в выделенном поле должен быть 70, а получается 90, т.к. БДСУММ заодно суммирует не только требуемый мне код, но и ещё один - у которого первые 18 символов совпадают с искомым кодом. Как с этим можно побороться?

Автор - Sapiens
Дата добавления - 29.02.2012 в 17:49
Serge_007 Дата: Среда, 29.02.2012, 17:51 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Sapiens)
Как с этим можно побороться?

Например так:
Code
=СУММПРОИЗВ((A2:A6=H3)*(C2:C6<I3)*B2:B6)
К сообщению приложен файл: Sapiens.xls (24.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Sapiens)
Как с этим можно побороться?

Например так:
Code
=СУММПРОИЗВ((A2:A6=H3)*(C2:C6<I3)*B2:B6)

Автор - Serge_007
Дата добавления - 29.02.2012 в 17:51
Гость Дата: Среда, 29.02.2012, 19:52 | Сообщение № 3
Группа: Гости
Serge_007, спасибо!
Действительно правильно считает, хотя я и не понимаю почему ваша формула работает.. smile
 
Ответить
СообщениеSerge_007, спасибо!
Действительно правильно считает, хотя я и не понимаю почему ваша формула работает.. smile

Автор - Гость
Дата добавления - 29.02.2012 в 19:52
Sapiens Дата: Среда, 29.02.2012, 19:53 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 3 ±
Замечаний: 0% ±

Ой, Гость - это был я..
 
Ответить
СообщениеОй, Гость - это был я..

Автор - Sapiens
Дата добавления - 29.02.2012 в 19:53
Serge_007 Дата: Среда, 29.02.2012, 19:58 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Гость)
...я не понимаю почему ваша формула работает...

Как почему?
Потому что она правильная...
Она учитывает все Ваши условия.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Гость)
...я не понимаю почему ваша формула работает...

Как почему?
Потому что она правильная...
Она учитывает все Ваши условия.

Автор - Serge_007
Дата добавления - 29.02.2012 в 19:58
IgorGo Дата: Среда, 29.02.2012, 20:52 | Сообщение № 6
Группа: Друзья
Ранг: Форумчанин
Сообщений: 108
Репутация: 38 ±
Замечаний: 0% ±

в Н3 напишите 42305810400030000085* - заработает
 
Ответить
Сообщениев Н3 напишите 42305810400030000085* - заработает

Автор - IgorGo
Дата добавления - 29.02.2012 в 20:52
Sapiens Дата: Четверг, 01.03.2012, 07:43 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 3 ±
Замечаний: 0% ±

Quote (IgorGo)
в Н3 напишите 42305810400030000085* - заработает

Спасибо, тоже хороший вариант!

Quote (Serge_007)
Потому что она правильная...

Так, я понимаю, что правильная. Просто, я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива, а вы применили её там, где я бы никогда не подумал, что её возможно применить. В общем, спасибо ещё раз smile
 
Ответить
Сообщение
Quote (IgorGo)
в Н3 напишите 42305810400030000085* - заработает

Спасибо, тоже хороший вариант!

Quote (Serge_007)
Потому что она правильная...

Так, я понимаю, что правильная. Просто, я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива, а вы применили её там, где я бы никогда не подумал, что её возможно применить. В общем, спасибо ещё раз smile

Автор - Sapiens
Дата добавления - 01.03.2012 в 07:43
Serge_007 Дата: Среда, 28.03.2012, 11:14 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Sapiens)
я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива

Так и я её применил для того же smile

Смотрите что получается:
Каждое из условий даёт свой массив, состоящий из ИСТИНА, если условие выполняется и ЛОЖЬ, если нет.
(A2:A6=H3) = {ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ЛОЖЬ}
(C2:C6<I3) = {ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ}
B2:B6 = {10:20:30:40:50}
При перемножении происходит неявное преобразование типов, т.е. ЛОЖЬ преобразовывается в 0, а ИСТИНА в 1.
Получается так:



Итоговый массив после ПРОИЗВ: {0:0:30:40:0}, итог после СУММ - 70
К сообщению приложен файл: 2764646.gif (10.4 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Sapiens)
я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива

Так и я её применил для того же smile

Смотрите что получается:
Каждое из условий даёт свой массив, состоящий из ИСТИНА, если условие выполняется и ЛОЖЬ, если нет.
(A2:A6=H3) = {ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ЛОЖЬ}
(C2:C6<I3) = {ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ}
B2:B6 = {10:20:30:40:50}
При перемножении происходит неявное преобразование типов, т.е. ЛОЖЬ преобразовывается в 0, а ИСТИНА в 1.
Получается так:



Итоговый массив после ПРОИЗВ: {0:0:30:40:0}, итог после СУММ - 70

Автор - Serge_007
Дата добавления - 28.03.2012 в 11:14
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!