Анализ содержимого столбца таблицы и автоматический перенос уникальных значений (данные каждого артикула товара) в переменные или таблицы + GoogleDoc

AMZWIN

Client
Регистрация
13.05.2020
Сообщения
21
Благодарностей
0
Баллы
1
Товарищи, ломаю голову как автоматизировать, чтобы не приходилось каждый раз заниматься рукоприкладством и вставлять множество копий одних и тех же последовательность превращая проект в гигансткого осьминога.

Имеется: Таблица продаж, она состоит из артикулов товаров, Статуса заказа, Количества единиц в заказе и всяких разных не важных для конкретной задачи полей
55779


Задача: автоматически выхватывать артикул товара, исключать отменённые заказы и подсчитывать количество проданных единиц, а после эти данные вносить в Google Docs
У меня в данный момент реализовано через кубики + C# код для подсчёта суммы проданных единиц и выборки данных конкретного артикула + исключение Отказов.
Проблема в том, что товаров может быть со временем и 50, тогда это превращается в огромную кучу таких вот копий последовательностей.

Вопрос: Как автоматически проверять на совпадение в столбце A(0 по счёту) артикулов, выносить и обрабатывать по необходимым критериям (подсчёт количества проданных единиц, отсев отменённых платежей) и после вывести эти данных в переменные или отдельные таблицы по каждому артикулу? (дальше я уже через API выношу их в Google Docs)

Иными словами: На примере данных таблицы выше в таблицу Google Docs нужно вынести артикулы 1111, 2222, 3333, 5555, 7777. При этом количество заказов артикула 1111 будет 1, как и количество проданных единиц, поскольку второй заказ с 2 проданными товарами артикула 1111 был отменён.

Заранее Спасибо!
 

Вложения

Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 942
Благодарностей
4 334
Баллы
113
Берете в цикле и "ложите" после выполнения нужных подсчётов.
 

AMZWIN

Client
Регистрация
13.05.2020
Сообщения
21
Благодарностей
0
Баллы
1
Берете в цикле и "ложите" после выполнения нужных подсчётов.

C#:
for (int x = 0; x < table.RowCount; x++) { // Для проверки каждого рядка
   // Поиск уникального значения
      // Условие для найденного уникального значения
}
Как корректно прописать поиск уникального значения и условия работы конкретно с этим уникальным значением?
 
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 942
Благодарностей
4 334
Баллы
113

AMZWIN

Client
Регистрация
13.05.2020
Сообщения
21
Благодарностей
0
Баллы
1
Через GetCell таблицы и проверку в if.
Спасибо за наводку, но не могу сообразить как в конечном итоге прописать всё корректно, видимо, не хватает знаний :(

C#:
string column = "M"; // столбец
...
for (int x = 0; x < table.RowCount; x++) { // до конца количества рядков
    str = table.GetCell(column, x)... // взять каждую ячейку в указанном выше столбце
...
}
...
 
Последнее редактирование:

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 690
Баллы
113
нужна еще одна таблица для складирования результата. примерный алгоритм такой.
организовывается первый цикл, по всем строкам исходной таблицы.
получаются все нужные данные
данные анализируются на нужные условия
если условия соблюдены, то идет заход во 2-й внутренний цикл, где идет поиск уникального значения, например по номеру товара.
если не найдено, добавляется новая строка с id товара
если найдено работа идет с найденной строкой, где суммируется складируется все что надо.
выход из внутренного цикла и переход к следующей строке в первом цикле.

на выходе будем иметь результирующую таблицу которую можно перекинуть куда угодно.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 942
Благодарностей
4 334
Баллы
113
Вам не знаний не хватает, а логики. Разложите весь алгоритм по шагам. Откуда что берете, с чем сравниваете, куда кладете, если условие выполняется, и т. д.
Никому не интересно вникать в вашу задачу на уровне алгоритмов. Тем более вы вероятно её сами не до конца знаете, потому что написали условие сумбурно и повторно уточняя.
 

AMZWIN

Client
Регистрация
13.05.2020
Сообщения
21
Благодарностей
0
Баллы
1
Вам не знаний не хватает, а логики. Разложите весь алгоритм по шагам. Откуда что берете, с чем сравниваете, куда кладете, если условие выполняется, и т. д.
Никому не интересно вникать в вашу задачу на уровне алгоритмов. Тем более вы вероятно её сами не до конца знаете, потому что написали условие сумбурно и повторно уточняя.
Мне казалось, что я предельно понятно описал условие и задачу.
К сожалению, как раз логику алгоритма я понимаю, а вот реализовать пока что не выходит :(

Логика:
1) Проверяется значение ячейки столбца "А" в таблице
2.1) Если значение уникально - вынести в отдельную таблицу с его названием данные всех строк где содержится это значение в столбце А
Если рассматривать таблицу:
55797

то в итоге под каждое уникальное значение в столбце А будет создана таблица, которая будет содержать данные обо всех заказах данного значения в столбце А
2.1.1) Дальше обработка данных в этой таблице (подсчёт суммы проданных единиц и количества строк) (у меня реализовано для конкретного значения артикула)
2.2) Если ячейки столбца "А" оказалось не уникальным - счётчик +1 к номеру рядка, пока не завершится количество рядков в таблице

Кажется, логика корректная
 
Последнее редактирование:

AMZWIN

Client
Регистрация
13.05.2020
Сообщения
21
Благодарностей
0
Баллы
1
Подскажите, пожалуйста, не понимаю, как реализовать.
Даже проверка на уникальность значения артикула (чтобы не дублировать таблицы для повторных продаж этих артикулов) вызывает ступор :(
 

AMZWIN

Client
Регистрация
13.05.2020
Сообщения
21
Благодарностей
0
Баллы
1
Подскажите, пожалуйста, как это автоматизировать?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 942
Благодарностей
4 334
Баллы
113
Регистрация
19.10.2018
Сообщения
188
Благодарностей
24
Баллы
18
Подскажите, пожалуйста, не понимаю, как реализовать.
Даже проверка на уникальность значения артикула (чтобы не дублировать таблицы для повторных продаж этих артикулов) вызывает ступор :(
Перебором, мне кажется долго будет, лучше использовать базы данных, они как раз для таких целей создавались.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)