Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Замена части текста и превращение результата в числовую формулу
 
А всё я похоже понял там где цифры 9 и 18 увеличить их пропорционально 3 раза.
Большое спасибо это то что надо
Замена части текста и превращение результата в числовую формулу
 
Цитата
написал:
Но если всегда только три измерителя нужно умножать, тогда можно и так
Вроде как работает а вроде как и не совсем работает.
Замена части текста и превращение результата в числовую формулу
 
К сожалению есть разные размеры 1200х1400х800
Странно канеш почему не получается просто заменить "х"
Я надеялся что этот вопрос давно решён.

А может быть тогда попробовать как-то вытащить числа между "х" (до/после/между и перемножить их) Это Реально?

Чисел всегда 3
"х" вроде везде один и тотже
пробелов вроде тоже нет
(но это не 100%)


Желательно не формулой массива

Хотя кстате сейчас пришла мысль, можно же воспользоваться "разделением по столбцам" (но это не автоматизация "=(" )
Замена части текста и превращение результата в числовую формулу
 
Цитата
написал:
Почитайте про  Макрофункцию ВЫЧИСЛИТЬ() , может быть подойдет?
Достаточно сложноватый путь я надеялся что можно обойтись какой-нибуть простенькой формулой


Цитата
написал:
Код=ПРОИЗВЕД(ФИЛЬТР.XML("  "&ПОДСТАВИТЬ(A1;"х";"  ")&"  ";"//i"))
В какой-то момент что-то идёт не так и в результате формула просто выдаёт первую цифру "500"

Может быть это потому что у меня excel 2016
Изменение содержимого выпадающего списка в режиме защищенного листа
 
Цитата
написал:
Попробуйте менять не двойным кликом, а в строке формул.
Я вот тоже думаю почему просто не выбрать значение из списка и в строке формул дописать нужное.
Замена части текста и превращение результата в числовую формулу
 
Вроде должно быть всё просто, но что то не могу найти как сделать.
Есть ячейка в ней текст
500х700х300

Ставлю формулу
=ПОДСТАВИТЬ(A1;"х";"*";)
Получаю "Знач"
Дальше пытался присоединить сюда ДВссыл и правдами и неправдами присоединить знак "="
Всё тщетно

Что делаю не так? и как мне текст 500х700х300 заменить на формулу =500*700*300
Изменено: Zoxma - 28.03.2025 17:20:17
Автоматически собирающаяся таблица
 
К сожалению сейчас времени уже нет.
Накидал вариант как можно собирать на сводных таблицах.
Формулы канешно тоже написанные по дилетантски, наверняка можно проще и быстрее.

Суть заключается в том что там где зеленые столбцы, вы просто выгружаете свои данные в том виде какой есть, ни фильтруя ни сортируя.
Только надо убрать заголовки, я их покрасил оранжевым. И к каждой выгрузке добавить колонку с названием маркетплейса

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


Главная проблема в том что я так и не смог придумать формулу которая будет распределять штуки в комплекты, опираясь на фасовку.
Тоесть я распределил что на озон надо 200 болтов, на яндекс 300. Но уже внутри маркет плейсов эти 200 и 300 я не распределил по фасовкам =(
А без этого распределения вся работа насмарку. Ну может ктото другой подскажет как сделать.
Настраиваемый фильтр для сводной таблицы
 
Адекватных мыслей нет.
Но есть "какие-то мысли"

Например в основной таблице добавить колонку в неё вписать формулу и обновить сводную.
типо такой =ЕСЛИ(AA2>=3000;"более 3000";"менее 3000")
при желании её там дальше можно развить если внутри если. А в новых версиях там вроде есть ЕСЛИМН
И добавить ещё 1 срез (минус в том что диапазоны, фиксированные. Если вдруг вам захочется ценны от 367 до 422 то придётся переписывать формулу именно на эти диапазоны)

Ну и соответственно хз правильно ли будут отображаться ваши данные, надо проверять
Выделение цветом используемого значения на другом листе - выдача пропуска
 
Я так думаю в старом экселе вот так.
Если в УФ то обычная формула, а если в ячейку то как формула массива.
Автоматически собирающаяся таблица
 
Ну у вас действительно всё немного запутанно.
Много доп вопросов возникает и непонятно как вы 2 лист делаете.
Цитата
написал:
Для вычленения данных я использую количество пришедшего товара как флаг для сортировки
То есть вы второй лист строите на основе количества? а почему не на основе наименования? как вы вообще привязываетесь к количеству если оно одинаковое?


Всё что выше это риторические вопросы, давайте начнем с основного.

Вопрос 1: А в чем суть этой таблицы? у вас 2 листа
На 1 листе у вас получается 3 выгрузки из 3 маркетплейсов которые показывают ваши остатки верно?
И в конце у вас выгрузка поступившего товара верно?
И на втором листе вы получается распределяете поступивший товар по маркетплейсам? так?
Хоть что нибудь угадал?

Вопрос 2: Вам принципиально выводить информацию именно в таком виде как у вас сейчас? Готовы вообще переделать её?
может вам идти в сторону сводных таблиц?
Вопрос 3: Вы пишите у одного товара от 2 до 7 карточек. А почему карточек так много? они чем-то отличаются? там разные размеры товаров или это просто какой-то маркетинговый ход (типо один и тот же товар с разными картинками?)
Вообще важно както распределять товар в разрезе карточек? или достаточно просто в разрезе названия товара?
Вопрос 4: А у вас вообще сколько маркетплейсов всего? три? поэтому и "блоков" у вас три?

Вопрос 5: У меня к сожалению старая версия эксель, в ней нет функции "ЕСЛИМН" поэтому у меня формула не работает.
у вас в колонках Y+товар O+товар W+товар Y-итог O-итог W-итог в итоге получается количество равное количеству поступления из первого листа?
Запрос Power Query на диапазон умной таплицы (из другого файла)
 
Да действительно на формате .xlsx работает.

Подскажите а на формате .xlsb возможно реализовать тоже самое?




И немного не в тему (а вообще могут быть какие-то "страшные" последствия, преобразования .xlsb в .xlsx и наоборот)
Запрос Power Query на диапазон умной таплицы (из другого файла)
 
Реальный файл приложить не могу.
Состряпал болванку. Но мне кажется в данном случае в файле нет смысла, тк как вопрос фундаментальный.
Возможно ли вообще заставить PQ обращаться не к листу а к умной таблице на этом листе.
Excel 2016

Удаление строки
Базасвод1 = Источник{[Name="Базасвод"]}[Data]

Приводит вид, к табличке с названием листов.
Запрос Power Query на диапазон умной таплицы (из другого файла)
 
Начал изучать PQ и умные таблицы.
Оказалось всё не так радужно как представлялось. (Да и информации в интернете как-то меньше чем думалось)
Создал файл, сделал в нём 12 вкладок и на каждой умная таблица с одинаковыми заголовками и кол-вом столбцов
Дальше встала задача объединить эти таблицы в одну (по сути скопировать друг под друга).
Ну и я такой думаю этож умные таблицы щас я влёгкую сделаю сводную за секунду, просто перечислив названия таблиц.
На самом деле нихрена так не работает оказалось надо делать 12 запросов PQ и потом запрос, объединяющий эти запросы.

В общем к сути дела
Вопрос такой "Можно ли, при создании запроса Power Query к другому файлу Excel, указать в качестве результата не весь лист(вкладку) а только диапазон умной таблицы находящейся на этой вкладке?"

Вот такой код мне пишет PQ когда обращается ко всему листу. (но должен же быть способ сказать ему обратится не ко всему листу а к диапазону, к умной таблице)
Код
let
    Источник = Excel.Workbook(File.Contents("C:\Users\Admin\Desktop\ШАБЛОН Свод данных по запасам.xlsb"), null, true),
    Базасвод1 = Источник{[Name="Базасвод"]}[Data]
in
    Базасвод1

Объединение значений с разных файлов с разными значениями и разным кол-вом строк
 
У меня кстате похожая проблема, но у меня не 1 файл а 10 и более.

Если у вас файлов всего два

И если идти примитивным не автоматизированным путём
То просто скопировать одну таблицу под другую и сделать сводную

Вот тут мне подсказывают макрос (который копирует одну таблицу под другую (если с макросами все плохо то можно просто руками)

Тема с макросом

Сводная в итоге будет примерно как в прикрепленном файле, только желательно делать это в новом формате экселя чтобы были доступны срезы и тд

Если со сводными тож плохо то можно вместо сводной, сделать список уникальных значений и формулу сумм если или сумм если мн

В общем всё зависит от того чем вы умеете пользоваться
PQ группировка содержимого по признаку разделителя
 
Пытался разобраться в том какое вообще задание, чето до меня с трудом дошло.

Я так понял что суть задания в том что надо объединить текст из колонки "содержание"
Проблема в том что сложно определить какие строки объединять.

К сожалению ни в формулах ни в PQ я не силён, но может както натолкну на мысли.

Первое и самое адекватное, запросить в банке другую выгрузку (этож банк у них полюбому должен быть адекватный отчёт, без вот этого.... доисторического формата)

А второе перенос строк в этой выписке видимо делается по той причине что есть ограничения на длину строки, может быть както вам попробовать сыграть на количестве символов.

Хотя сейчас более внимательно посмотрел скрин выписки, там есть строки и с 3 символами (тогда вообще странно, по какому принципу перенос на строку тогда не ясно)
[ Закрыто] Перенос данных из одинаковых таблиц в одну общую
 
Цитата
написал:
КодOption Explicit
Надеюсь это у вас уже была заготовка кода,
А для понимания
1 Это универсальный код его куда угодно можно применить?
2 А как он вообще копирует? копируются весь лист? или можно прописать какие колонки копировать?
3 А код куда вставляется? (в модуль основного файла?)
4 А где то мож есть какоето описание к этому коду или тема?


PS/ Попробовал просто скопировать код  и вставить в модуль
Я так понимаю код копирует все файлы друг под друга попутно меняя всё на значения и добавляя в последнюю колонку название файла.
Впринципи штука полезная уже не руками это делать
Ну и я так понимаю потом также удалить дубликаты и ВПРом собрать?
Изменено: Zoxma - 21.01.2025 20:51:25
[ Закрыто] Перенос данных из одинаковых таблиц в одну общую
 
Что то никак не могу найти информацию как сделать это объединение везде пишут про повер квери или про консолидацию.
Но мне нужно чтобы вид таблицы не менялся чтобы она не становилось умной.

Тоесть для лучшего понимания например:
Есть таблица (она может быть простой типо 4 колонки "товар/ цена/ сумма/ комент", а может быть какойнить замудреной на формулах но заполнятся в ней будет теже 4 колонки)

И вот есть эта таблица она рассылается 10 разным людям и они заполнив каждый свои строчки (строчки и текстовые и числовые) присылают обратно.

И всё что прислали надо соединить в одну таблицу, в виде просто обычной таблицы не преобразовывая её никак.
Тоесть какбы добиться эффекта что каждый заполнял по очереди один и тотже файл


Первая мысль которая меня посетила это закопировать данные 10 присланных таблиц друг под друга подряд, удалить дубликаты и через впр собрать в одной, заменив потом впр значениями.
Но тоже не сказать чтобы простой способ.

Плюс если ктото изменит свою таблицу (типо ой не указал вот это) то надо искать фрагмент в общей и его по новой вставлять, в общем тот ещё гемор).


Может кто что предложит подойдут любые варианты не меняющие вид таблицы ( в тч макросы)
Тоесть просто из 10 одинаковых таблиц собрать значения в одну)
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
Zoxma , если вы хотите сгруппировать затраты внутри одной статьи, почему бы изначально не использовать Субконто Дт2, оно у вас пустует. И не придется выдумывать костыли.


Не совсем понятно что именно вы предлагаете.Вы предлагаете какую то формулу поместить в колонку Субконто Дт2 ?
Или вы предлагаете чтобы в 1С при создании документов указывали нужную мне группу затрат?

Если первое то расскажите подробнее вашу идею
Если второе то это отпадает, слишком много людей задействовано+ там "свои проблемы"

Или вы вообще предлагаете просто от руки заполнять список?


А по теме вот этой формулы
=ПРОСМОТР(2;1/ПОИСК($R$23:$R$25;C23&D23&F23&G23);$S$23:$S$25)

Рабочий файл у меня от примера немножко отличается (кол-вом колонок во вспом таблице)

И решил всётаки попробовать сделать доп столбец и в нём формулой, если ячейка пустая, то вместо пустого прописать "какой-нибудь левый текст" который точно не встретится в таблице.

И сразу распространить это на нужный мне диапазон (условно на 200 строк)

Таким образом пустых ячеек у меня не будет и проблема решится, правда на скорости может отразится, но надеюсь не критично.
ВПР или аналогичные формулы для поиска по части слова
 
Знаете всё таки если долго мучатся то что нибудь получится.

Экспериментальным путём вывелась формула.
Как она действует хрен его знает, но вроде на файле примера работает, надо канеш проверять более подробно.
Код
=ПРОСМОТР(1;ПОИСК(СМЕЩ($R$23;0;0;СЧЁТЗ($R$23:$R$34);1);C23&D23&F23&G23);$S$23:$S$34)
Но минус этой формулы что пустые ячейки то убираются, а вот ячейки ="" , рушат формулу


НО опять же хрен пойми как способом наугад, я сделал вот "ЭТО"
Код
=ПРОСМОТР(1;ПОИСК(СМЕЩ($R$23;0;0;СЧЁТЕСЛИ($R$23:$R$34;">=*");1);C23&D23&F23&G23);$S$23:$S$34)
И эта формула вроде как адекватно работает и на пустые ячейки и на =""

По факту решение практически идеальное, одна мелочь осталась
если для текста "экологический сбор за 2025 год"
во вспом таблице создано 2 правила
первое со словом *экологический сбор*
второе со словом *сбор*
То формула выберет второе, по той причине что оно последнее.

Собственно к чему я веду, былобы просто невероятно шикардосно если бы формула выбирала то значение в котором больше символов совпадает.
Тоесть не последнее а то которое написано более подробно

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

Вообще сам себе удивляюсь как это может работать, непонятно.




PS/ похоже всё таки поторопился я =(   Если во вспом таблице пропустить 1 строку и заполнить, перескочив (то есть в приложенном примере, сразу заполнить строку N28 то формула рушится =(, обидно.
Изменено: Zoxma - 14.01.2025 21:47:11
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
проще UDF:
Решение шикарное но к сожалению в этом случае макросы использовать не могу, для коллег это ругательное слово.
Хотя всё таки подумать на этот счет, можно но тоже крайний случай.

Ещё возвращаясь назад к формуле
Код
=ПРОСМОТР(2;1/ПОИСК($R$23:$R$25;C23&D23&F23&G23);$S$23:$S$25)
Посетила меня идея может быть вот этот диапазон $R$23:$R$25 загнать в диспетчер имен попутно расширив его в $R$23:$R$33
И в диспетчере имён прописать какую нибудь формулу которая из диапазона исключит пустые ячейки.
(так сказать преобразует его в новый диапазон но уже без пустых)

Если быть точным некоторые ячейки не только пустые но и с результатом формулы =""

Правда тогда скорее всего нужен будет второй диапазон (так сказать "диапазон результатов" аналогичный диапазону без пустых ячеек) ($S$23:$S$33)
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
А так не подойдет? Но результат один из совпадений.
Ну тут получается таже проблема что и в моих формулах.
Если вот тут расширить диапазон на пустые ячейки
ПРОСМОТР(;-ПОИСК($P$23:$P$25;F23);$S$23:$S$25);"")

То формула перестаёт работать.

А у меня в основном файле в диапазоне к сожалению присутствуют пустые ячейки
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
А по вашему вопросу прописал формулу без массивного ввода, со звездочками как вам нравится. Чуток длинновата правда, но попробуйте.
Да немного запутанно вышло но вообще поидее вроде работает, похоже то что нужно.
Теперь постараюсь понять эту логику и адаптировать под себя.

Единственная потенциальная уязвимость (но вероятность что она случится я думаю достаточно мала)
Это если например встречается 2 слова в одном предложении,
приложил файл в нём выделил красным.

Но я думаю это не такая уж критичная история, врядле у меня такие совпадения будут.
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
Возможно вы не внимательно проанализировали формулу, а если проанализировали, тогда покажите в примере в котором формула не правильно сработала. Или покажите в моём файле-примере, где не правильный результат?
Пример который вы прикладывали в сообщении №6 там ячейка L33
В ней он получается находит некорректно результат и игнорирует счета учета. Ну вернее не игнорирует, формула то у вас логичная, просто видимо там алгоритм экселя както по другому действует.

Для большего понимания ситуации поменяйте в вспомогательной таблице все счета например на 22 (тоесть 44.02 заменить на 22 во всех 3 строках)
И формула все равно будет находить значения. (а не должна)


Но если чесно формула массива мне не очень подходит, т.к. тот кусок формулы который я ищу в этой теме, я планирую встроить в другую формулу условиями "если".
И другим пользователям будет сложно понять что это формула массива, если они будут редактировать формулу.



Мне бы вот всётаки както разобраться с пустыми ячейками, которые я в сообщении выше описал.
Вот этот вариант формулы + добавление ** к слову мне прям нравится (только пустые ячейки создают проблему)
=ПРОСМОТР(2;1/ПОИСК($R$23:$R$25;C23&D23&F23&G23);$S$23:$S$25)
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
Тогда попробуйте формулу массива
Попробовал разные варианты формула массива не очень удобна в использовании и она получается какбы игнарирует счета которые указаны во вспом таблице, только по слову ищет.

Поэкспериментировав с подсказкой из второго поста получилась такая формула
Код
=ПРОСМОТР(2;1/ПОИСК($R$23:$R$25;C23&D23&F23&G23);$S$23:$S$25)
И в целом она вроде бы работает почти идеально, учитывает счета учета и ищет по слову.
Причем есть особенность если во вспом таблице у слова *Экологический* убрать звездочки то поиск перестаёт работать.
Впринципи со *звездочками* это не проблема, это даже лучше.
Но проблема в диапазонах как только в диапазоне появляется пустая ячейка всё рушится
тоесть вот так формулу уже не укажешь =ПРОСМОТР(2;1/ПОИСК(R:R;C23&D23&F23&G23);S:S)
Ну или даже если брать фиксированный диапазон но в него попадает пустая ячейка то всё рушится.
Может быть кто нить подскажет дальнейшее направление? как победить эту ситуацию.


Ещё попытался сделать такой вариант
Код
=ВПР(C23&D23&"*"&ЕСЛИ(ЕЧИСЛО(ПРОСМОТР(1;ПОИСК($P$23:$P$25;F23)));$P$23:$P$25;"нету")&"*"&G23;R:S;2;ЛОЖЬ)

Логика выстраивалась так что если в ячейке F23 (содержание) в тексте "экологический сбор за 2025 год" содержится слово из диапазона P:P "экологический"
то вместо текста "экологический сбор за 2025 год" подставляется текст "экологический"
Но я так понимаю в таком виде формула не понимает какой текст подставлять
И опятьже наверно с пустыми ячейками косяки, но это не точно.

В общем может быть второй вариант когото натолкнёт на размышления.
Файл примера тот же что и в первом сообщении.
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
Почитайте тут, может сможете переделать под свои нужды: Найти в ячейке любое слово из списка
Выглядит так как будто это то что нужно, но покачто у меня не получается повторить эффект.
Буду стараться.

Но если вдруг у кого-то ещё есть идеи, я только за.
ВПР или аналогичные формулы для поиска по части слова
 
Цитата
написал:
Вариант
Код=ВПР(C23&D23&"*"&ЛЕВБ(F23;ПОИСК(" ";F23)-1)&"*"&G23;R:S;2;ЛОЖЬ)
или так
=ВПР(C23&D23&"*"&ЛЕВБ(F23;5)&"*"&G23;R:S;2;)

Да вариант интересный я пытался что-то подобное придумать, но есть проблема в том что в колонке "содержание" текст может быть абсолютно любой.
Там нет никакой структуры, просто так вышло что я когда пример писал везде прописал аналогично.
А так то слово "Экологический" может быть в любом месте.

Что то типо "это уплата взноса в счёт экологического сбора" т.е. один раз так прописали в другой раз по другому.

А вот кстате в ячейке "L30" как раз не сработало

Но за идею спасибо.
ВПР или аналогичные формулы для поиска по части слова
 
Есть таблица в ней по определённой методике присваиваются значения.
Основа этой методики ВПР, который ищет определенную связку, и если находит, то ставит соответствующее значение.

Вопрос возможно ли сделать так чтобы формула искала не точное совпадение а частичное.

Основная сложность в том что, например при использовании ВПР, у меня искомое значение как бы фиксированное.


В общем словами сложно описать.

Приложил файл, в нём постарался максимально подробно описать ситуацию.
Значение ячейки в зависимости от значений в другой ячейки, Значение ячейки в зависимости от значений в другой ячейки
 
Ну ещё как вариант если значений не много и они неизменны можно пойти по пути "ЕСЛИ"

тип такого =ЕСЛИ(B1="протокол";"директор";ЕСЛИ(B1="справка";"руководитель";"")) но эт на любителя
Получить данные из закрытой книги (настройка макроса), Дработка макроса по получению, копированию данных из закрытой книги.
 
Цитата
написал:
Необязательно лист "Получено" делать активным.Код
Да определённо ваш вариант мне нравится больше.
Ну и тогда наверно следующий блок который у меня идет тоже сюда закинуть.
Примерно так.
Код
With wb.Worksheets("Получено")
    .Cells(1, 1).PasteSpecial xlPasteValues 'вставляем значения
    .Cells(1, 1).PasteSpecial xlPasteFormats 'вставляем форматы
    .Cells(1, 1).PasteSpecial xlPasteColumnWidths 'вставляем ширину строк
    
    'В ячейки C,D на лист "Получено" добавляем слово обновлено и текущую дату
    .Cells(2, 3).Value = "Обновлено"
    .Cells(2, 4).Value = Now
End With
при изменении значения одной ячейки- менялось значение другой и наоборот
 
Хотя у вас там часть расходов считаются процентом от цены.
Наверно логичнее будет в ячейку H9 поставить формулу =СУММ(B2:B5)/(1-0,33-G9)
Страницы: 1 2 След.
Наверх