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

Вход

Регистрация

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

 

= Мир MS Excel/Формула по замене массива значения в другую ячейку - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Формула по замене массива значения в другую ячейку
elle-perfume Дата: Вторник, 08.09.2015, 13:17 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте уважаемые специалисты!
Просим Вас помочь нам решить задачу по замене содержимого в ячейке из массива и подстановку соответствующего значения в отдельную ячейку.
Если более детально разобраться в ситуации то задача выглядит след. образом:
Формула смотрит ячейку в столбце назовем его" А", находит внутри текста значения с цифрой (по массиву) и вставляет его в ячейку назовем его" B "в нужном формате.
Пример
"В ячейке А есть такое значение Тестер 150ml EDT. В ячейку B надо вставить просто 150 мл" "150 мл" - является значением.
Т.е. массив в данном случае будет перечисление всех возможно встречающийся объемов в файле ( 5, 10, 15, 20)
Таким образом, формула глядя на массив смотрит в ячейке это значение если она его там находит, то ставит в ячейке" Б" это значение + мл
Ниже прикрепляем файлы эксель где можно наглядно понять что мы хотим реализовать.
Колонка "AD".
Заранее спасибо!
К сообщению приложен файл: 9701441.xls (35.0 Kb) · 4628336.xlsx (16.2 Kb)


Сообщение отредактировал elle-perfume - Вторник, 08.09.2015, 14:03
 
Ответить
СообщениеЗдравствуйте уважаемые специалисты!
Просим Вас помочь нам решить задачу по замене содержимого в ячейке из массива и подстановку соответствующего значения в отдельную ячейку.
Если более детально разобраться в ситуации то задача выглядит след. образом:
Формула смотрит ячейку в столбце назовем его" А", находит внутри текста значения с цифрой (по массиву) и вставляет его в ячейку назовем его" B "в нужном формате.
Пример
"В ячейке А есть такое значение Тестер 150ml EDT. В ячейку B надо вставить просто 150 мл" "150 мл" - является значением.
Т.е. массив в данном случае будет перечисление всех возможно встречающийся объемов в файле ( 5, 10, 15, 20)
Таким образом, формула глядя на массив смотрит в ячейке это значение если она его там находит, то ставит в ячейке" Б" это значение + мл
Ниже прикрепляем файлы эксель где можно наглядно понять что мы хотим реализовать.
Колонка "AD".
Заранее спасибо!

Автор - elle-perfume
Дата добавления - 08.09.2015 в 13:17
ArkaIIIa Дата: Вторник, 08.09.2015, 14:13 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Формулу засунул в столбец AE:
Код
=СУММ(ПСТР(0&B1;НАИБОЛЬШИЙ(ЕЧИСЛО(-ПСТР(B1;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)));1))*СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)));СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1))))+1;1)*10^(СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)))-1))&" мл"

Формула массива (вводится ctrl+shift+enter).
Формулу взял отсюда, так что спасибо говорим уважаемому _Borod`e_.
К сообщению приложен файл: 9701441_1.xls (37.0 Kb)
 
Ответить
СообщениеФормулу засунул в столбец AE:
Код
=СУММ(ПСТР(0&B1;НАИБОЛЬШИЙ(ЕЧИСЛО(-ПСТР(B1;СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)));1))*СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)));СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1))))+1;1)*10^(СТРОКА(ДВССЫЛ("A1:A"&ДЛСТР(B1)))-1))&" мл"

Формула массива (вводится ctrl+shift+enter).
Формулу взял отсюда, так что спасибо говорим уважаемому _Borod`e_.

Автор - ArkaIIIa
Дата добавления - 08.09.2015 в 14:13
elle-perfume Дата: Вторник, 08.09.2015, 14:19 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое и Вам и _Borod`e_ .Сейчас попробуем!
 
Ответить
СообщениеСпасибо большое и Вам и _Borod`e_ .Сейчас попробуем!

Автор - elle-perfume
Дата добавления - 08.09.2015 в 14:19
МВТ Дата: Вторник, 08.09.2015, 14:19 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Держите UDF [vba]
Код
Function Объем(Источник As String) As String
With CreateObject("VBScript.RegExp")
     .Pattern = "[\d]+"
     If .test(Источник) Then Объем = .Execute(Источник)(0) & " мл"
End With
End Function
[/vba]
 
Ответить
СообщениеДержите UDF [vba]
Код
Function Объем(Источник As String) As String
With CreateObject("VBScript.RegExp")
     .Pattern = "[\d]+"
     If .test(Источник) Then Объем = .Execute(Источник)(0) & " мл"
End With
End Function
[/vba]

Автор - МВТ
Дата добавления - 08.09.2015 в 14:19
elle-perfume Дата: Вторник, 08.09.2015, 15:09 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
После долгих мучений так и не удалось разобраться
При первом варианте вместо значений появляется "#имя"(ощибка недопустимое имя)
При UDF пишет что "ошибка в значении"
Чувствую что можем завязнуть с этой темой.Если кто готов помочь приватно-пишите в личку.Сделаем скидку на парфюм)
[moder]В личку только если мы переносим тему в раздел Фриланс.
Иначе решайте здесь.


Сообщение отредактировал _Boroda_ - Вторник, 08.09.2015, 15:25
 
Ответить
СообщениеПосле долгих мучений так и не удалось разобраться
При первом варианте вместо значений появляется "#имя"(ощибка недопустимое имя)
При UDF пишет что "ошибка в значении"
Чувствую что можем завязнуть с этой темой.Если кто готов помочь приватно-пишите в личку.Сделаем скидку на парфюм)
[moder]В личку только если мы переносим тему в раздел Фриланс.
Иначе решайте здесь.

Автор - elle-perfume
Дата добавления - 08.09.2015 в 15:09
_Boroda_ Дата: Вторник, 08.09.2015, 15:31 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6612 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А в файле Вашем не понятно, где массив встречающихся объемов, о котором Вы говорили здесь
массив в данном случае будет перечисление всех возможно встречающийся объемов в файле ( 5, 10, 15, 20)

Откуда тянем цифры? Из столбца В? Всегда ли там первым идет число? Если да, то достаточно вот такого
Код
=ЛЕВБ(B1;ПОИСК("ml";B1)-1)&" мл"

Кстати, вводите ли Вы формулу из сообщения №2 как формулу массива - через Контрл Шифт Ентер?
К сообщению приложен файл: 4628336_1.xlsx (17.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА в файле Вашем не понятно, где массив встречающихся объемов, о котором Вы говорили здесь
массив в данном случае будет перечисление всех возможно встречающийся объемов в файле ( 5, 10, 15, 20)

Откуда тянем цифры? Из столбца В? Всегда ли там первым идет число? Если да, то достаточно вот такого
Код
=ЛЕВБ(B1;ПОИСК("ml";B1)-1)&" мл"

Кстати, вводите ли Вы формулу из сообщения №2 как формулу массива - через Контрл Шифт Ентер?

Автор - _Boroda_
Дата добавления - 08.09.2015 в 15:31
МВТ Дата: Вторник, 08.09.2015, 15:57 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Прикрепил файл пример. Как применять UDF почитайте, здесь, например
К сообщению приложен файл: 2924479.xlsm (22.0 Kb)
 
Ответить
СообщениеПрикрепил файл пример. Как применять UDF почитайте, здесь, например

Автор - МВТ
Дата добавления - 08.09.2015 в 15:57
elle-perfume Дата: Вторник, 08.09.2015, 16:48 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
UDF вроде разобрался.Но все равно получается полуручная система-ввожу формулу и только первое значение переноситсяю
_Boroda_, ввожу через контрол_шифт_ентер
По сути - растягиваем значение объемов из строки где "{75 мл,100 мл,150 мл}" в ту же колонку ниже(чтобы у каждого из наименований парфюма был свой обьем), чтоб на выходе получилось:
парфюм эксель 75мл
парфюм эксель 100мл
парфюм эксель 150мл
 
Ответить
СообщениеUDF вроде разобрался.Но все равно получается полуручная система-ввожу формулу и только первое значение переноситсяю
_Boroda_, ввожу через контрол_шифт_ентер
По сути - растягиваем значение объемов из строки где "{75 мл,100 мл,150 мл}" в ту же колонку ниже(чтобы у каждого из наименований парфюма был свой обьем), чтоб на выходе получилось:
парфюм эксель 75мл
парфюм эксель 100мл
парфюм эксель 150мл

Автор - elle-perfume
Дата добавления - 08.09.2015 в 16:48
МВТ Дата: Вторник, 08.09.2015, 17:07 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
elle-perfume, сделано согласно Вашего примера и Вашей же просьбы
такое значение Тестер 150ml EDT. В ячейку B надо вставить просто 150 мл

Что не так?
 
Ответить
Сообщениеelle-perfume, сделано согласно Вашего примера и Вашей же просьбы
такое значение Тестер 150ml EDT. В ячейку B надо вставить просто 150 мл

Что не так?

Автор - МВТ
Дата добавления - 08.09.2015 в 17:07
  • Страница 1 из 1
  • 1
Поиск:

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