Страницы: 1
RSS
Как правильно вытащить значение из текстовой ячейки (ЕСЛИ)
 
Добрый день.

Суть: покупаю много материалов для рукоделия, хочу знать сколько стоит 1 штука по каждой позиции заказа с учетом доставки. Материалы в заказе бывают как поштучно, так и упаковками в которых 90 единиц/штук или 10 шт. в одной упаковке, к примеру. Таблицу вручную делаю с простыми формулами, но это только один заказ, а их много, что много времени занимает.

Прилагаю таблицу, посмотрите, пожалуйста, беда с формулами.
Первая вкладка - всё сделано вручную. Вторая вкладка черновая, хочу автоматизировать таблицу так, чтобы я вводила только "наименование", "количество в заказе" и "цену за заказ", а дальше чтобы сам посчитал сколько стоит 1 штука (с учётом информации из наименования). П.С. наименование копируется с накладной.


Как правильно сделать формулу в Ст. "Количество в штуках" - так,чтобы Если в  столбце B есть слово "шт", то ставит значение перед шт. Но если это значение равно 1, то необходимо поставить значение из стобца D. Если в столбце В нет слова ШТ,тогда ставить  значение тоже из стобца D.

Во вкладке Формулы выделены Красным цветом формулы, попытки комбинации и составления из них правильной.
Один из вариантов по выводу значения из ячейки был - ЕСЛИ(ЕЧИСЛО(ПОИСК("шт";B2;1));ПСТР(B2;ПОИСК("шт";B2)-3;3);"") .
 
Если правильно понял
См. Диспетчер имен (_ШТ)
Код
=--ПСТР(Формулы!$B2;ПОИСК("шт";Формулы!$B2)-3;3)

Формула в столбце 'F'
Код
=ЕСЛИ(ЕЧИСЛО(_ШТ);ЕСЛИ(_ШТ=1;D2;_ШТ);D2)

Там где объединенные ячейки считать не будет
Согласие есть продукт при полном непротивлении сторон
 
=IFERROR(--TEXT(--MID(B2;FIND("шт";B2)-3;3);"[>1]#;"""&D2&"""");D2)

Но тут конечно все на тоненького ибо такие варианты как (2шт) и подобное буду некорректно обработаны да и в целом в тексте может встретится "шт"  штамповка. По сему определять так MID(B2;FIND("шт";B2)-3;3) - весьма опасно.
Изменено: БМВ - 22.04.2025 11:21:43
По вопросам из тем форума, личку не читаю.
 
Можно попробовать так:
Код
=ЕСЛИОШИБКА(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;"шт";" шт ");",";", "));" ";"</s><s>")&"</s></t>";"//s[following::*[1]='шт']");1)*D2

Добавил замену запятой на запятую с пробелом, думаю количество будет только целым, без десятичных, по крайней мере в примере так. Хотя если будет типа 10,0 то будет равно нолю (я про это " *ПОДАРОК ДЛЯ УЧАСТНИЦ* *Бусины Bohemia,форма чечевица, цвет перламутровый белый,6х6 мм,1 шт (Чехия)*  ВВ-42"
Цитата
БМВ написал:
тексте может встретится "шт"  штамповка.
"Компонент для вклеивания жемчуга с петелькой, 15x10x10 мм, отверстие: 1 мм, штифты: 1 мм, цвет золотистый, латунь, покрытие золото 18К, 1 шт (Китай)* КФ-1018"
Кстати как вариант можно просто такой формулой протащить, в принципе через фильтр ошибки будут видны
Код
=ЕСЛИОШИБКА(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(B2;"шт";" шт "));" ";"</s><s>")&"</s></t>";"//s[following::*[1]='шт']");"")
Изменено: Msi2102 - 22.04.2025 11:46:05
 
=IFERROR(--TEXT(AGGREGATE(14;6;--MID(B2;AGGREGATE(14;6;FIND("шт"&CHAR(ROW($10:$64));B2&" ");1)-{1\2\3\4\5};{1\2\3\4\5});1);"[>1]#;"""&D2&"""");D2)
По вопросам из тем форума, личку не читаю.
 
вариант:
=ЕСЛИОШИБКА(E2*(G$88/E$88+1)/ЕСЛИОШИБКА(--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(B2;АГРЕГАТ(14;6;ПОИСК({0:1:2:3:4:5:6:7:8:9}&{" шт";"шт"};B2);1));" ";"         ");9);1)/C2;)
 
Спасибо всем огромное! Столько информации 8-0  
Страницы: 1
Читают тему
Наверх