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

Страницы: 1
Разработать файл для моделирования поведения фильтра на сайте, https://cloud.best-practice.ru/s/KW93yjNpz9YBsLK
 

Добрый день!

Пояснения по ТЗ в формате видео можно посмотреть по ссылке: https://cloud.best-practice.ru/s/KW93yjNpz9YBsLK

Требуется разработать программный код, который в файле Excel будет моделировать работу фильтра на сайте. Под словами «моделировать работу фильтра на сайте» понимается построение всех возможных комбинаций значений свойств, определение одинаковых наборов товаров, соответствующих разным комбинациям значений свойств и фиксации этих сведений на листе результатов.

Входные данные:

+ прямоугольная область на листе, где первый столбец – коды товаров, второй столбец – артикулы товаров. Остальные столбцы – значения свойств, присущие товару в строке.

Работа должна выглядеть так:

+ Пользователь заполняет лист входных данных, помещая на него товары и значения их свойств;

+ Первая строка является заголовком. В ней написаны слова «Код», «Артикул», «Свойство 1», «Свойство 2», «Свойство N».

+ Первый столбец – счётчик или коды товаров;

+ Второй столбец – артикулы товаров. Если коды не добавляют ценности, то можно их убрать;

+ Все последующие столбцы содержат значения свойств, присущих товару из строки. Признак окончания массива свойств – пустой столбец.

Пользователь открывает лист, вставляет на него данные. Далее пользователь открывает лист с результатами, куда, собственно, программа и положит результат. Получив событие Worksheet_Activate(), программа начинает обработку:

+ вычисляет уникальные комбинации значений свойств, присущие товарам;

+ определяет количество свойств в фильтре;

+ строит «матрицу сочетаний» нужной размерности;

+ перемножает строки со значениями на «матрицу сочетаний»;

+ обрабатывает результат:

   - удаляет пустые строки;

   - удаляет дубликаты;

   - выстраивает наборы товаров в зависимости от значений свойств;

   - вычисляет хэш от строки с артикулами или кодами товаров;

   - сравнивает наборы товаров по хэшам, группируя одинаковые совместно;

   - определяет тупиковые значения отбора, маркирует их.

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

Результирующий файл должен быть полностью автономным, т.е. не зависеть ни от каких надстроек и внешних библиотек.

В качестве хэш-функции должен использоваться алгоритм SHA-1. Значения хэша должны быть проверяемыми, т.е. если взять и ручками проверить значение, сформировав строку с данными, то значения из Excel и внешней программы должны совпадать. В качестве проверочной программы будет использоваться т.н. «Damn Hash Calc» (доступен в интернете).

Строки для вычисления хэша должны формироваться так: @<Значение 1>@<Значение 2>@<…>@<Значение N>@

То есть массив значений должен быть разбавлен символами «@»

Текущий файл уже содержит часть необходимых функций, в частности, вычисления хэша и формирования строк данных в зависимости от условий отбора.

Пояснения по ТЗ в формате видео можно посмотреть по ссылке: https://cloud.best-practice.ru/s/KW93yjNpz9YBsLK

Изменено: Meta2 - 14.11.2024 16:29:01
Изменение режима вычислений
 
Всем спасибо за ответы!
Изменение режима вычислений
 
Да, действительно, есть надстройка с персональными формулами и макросами.
Как её перевести в режим "автоматически"?
Изменение режима вычислений
 

Добрый день!

Прошу помочь разобраться с изменением режима вычислений (вручную/автоматически).

Дело в том, что после перезапуска компа режим вычислений устанавливается в значение "Вручную".

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

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

Может быть, известно какое-нибудь значение в реестре, которое можно на этапе загрузки менять, чтобы режим вычислений автоматически устанавливался в "автоматически"? Я бы написал скрипт или задачу в шедулер, котороый по старту машины менял бы значение.

Посчёт значений с переменным количеством условий
 

Код
=СУММПРОИЗВ(--((Vendor=B2)+(B2=""));--((Family=C2)+(C2=""));--((Socket=D2)+(D2=""));--((FormFactor=E2)+(E2="")))

Это работает.

Объясните, пожалуйста, логику, что именно делает Excel

Посчёт значений с переменным количеством условий
 
Добрый день!

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

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

Когда множество условий полно, то СУММПРОИЗВ справляется на отлично, когда условий становится меньше, то, понятное дело, получается ноль. Не хотелось бы городить какие-то городуши и макросы. Мне кажется, ято что-то недопонимаю в СУММПРОИЗВ

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

Я решаю задачу микроавтоматизации для бухгалтерии – хочу сделать «конструктор платёжных поручений». В качестве входных данных есть файл, в котором присутствует плоская таблица из сведений о поставщиках: ИНН, наименование, расчётный счёт и т.д.

Некоторые контрагенты встречаются несколько раз, потому что у них несколько расчётных счетов.

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

Я решил задачу при помощи способа №3 отсюда: https://www.planetaexcel.ru/techniques/1/38/

Единственный нюанс, который мне не нравится – как быть с контрагентами, у которых всего один счёт. Хочется, чтобы он заполнялся автоматически, чтобы пользователь не выбирал ничего руками. Можно это как-то сделать?

Разработать файл-обработчик свойств товаров, Требуется разработать файл с макросами (Обработчик), который будет помогать пользователю заполнять свойства товаров, собирая их вместе из нескольких файлов с данными в формате CSV
 
Цитата
vikttur написал:
Юра, это Работа... Видимо, ТЗ тяжелое для чтения
Нет, ТЗ просто набито картинками для понятности
Разработать файл-обработчик свойств товаров, Требуется разработать файл с макросами (Обработчик), который будет помогать пользователю заполнять свойства товаров, собирая их вместе из нескольких файлов с данными в формате CSV
 
К сожалению, сайт не даёт прикрепить файлы более 100 Кб, поэтому ТЗ с примером выкладываю на Яндекс.Диске

https://yadi.sk/d/Qb6wGfvRJRDZsw
Страницы: 1
Наверх