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

Вход

Регистрация

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

 

= Мир MS Excel/Извлечение числовых значений из ячейки и их перемножение - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Извлечение числовых значений из ячейки и их перемножение
motsnyy1982 Дата: Пятница, 30.09.2022, 10:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Как из ячейки с текстом "5x50x100" извлечь произведение всех чисел в другую ячейку чтобы был результат 25000?
К сообщению приложен файл: 123.xlsx (10.0 Kb)
 
Ответить
СообщениеКак из ячейки с текстом "5x50x100" извлечь произведение всех чисел в другую ячейку чтобы был результат 25000?

Автор - motsnyy1982
Дата добавления - 30.09.2022 в 10:45
Nic70y Дата: Пятница, 30.09.2022, 10:59 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
Код
=ЛЕВБ(A2;ПОИСК("x";A2)-1)*ПСТР(ПОДСТАВИТЬ(A2;"x";ПОВТОР(" ";18));18;18)*ПСТР(ПОДСТАВИТЬ(A2;"x";ПОВТОР(" ";18));36;18)
К сообщению приложен файл: 700.xlsx (10.0 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ЛЕВБ(A2;ПОИСК("x";A2)-1)*ПСТР(ПОДСТАВИТЬ(A2;"x";ПОВТОР(" ";18));18;18)*ПСТР(ПОДСТАВИТЬ(A2;"x";ПОВТОР(" ";18));36;18)

Автор - Nic70y
Дата добавления - 30.09.2022 в 10:59
Egyptian Дата: Пятница, 30.09.2022, 11:28 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Вариант.
Код
=PRODUCT(--MID(SUBSTITUTE(A2;"x";REPT(" ";99));{1;100;199};99))
К сообщению приложен файл: 3302730.xlsx (10.3 Kb)
 
Ответить
СообщениеВариант.
Код
=PRODUCT(--MID(SUBSTITUTE(A2;"x";REPT(" ";99));{1;100;199};99))

Автор - Egyptian
Дата добавления - 30.09.2022 в 11:28
scriptapplications Дата: Пятница, 30.09.2022, 13:16 | Сообщение № 4
Группа: Проверенные
Ранг: Участник
Сообщений: 68
Репутация: 12 ±
Замечаний: 0% ±

motsnyy1982,
Код
=ЛЕВСИМВ(A2;НАЙТИ("x";A2)-1)*ПСТР(A2;НАЙТИ("x";A2)+1;НАЙТИ("x";A2;НАЙТИ("x";A2)+1)-НАЙТИ("x";A2)-1)*ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ("x";A2;НАЙТИ("x";A2)+1))
К сообщению приложен файл: 8327937.xlsx (10.6 Kb)


Сообщение отредактировал scriptapplications - Пятница, 30.09.2022, 13:18
 
Ответить
Сообщениеmotsnyy1982,
Код
=ЛЕВСИМВ(A2;НАЙТИ("x";A2)-1)*ПСТР(A2;НАЙТИ("x";A2)+1;НАЙТИ("x";A2;НАЙТИ("x";A2)+1)-НАЙТИ("x";A2)-1)*ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ("x";A2;НАЙТИ("x";A2)+1))

Автор - scriptapplications
Дата добавления - 30.09.2022 в 13:16
Serge_007 Дата: Пятница, 30.09.2022, 13:37 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
С помощью макрофункции EVALUATE():
Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(A2;"x";"*"))
К сообщению приложен файл: 20220930_motsny.xls (60.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеС помощью макрофункции EVALUATE():
Код
=ВЫЧИСЛИТЬ(ПОДСТАВИТЬ(A2;"x";"*"))

Автор - Serge_007
Дата добавления - 30.09.2022 в 13:37
jakim Дата: Пятница, 30.09.2022, 19:05 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1216
Репутация: 316 ±
Замечаний: 0% ±

Excel 2010
Power Query

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Split Column by Delimiter" = Table.SplitColumn(Source,"длина х ширина х глубина",Splitter.SplitTextByDelimiter("x", QuoteStyle.Csv),{"длина х ширина х глубина.1", "длина х ширина х глубина.2", "длина х ширина х глубина.3"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"длина х ширина х глубина.1", type number}, {"длина х ширина х глубина.2", type number}, {"длина х ширина х глубина.3", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each [длина х ширина х глубина.1]*[длина х ширина х глубина.2]*[длина х ширина х глубина.3]),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Custom"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Custom", "объём"}})
in
    #"Renamed Columns"
[/vba]
К сообщению приложен файл: 3049720.xlsx (16.6 Kb)
 
Ответить
Сообщение
Power Query

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Split Column by Delimiter" = Table.SplitColumn(Source,"длина х ширина х глубина",Splitter.SplitTextByDelimiter("x", QuoteStyle.Csv),{"длина х ширина х глубина.1", "длина х ширина х глубина.2", "длина х ширина х глубина.3"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"длина х ширина х глубина.1", type number}, {"длина х ширина х глубина.2", type number}, {"длина х ширина х глубина.3", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each [длина х ширина х глубина.1]*[длина х ширина х глубина.2]*[длина х ширина х глубина.3]),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Custom"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Custom", "объём"}})
in
    #"Renamed Columns"
[/vba]

Автор - jakim
Дата добавления - 30.09.2022 в 19:05
msi2102 Дата: Пятница, 30.09.2022, 19:24 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Вот ещё вариант:
[vba]
Код
=ПРОИЗВЕД(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(A2;"x";"</s><s>")&"</s></t>";"//s"))
[/vba]
К сообщению приложен файл: 2820984.xls (28.0 Kb)
 
Ответить
СообщениеВот ещё вариант:
[vba]
Код
=ПРОИЗВЕД(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(A2;"x";"</s><s>")&"</s></t>";"//s"))
[/vba]

Автор - msi2102
Дата добавления - 30.09.2022 в 19:24
Egyptian Дата: Пятница, 30.09.2022, 23:37 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Еще вариант PQ:
[vba]
Код
let
  a = Excel.CurrentWorkbook(){[ Name = "Table1" ]}[Content],
  b = Table.TransformColumns(a, List.Transform( Table.ColumnNames(a), (n)=> {n, ( y) => Expression.Evaluate(Text.Replace(Text.From ( y ),"x","*"))}))
in
  b
[/vba]
К сообщению приложен файл: 6496847.xlsx (18.8 Kb)
 
Ответить
СообщениеЕще вариант PQ:
[vba]
Код
let
  a = Excel.CurrentWorkbook(){[ Name = "Table1" ]}[Content],
  b = Table.TransformColumns(a, List.Transform( Table.ColumnNames(a), (n)=> {n, ( y) => Expression.Evaluate(Text.Replace(Text.From ( y ),"x","*"))}))
in
  b
[/vba]

Автор - Egyptian
Дата добавления - 30.09.2022 в 23:37
прохожий2019 Дата: Суббота, 01.10.2022, 08:49 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация: 327 ±
Замечаний: 0% ±

365 Beta Channel
Еще вариант
чутка попроще и на самом деле шустрее:
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    f=(x)=>List.Product(List.Transform(Text.Split(x,"x"),Number.From)),
    to = Table.TransformColumns(from,{},f)
in
    to
[/vba]
приём применения ко всем столбцам описывал в танке

ну и в 365:
Код
=ПРОИЗВЕД(--ТЕКСТРАЗД(A2;"x"))


Сообщение отредактировал прохожий2019 - Суббота, 01.10.2022, 08:51
 
Ответить
Сообщение
Еще вариант
чутка попроще и на самом деле шустрее:
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    f=(x)=>List.Product(List.Transform(Text.Split(x,"x"),Number.From)),
    to = Table.TransformColumns(from,{},f)
in
    to
[/vba]
приём применения ко всем столбцам описывал в танке

ну и в 365:
Код
=ПРОИЗВЕД(--ТЕКСТРАЗД(A2;"x"))

Автор - прохожий2019
Дата добавления - 01.10.2022 в 08:49
  • Страница 1 из 1
  • 1
Поиск:

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