Добрый день, уважаемый эксперты. Столкнулся с такой проблемой: БДСУММ некорректно обрабатывает условие по текстовой строке. Пример в файле. В примере результат формулы в выделенном поле должен быть 70, а получается 90, т.к. БДСУММ заодно суммирует не только требуемый мне код, но и ещё один - у которого первые 18 символов совпадают с искомым кодом. Как с этим можно побороться?
Добрый день, уважаемый эксперты. Столкнулся с такой проблемой: БДСУММ некорректно обрабатывает условие по текстовой строке. Пример в файле. В примере результат формулы в выделенном поле должен быть 70, а получается 90, т.к. БДСУММ заодно суммирует не только требуемый мне код, но и ещё один - у которого первые 18 символов совпадают с искомым кодом. Как с этим можно побороться?Sapiens
Так, я понимаю, что правильная. Просто, я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива, а вы применили её там, где я бы никогда не подумал, что её возможно применить. В общем, спасибо ещё раз
Quote (IgorGo)
в Н3 напишите 42305810400030000085* - заработает
Спасибо, тоже хороший вариант!
Quote (Serge_007)
Потому что она правильная...
Так, я понимаю, что правильная. Просто, я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива, а вы применили её там, где я бы никогда не подумал, что её возможно применить. В общем, спасибо ещё раз Sapiens
я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива
Так и я её применил для того же
Смотрите что получается: Каждое из условий даёт свой массив, состоящий из ИСТИНА, если условие выполняется и ЛОЖЬ, если нет. (A2:A6=H3) = {ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ЛОЖЬ} (C2:C6<I3) = {ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ} B2:B6 = {10:20:30:40:50} При перемножении происходит неявное преобразование типов, т.е. ЛОЖЬ преобразовывается в 0, а ИСТИНА в 1. Получается так:
Итоговый массив после ПРОИЗВ: {0:0:30:40:0}, итог после СУММ - 70
Quote (Sapiens)
я всегда использовал формулу СУММПРОИЗВ только для того, чтоб перемножить два числовых массива
Так и я её применил для того же
Смотрите что получается: Каждое из условий даёт свой массив, состоящий из ИСТИНА, если условие выполняется и ЛОЖЬ, если нет. (A2:A6=H3) = {ЛОЖЬ:ЛОЖЬ:ИСТИНА:ИСТИНА:ЛОЖЬ} (C2:C6<I3) = {ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ} B2:B6 = {10:20:30:40:50} При перемножении происходит неявное преобразование типов, т.е. ЛОЖЬ преобразовывается в 0, а ИСТИНА в 1. Получается так:
Итоговый массив после ПРОИЗВ: {0:0:30:40:0}, итог после СУММ - 70Serge_007