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

Вход

Регистрация

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

 

= Мир MS Excel/Сложить текстовые значения, записанные в ячейке в две строки - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Сложить текстовые значения, записанные в ячейке в две строки
Che79 Дата: Среда, 04.03.2015, 13:54 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Всем добрый день.
Подскажите формулу, уважаемые гуру!
Есть таблица, выгрузка из софта. Все значения в виде текста, целая и дробная части разделяются точкой.
Необходимо найти сумму произведений всех значений по строкам таблицы.
Подробнее в примере, там же мои попытки решения. :(

Спасибо.
К сообщению приложен файл: primer040315.xlsx (10.6 Kb)


Делай нормально и будет нормально!
 
Ответить
СообщениеВсем добрый день.
Подскажите формулу, уважаемые гуру!
Есть таблица, выгрузка из софта. Все значения в виде текста, целая и дробная части разделяются точкой.
Необходимо найти сумму произведений всех значений по строкам таблицы.
Подробнее в примере, там же мои попытки решения. :(

Спасибо.

Автор - Che79
Дата добавления - 04.03.2015 в 13:54
Мурад Дата: Среда, 04.03.2015, 14:05 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Скажите, верхние значения всегда двузначные?


Сообщение отредактировал Мурад - Среда, 04.03.2015, 14:06
 
Ответить
СообщениеСкажите, верхние значения всегда двузначные?

Автор - Мурад
Дата добавления - 04.03.2015 в 14:05
_Boroda_ Дата: Среда, 04.03.2015, 14:17 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16907
Репутация: 6615 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно? Для произвольных значений, а не только 00/0.00
Код
=СУММПРОИЗВ(ЕСЛИОШИБКА(ЛЕВБ(A3:E3;ПОИСК(СИМВОЛ(10);A3:E3)-1)*ПОДСТАВИТЬ(ПСТР(A3:E3;ПОИСК(СИМВОЛ(10);A3:E3)+1;9);".";",");))

формула массива. Вводится одновременным нажатием Контрл Шифт Ентер
К сообщению приложен файл: primer040315_1.xlsx (11.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно? Для произвольных значений, а не только 00/0.00
Код
=СУММПРОИЗВ(ЕСЛИОШИБКА(ЛЕВБ(A3:E3;ПОИСК(СИМВОЛ(10);A3:E3)-1)*ПОДСТАВИТЬ(ПСТР(A3:E3;ПОИСК(СИМВОЛ(10);A3:E3)+1;9);".";",");))

формула массива. Вводится одновременным нажатием Контрл Шифт Ентер

Автор - _Boroda_
Дата добавления - 04.03.2015 в 14:17
ShAM Дата: Среда, 04.03.2015, 14:21 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
А просто
Код
=СУММ(ЕСЛИ(A3:E3="";0;ЛЕВБ(A3:E3;2)*ПРАВБ(ПОДСТАВИТЬ(A3:E3;".";",");4)))
не подойдет?
ЗЫ: тоже массивная.
 
Ответить
СообщениеА просто
Код
=СУММ(ЕСЛИ(A3:E3="";0;ЛЕВБ(A3:E3;2)*ПРАВБ(ПОДСТАВИТЬ(A3:E3;".";",");4)))
не подойдет?
ЗЫ: тоже массивная.

Автор - ShAM
Дата добавления - 04.03.2015 в 14:21
VEKTORVSFREEMAN Дата: Среда, 04.03.2015, 14:21 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
Che79, здравствуйте!
поиздевался над вашей формулой. Не спрашивайте почему так, делал методом научного тыка ))
Код
=СУММПРОИЗВ(ЕСЛИОШИБКА(--ТЕКСТ(ЛЕВСИМВ(A3:E3;2);"#");0);ЕСЛИОШИБКА(--ТЕКСТ(ПОДСТАВИТЬ(ПРАВСИМВ(A3:E3;4);".";",");"#,##");0))

формула массивная вводится сочитанием КОНТРЛ+ШИФТ+ЕНТЕР
К сообщению приложен файл: 4956283.xlsx (10.7 Kb)


"Опыт - это то, что получаешь, не получив того, что хотел"
 
Ответить
СообщениеChe79, здравствуйте!
поиздевался над вашей формулой. Не спрашивайте почему так, делал методом научного тыка ))
Код
=СУММПРОИЗВ(ЕСЛИОШИБКА(--ТЕКСТ(ЛЕВСИМВ(A3:E3;2);"#");0);ЕСЛИОШИБКА(--ТЕКСТ(ПОДСТАВИТЬ(ПРАВСИМВ(A3:E3;4);".";",");"#,##");0))

формула массивная вводится сочитанием КОНТРЛ+ШИФТ+ЕНТЕР

Автор - VEKTORVSFREEMAN
Дата добавления - 04.03.2015 в 14:21
_Boroda_ Дата: Среда, 04.03.2015, 14:29 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16907
Репутация: 6615 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Che79, а что, разве верхнее число всегда 2 знака, а нижнее формата 0.00?

Тогда достаточно немассивной формулы
Код
=СУММПРОИЗВ(ЛЕВБ(0&A3:E3;3)*ПОДСТАВИТЬ(ПРАВБ(A3:E3&0;5);".";","))
К сообщению приложен файл: primer040315_2.xlsx (11.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеChe79, а что, разве верхнее число всегда 2 знака, а нижнее формата 0.00?

Тогда достаточно немассивной формулы
Код
=СУММПРОИЗВ(ЛЕВБ(0&A3:E3;3)*ПОДСТАВИТЬ(ПРАВБ(A3:E3&0;5);".";","))

Автор - _Boroda_
Дата добавления - 04.03.2015 в 14:29
ShAM Дата: Среда, 04.03.2015, 14:32 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
[offtop]Че Гевара спросил и ушел по-английски. :)[/offtop]
 
Ответить
Сообщение[offtop]Че Гевара спросил и ушел по-английски. :)[/offtop]

Автор - ShAM
Дата добавления - 04.03.2015 в 14:32
VEKTORVSFREEMAN Дата: Среда, 04.03.2015, 14:39 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 772
Репутация: 130 ±
Замечаний: 0% ±

MS Office Excel 2010
[offtop]Может усомнился в скорости местных умов? :) (себя к ним не приравниваю)
Заходя на сайт можно глянуть в графу "Дополнительная информация" на вкладке "Главная форумов" и если там присутствуют к примеру Александр ( _Boroda_ ), Елена ( Pelena ), Alisher ( ShAM ) и др. Никнеймы выделенные синим и некоторые из зелёных, то не стоит торопиться уходить быстро, а дождаться быстрого ответа (как это часто бывает) yes [/offtop]


"Опыт - это то, что получаешь, не получив того, что хотел"


Сообщение отредактировал VEKTORVSFREEMAN - Среда, 04.03.2015, 14:41
 
Ответить
Сообщение[offtop]Может усомнился в скорости местных умов? :) (себя к ним не приравниваю)
Заходя на сайт можно глянуть в графу "Дополнительная информация" на вкладке "Главная форумов" и если там присутствуют к примеру Александр ( _Boroda_ ), Елена ( Pelena ), Alisher ( ShAM ) и др. Никнеймы выделенные синим и некоторые из зелёных, то не стоит торопиться уходить быстро, а дождаться быстрого ответа (как это часто бывает) yes [/offtop]

Автор - VEKTORVSFREEMAN
Дата добавления - 04.03.2015 в 14:39
Che79 Дата: Среда, 04.03.2015, 15:06 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
[offtop] Че Гевара был на ковре у начальников все обеденное время. Извините, что заставил ждать yes
Всех благодарю за предложенные варианты, спасибо большое Cheловеческое))
Отвечая на вопрос что и каком формате - как вариант, верхнее число может быть 1,2 и 3 знака, нижнее в формате 0.00 или (редко) 00.00


Делай нормально и будет нормально!

Сообщение отредактировал Che79 - Среда, 04.03.2015, 15:07
 
Ответить
Сообщение[offtop] Че Гевара был на ковре у начальников все обеденное время. Извините, что заставил ждать yes
Всех благодарю за предложенные варианты, спасибо большое Cheловеческое))
Отвечая на вопрос что и каком формате - как вариант, верхнее число может быть 1,2 и 3 знака, нижнее в формате 0.00 или (редко) 00.00

Автор - Che79
Дата добавления - 04.03.2015 в 15:06
krosav4ig Дата: Среда, 04.03.2015, 15:58 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а у мну ни разу не СУММ и не СУММПРОИЗВ ^_^
Код
=МЕДИАНА(МУМНОЖ(-(0&ПОДСТАВИТЬ(ПСТР(A3:E3;ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)^{0:1}+{0:1};ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)-{1:-1});".";","));ТРАНСП(-(0&ПОДСТАВИТЬ(ПСТР(A3:E3;ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)^{0:1}+{0:1};ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)-{1:-1});".";",")))))

[p.s.] вместо " " в формуле
Цитата
"
"
[/p.s.]

upd
заменил файл, вместо -2 должно быть -1
К сообщению приложен файл: primer040315_3.xlsx (10.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 04.03.2015, 16:06
 
Ответить
Сообщениеа у мну ни разу не СУММ и не СУММПРОИЗВ ^_^
Код
=МЕДИАНА(МУМНОЖ(-(0&ПОДСТАВИТЬ(ПСТР(A3:E3;ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)^{0:1}+{0:1};ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)-{1:-1});".";","));ТРАНСП(-(0&ПОДСТАВИТЬ(ПСТР(A3:E3;ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)^{0:1}+{0:1};ЕСЛИОШИБКА(ПОИСК("|";ПОДСТАВИТЬ(A3:E3;"
";"|"));1)-{1:-1});".";",")))))

[p.s.] вместо " " в формуле
Цитата
"
"
[/p.s.]

upd
заменил файл, вместо -2 должно быть -1

Автор - krosav4ig
Дата добавления - 04.03.2015 в 15:58
Che79 Дата: Среда, 04.03.2015, 16:07 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Спасибо!
Вообще, не ожидал, что столько народу откликнется и столько вариантов предложат! hands


Делай нормально и будет нормально!
 
Ответить
СообщениеСпасибо!
Вообще, не ожидал, что столько народу откликнется и столько вариантов предложат! hands

Автор - Che79
Дата добавления - 04.03.2015 в 16:07
Rioran Дата: Среда, 04.03.2015, 18:21 | Сообщение № 12
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Che79, здравствуйте.

Из спортивного интереса предлагаю макрофункцию. Во вложении будет выглядеть вот так:

Код
=RowSumm(A3:E3)

А вот то, что "под капотом":

[vba]
Код
Function RowSumm(RngX As Range) As Double

Dim RngA As Range

For Each RngA In RngX
     RowSumm = RowSumm + RowValue(RngA.Value)
Next RngA

End Function

Private Function RowValue(StrX As String) As Double

Dim A As Double, B As Double, C As Long

If StrX <> "" Then
     C = InStr(1, StrX, Chr(10))
     A = Left(StrX, C - 1)
     B = CDbl(Replace(Right(StrX, Len(StrX) - C), ".", ","))
     RowValue = A * B
End If

End Function
[/vba]
К сообщению приложен файл: Rio_Row_Rock.xlsb (15.8 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеChe79, здравствуйте.

Из спортивного интереса предлагаю макрофункцию. Во вложении будет выглядеть вот так:

Код
=RowSumm(A3:E3)

А вот то, что "под капотом":

[vba]
Код
Function RowSumm(RngX As Range) As Double

Dim RngA As Range

For Each RngA In RngX
     RowSumm = RowSumm + RowValue(RngA.Value)
Next RngA

End Function

Private Function RowValue(StrX As String) As Double

Dim A As Double, B As Double, C As Long

If StrX <> "" Then
     C = InStr(1, StrX, Chr(10))
     A = Left(StrX, C - 1)
     B = CDbl(Replace(Right(StrX, Len(StrX) - C), ".", ","))
     RowValue = A * B
End If

End Function
[/vba]

Автор - Rioran
Дата добавления - 04.03.2015 в 18:21
Che79 Дата: Среда, 04.03.2015, 18:58 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Rioran, спасибо, сразу опробовал, работает как часы!


Делай нормально и будет нормально!
 
Ответить
СообщениеRioran, спасибо, сразу опробовал, работает как часы!

Автор - Che79
Дата добавления - 04.03.2015 в 18:58
  • Страница 1 из 1
  • 1
Поиск:

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