Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #178 от 14.06.2019 в 10:36:07 » |
|
Да корпус у меня валяется. Чисто скелетного типа. Но мне же не девкам его показывать - так что бы держалось все и под стол куда-нибудь запинать. Кроме того, у меня даже какая-то мать валяется и даже видюха доисторическая среди мусора откапалась. Но все это какое-то мутное и нонеймовское. Надо посмотреть что за запчасти и может быть из них собрать времянку. Но в любом случае у меня нет БП, нормальной оперативки (какие-то планки есть, но вроде бы старье старое) и монитора. --- Ладно, спасибо. Буду по частям закупаться. Даже если эти мастера-ремонтники смогут восстановить мое чудо глюкнутое стационарный комп все же пригодится.
|
|
Зарегистрирован |
Модельки от меня.
|
|
|
Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #179 от 30.08.2021 в 20:49:19 » |
|
Тут вроде на форуме полно толковых программистов (я без шуток и сарказма), подскажите, можно ли написать следующий скрипт на автоматическую обработку файлов: Есть прайс в excel. Этот прайс загоняется в битрикс. Однако какашуньи из фирмы прайс подгоняющие не задались вопросом нормально автоматизации. Присылают прайс таким: *пустой столбец - как издевательство *|*название бренда на три ячейки* *пустой столбец - как издевательство*|*список товаров, относящихся к этому бренду* По сути нужно в пустой столбец (он в прайсе есть) прописать соответствующие бренды. В теории что-то типа такого "если в столбце 2 первая строенная ячейка такая-то, то в столбце 1 поставить следующие значения" и так по всем брендам. Или не так, а можно проще? Просто вручную меня уже на третий день достало все вводить.
|
|
Зарегистрирован |
Модельки от меня.
|
|
|
pipetz [пипец всему!]
Прирожденный Джаец
Я очень люблю этот Форум!
Пол: Репутация: +303
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #180 от 30.08.2021 в 21:28:20 » |
|
Если с такими задачами много занимаешься, то проще всего освоить SQL. Качни бесплатный какой-нибудь SQL сервер, например, MS SQL Express. Там есть тулза для конвертации данных из/в xls, csv, и т. д. и т. п. Может тежеловато, конечно для таких задач, но я лично со всякими скриптами как-то плохо знаком. Под скриптом что понимаешь VBA, какой-нибудь? Я только аббривиатуру знаю.
|
|
Зарегистрирован |
- Джаец? - Джаиц, джаиц. - Ну, джаец, ну погоди! https://github.com/egorovav/Ja2Project/releases
|
|
|
Lion [Lion. King Lion.]
Welcome to Metavira!
Пол: Репутация: +362
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #181 от 30.08.2021 в 22:00:14 » |
|
Сейчас каждый выступит со стороны своего опыта и профдеформации Я бы смотрел в сторону Python с pandas. Утверждается, что оно может прочитать excelевский файл и, например, конвертировать его в csv. А csv pandas уже довольно бодро умеет обрабатывать, выкидывать пустые столбцы/ячейки и так далее. https://datatofish.com/excel-to-csv-python/
|
|
Зарегистрирован |
|
|
|
Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #182 от 30.08.2021 в 22:18:49 » |
|
Не, зачем так сложно. Просто нужно автоматом выставить данные в экселевском файле. ЧТо бы один раз нажал на батник какой-нибудь и все завертелось. Чем проще - тем лучше.
|
|
Зарегистрирован |
Модельки от меня.
|
|
|
Терапевт [Человек в чёрном]
Народный целитель. Шарлатан высшей категории.
Пол: Репутация: +1190
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #183 от 30.08.2021 в 22:42:55 » |
|
2Green Eyesman: Честно говоря, я не очень понял, как конкретно ты хочешь представить данные. Но если перевести Эксел в режим Разработчика (у каждой новой версии это по разному делается), там будет в ленте кнопка Visual Basic. С помощью неё запустить среду разработки. И там в ЭтуКнигу вставить подобный код: Code: Public Sub CopySheetToSheet() Dim r As Integer For r = 1 To 1000 Step 2 Me.Worksheets("Лист2").Cells((r + 1) / 2, 1) = Worksheets("Лист1").Cells(r, 2).Value Me.Worksheets("Лист2").Cells((r + 1) / 2, 2) = Worksheets("Лист1").Cells(r + 1, 2).Value Next End Sub |
| А потом подцепить его, как макрос, к кнопке, брошенной куда-нибудь на любой лист (Вставить -> Элементы управления формы). То сможешь вызывать его просто нажатием этой кнопки мышкой. Offtop: А код из примера переворачивает данные, хранящиеся во втором столбце Листа1, как _1 _2 _3 _4 _5 _6 _7 _8 на Лист2 в вид 1 2 3 4 5 6 7 8 |
|
|
« Изменён в : 30.08.2021 в 22:47:29 пользователем: Терапевт » |
Зарегистрирован |
Весна! Я уже не грею пиво! (с) В.Цой
|
|
|
Lion [Lion. King Lion.]
Welcome to Metavira!
Пол: Репутация: +362
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #184 от 30.08.2021 в 22:48:02 » |
|
Батничек ещё написать надо нужный, если не удастся готовый найти. Но готовый батник под своеобразный формат данных - это вряд ли. Если же писать что-то содержательное, то лучше Питон, а не batch. Я не любитель Питон, но на мой взгляд, для подобных задач выбор между batch/shell и Python однозначен. Python имеет гораздо более адекватный синтаксис, для него есть много готовых библиотек, в твоём случае pandas должно (наверное) хватить, и много примеров, из которых можно что-то собрать. Типа прочитали файл, превратили его в pandas.DataFrame, выкинули из него лишнее, записали нужное, сконвертировали обратно. На каждом промежуточном шаге легко посмотреть на результат глазами, сдампив его в текст одной командой. Offtop: 30.08.2021 в 22:42:55, Терапевт писал(a):Но если перевести Эксел в режим Разработчика (у каждой новой версии это по разному делается), там будет в ленте кнопка Visual Basic. С помощью неё запустить среду разработки. И там в ЭтуКнигу вставить подобный код |
| |
|
|
« Изменён в : 30.08.2021 в 22:50:36 пользователем: Lion » |
Зарегистрирован |
|
|
|
Korchy [Непреодолимая сила]
Прирожденный Джаец
Ах, было б только с кем поговорить ...
Пол: Репутация: +663
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #185 от 30.08.2021 в 22:48:36 » |
|
Какой SQL, Python... Эксель с простейшим условием, даже поле под него есть. пишешь в пустую ячейку =ЕСЛИ(RC[1]="XXX";"БЛА";"БЛА-БЛА-БЛА") вот и все, потом ctrl+c, выделяешь весь столбец - ctrl+v RC[1] - это указатель на ячейку из которой берется условие. Заменишь на нужную ячейку откуда брать у тебя в листе. Все.
|
|
Зарегистрирован |
|
|
|
Lion [Lion. King Lion.]
Welcome to Metavira!
Пол: Репутация: +362
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #186 от 30.08.2021 в 22:51:45 » |
|
2Korchy: и так мы теперь знаем, кто из всех программистов единственный пользовался excel.
|
|
Зарегистрирован |
|
|
|
pipetz [пипец всему!]
Прирожденный Джаец
Я очень люблю этот Форум!
Пол: Репутация: +303
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #187 от 31.08.2021 в 18:44:02 » |
|
30.08.2021 в 22:51:45, Lion писал(a):и так мы теперь знаем, кто из всех программистов единственный пользовался excel. |
| Я не вчитывался в условие данной, конкретной задачи, но для того чтобы работать с данными есть специальные программы работы с данными. Например, MS SQL Express, он будучи порожден той же компанией, что и Excel с ним активно дружит. Там есть специальная тулза конвертации с помощью неё можно многое сделать. До того как последний раз работу в Москве нашел скитался по местным сельским организациям где довольно много приходилось возиться с эксельниками, переводить их в разные форматы, загружать выгружать и т. д. ЗЫ. Можно, конечно, на Питоне написать своё СУБД, но это бесперспективно, потому что у нас уже есть PostgreSQL!
|
« Изменён в : 31.08.2021 в 18:53:19 пользователем: pipetz » |
Зарегистрирован |
- Джаец? - Джаиц, джаиц. - Ну, джаец, ну погоди! https://github.com/egorovav/Ja2Project/releases
|
|
|
Korchy [Непреодолимая сила]
Прирожденный Джаец
Ах, было б только с кем поговорить ...
Пол: Репутация: +663
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #188 от 01.09.2021 в 10:15:53 » |
|
Да блин, у него примитивнейшая задача. Можно конечно и гвозди с микроскопом скрещивать, но зачем учить программированию заради программирования в данном случае?
|
|
Зарегистрирован |
|
|
|
Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #189 от 01.09.2021 в 21:12:01 » |
|
Господин Korchy прав, мне что бы проще, без закидонов. Спасибо. Попробую. Однако, в идеале вообще нужно автоматизировать загрузку этого прайса на сайт без участия ушастой прокладки. Но это уже вопрос к разработчикам модулей для Битрикс (поспрашиваю их). --- А вот задачка для действительно работающих с Экселем не первое десятилетие. Есть два прайса. Для одного бренда, но по разному записанных. Общее в прайсах - артикулы. Нужно как-то сравнить и отметить в обоих прайсах отсутствующие артикулы. Что бы можно было понять, что такой-то артикул есть только у нас, а такого у нас нет. А потом просто передать файл другому человеку, что бы он там с сайтом шаманил и добавлял отсутствующее. Вручную даже сотню артикулов так проверить занимает около двух часов. А их там тысячи. Вот только мой мозг не способен к высшей нервной деятельности. Из тех формул, что я знаю, или нашел я не смог подобрать подходящую под подобную задачу. А тут ведь по сути либо поиск и отметка найденных и не найденных, либо сравнение и опять таки отметка несовпадающих. Отмечать можно цветом фона ячейки, цветом текста - не суть важно. И прайсы лучше бы не смешивать (не помещать на одну страницу) - там огромное количество параметров, так что лучше их держать на разных листах.
|
|
Зарегистрирован |
Модельки от меня.
|
|
|
Korchy [Непреодолимая сила]
Прирожденный Джаец
Ах, было б только с кем поговорить ...
Пол: Репутация: +663
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #190 от 01.09.2021 в 22:45:35 » |
|
01.09.2021 в 21:12:01, Green Eyesman писал(a): Проще искать совпадения, а не разницу. Тоже элементарная формула. Два столбца с твоими артикулами. Где совпадение - там то что в первой колонке = найдено во второй. Где не найдено - "н/д". пс. и это гуглится с полпинка, кстати.
|
« Изменён в : 01.09.2021 в 22:47:49 пользователем: Korchy » |
Зарегистрирован |
|
|
|
Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #191 от 02.09.2021 в 09:46:27 » |
|
2Korchy: Это так. Сия формула действительно с Гугла находится. Но она мне не подходит. Я же написал, что не нужно совмещать артикулы на одном листе. Дело в том, что мне потом нужно выделять во втором прайсе недостающие артикулы и пересылать его дальше. То что я найду совпадения - мне не шибко поможет - все равно потом поиском пользоваться и отмечать их вручную. Одно дело, когда их там пять-шесть, а другое - когда пара тройка десятков, а то и больше.
|
|
Зарегистрирован |
Модельки от меня.
|
|
|
Korchy [Непреодолимая сила]
Прирожденный Джаец
Ах, было б только с кем поговорить ...
Пол: Репутация: +663
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #192 от 02.09.2021 в 10:05:54 » |
|
02.09.2021 в 09:46:27, Green Eyesman писал(a):Я же написал, что не нужно совмещать артикулы на одном листе. |
| Экселю абсолютно пофиг на каких листах находятся сравниваемые ячейки. Указываешь в префиксе ячейки "ЛистХХ" или просто мышкой протыкаешь на разных листах ячейки. 02.09.2021 в 09:46:27, Green Eyesman писал(a):Дело в том, что мне потом нужно выделять |
| Где "н/д" это и будут недостающие артикулы. Ели нужно в более понятном виде, сделай еще один столбец рядом и в нем тупо по соседнему - есть число, пишешь "да", есть "н/д" - пишешь ""нет", потом удалишь столбец с первой формулой, останутся одни "да-нет".
|
|
Зарегистрирован |
|
|
|
Терапевт [Человек в чёрном]
Народный целитель. Шарлатан высшей категории.
Пол: Репутация: +1190
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #193 от 02.09.2021 в 10:09:03 » |
|
02.09.2021 в 09:46:27, Green Eyesman писал(a):Я же написал, что не нужно совмещать артикулы на одном листе. |
| А их и не нужно совмещать. Ты получаешь там, где тебе надо, колонку, в которой Н/Д покажет, что артикула нет. Ну или если не формулы, то тогда VBA. Вот куча примеров использования ВПР. https://exceltable.com/funkcii-excel/funkciya-vpr-v-excel
|
|
Зарегистрирован |
Весна! Я уже не грею пиво! (с) В.Цой
|
|
|
Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #194 от 02.09.2021 в 11:03:29 » |
|
И показывает мне ВПР что вообще никаких соответствий нет. Хотя они есть и я все настроил по ссылкам. Просто программирование (даже такое) - не мое. Ладно, бог с ним. Буду по старинке ручками. Все равно мне нужно в новом прайсе выделять отсутствующий товар. Что так поиском пользоваться, что иначе. Нашел прогу-модуль для расширенного выделения. По сути там можно выбрать диапазон и выделить отсутствующие в прайсе ячейки. По сути именно то, что мне нужно. Однако, прога платная и на свободные офисные пакеты не ставится. https://ru.extendoffice.com/product/kutools-for-excel.html
|
« Изменён в : 02.09.2021 в 11:55:03 пользователем: Green Eyesman » |
Зарегистрирован |
Модельки от меня.
|
|
|
Korchy [Непреодолимая сила]
Прирожденный Джаец
Ах, было б только с кем поговорить ...
Пол: Репутация: +663
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #195 от 02.09.2021 в 14:09:17 » |
|
02.09.2021 в 11:03:29, Green Eyesman писал(a):И показывает мне ВПР что вообще никаких соответствий нет. |
| Значит где-то не правильно настроил, ищи ошибку. 02.09.2021 в 11:03:29, Green Eyesman писал(a):Просто программирование (даже такое) - не мое. |
| Тогда, если нужно "сделайте за меня", за денюшку на любой бирже фриланса создай таск и ищи исполнителя. Здесь тебе пинок в правильном направлении дали, дальше ты или идешь сам или нанимай таксиста.
|
|
Зарегистрирован |
|
|
|
Терапевт [Человек в чёрном]
Народный целитель. Шарлатан высшей категории.
Пол: Репутация: +1190
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #196 от 02.09.2021 в 14:29:43 » |
|
02.09.2021 в 11:03:29, Green Eyesman писал(a):Однако, прога платная и на свободные офисные пакеты не ставится. |
| Так у тебя ещё и не MS Excel? Тогда только какие-то внешние средства работы с данными из ранее советуемых могут помочь.
|
|
Зарегистрирован |
Весна! Я уже не грею пиво! (с) В.Цой
|
|
|
Lion [Lion. King Lion.]
Welcome to Metavira!
Пол: Репутация: +362
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #197 от 02.09.2021 в 20:21:23 » |
|
Или надо хотя бы явно писать, что за программа. В свободных офисных пакетах могут быть разные возможности, а могут и не быть. Мне приходилось пользоваться разными, от некоторых впечатления вполне ничего, от других - резко негативные. И это я в них ничего особо сложного не делал. Собственно, сейчас у меня LibreOffice и на Windows. Потому что под сценарий использования "раз в год-два" покупать MS Office точно нет смысла. Тогда возвращаемся к способам вида "сконвертировать excel в текст, забыть про excel, сделать всю работу универсальными методами, вернуть обратно в excel".
|
« Изменён в : 02.09.2021 в 20:23:02 пользователем: Lion » |
Зарегистрирован |
|
|
|
Korchy [Непреодолимая сила]
Прирожденный Джаец
Ах, было б только с кем поговорить ...
Пол: Репутация: +663
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #198 от 02.09.2021 в 20:52:51 » |
|
Есть гугло-таблицы - тот же самый эксель, можно попробовать в нем.
|
|
Зарегистрирован |
|
|
|
Green Eyesman [Добрый волшебник]
Прирожденный Джаец
Иногда мне дико не хватает мозгов.
Пол: Репутация: +675
|
|
Re: Коллеги, нужен Ваш совет. « Ответ #199 от 03.09.2021 в 22:32:03 » |
|
Спасибо за подсказки. Дома то у меня Libre стоит, ибо полным функционалом я пользуюсь мало (оно мне и не надо). А вот на работе стоит нормальный мелкомягкий Эксель. Оказывается есть еще модуль (забыл как называется) от самих мелкомягких, который позволяет делать сравнения и применять стили к решению. Повер чего-то там. На счет фриланса - что бы что-то заказать, нужно деньги откуда-то взять. А у меня их нет, приходится самому. Не моя вина, что из всей работы меня взяли на такую вот.
|
|
Зарегистрирован |
Модельки от меня.
|
|
|
|