Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Таблица соответствия - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Таблица соответствия
Aleksashka7011 Дата: Пятница, 30.11.2012, 07:15 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

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

Опишу смысл этих таблиц:
Есть три разные компании, которые поставляют фрукты. Данные в этих таблицах представлены в немного разных видах. Наиболее совпадающими столбцами являются «КОД» и «НОМЕР». Нужно составить таблицу соответствия, чтобы все три таблицы были на одном листе и одинаковые сорта фруктов стояли в таблице на одной и той-же строке. Плюс еще нужно выписать те данные, где цена меньше. В примере во вкладке "ИТОГ" сделал вручную то, что необходимо получить... Оригинальные таблицы содержат порядка 800 строк...
Вся загвоздка в том что столбцы «НОМЕР» не точно совпадают в разных таблицах
Есть еще такой момент: если, допустим, поступают фрукты с номером которого нет в указанных тогда «ЦЕНА» указывается из той строки в которой ячейка «НОМЕР» пустая.
Замучился уже голову ломать над этим вопросом…
К сообщению приложен файл: 8524407.xlsx (15.0 Kb)
 
Ответить
СообщениеДобрый день! Помогите с составлением макроса! Есть файл состоящий из 3х листов на каждом из листов таблица. В приложении выкладываю пример. Получилось глуповато, но сам документ выложить не могу, он для внутреннего пользования.

Опишу смысл этих таблиц:
Есть три разные компании, которые поставляют фрукты. Данные в этих таблицах представлены в немного разных видах. Наиболее совпадающими столбцами являются «КОД» и «НОМЕР». Нужно составить таблицу соответствия, чтобы все три таблицы были на одном листе и одинаковые сорта фруктов стояли в таблице на одной и той-же строке. Плюс еще нужно выписать те данные, где цена меньше. В примере во вкладке "ИТОГ" сделал вручную то, что необходимо получить... Оригинальные таблицы содержат порядка 800 строк...
Вся загвоздка в том что столбцы «НОМЕР» не точно совпадают в разных таблицах
Есть еще такой момент: если, допустим, поступают фрукты с номером которого нет в указанных тогда «ЦЕНА» указывается из той строки в которой ячейка «НОМЕР» пустая.
Замучился уже голову ломать над этим вопросом…

Автор - Aleksashka7011
Дата добавления - 30.11.2012 в 07:15
KuklP Дата: Пятница, 30.11.2012, 07:59 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 30.11.2012, 08:02
 
Ответить
СообщениеКросс:
http://www.planetaexcel.ru/forum.php?thread_id=47948
http://www.programmersforum.ru/showthread.php?t=219806

Автор - KuklP
Дата добавления - 30.11.2012 в 07:59
amur84 Дата: Пятница, 30.11.2012, 18:33 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 8 ±
Замечаний: 0% ±

Я так думаю, что задачка может иметь решение.
Для этого нужно буде выделить все номера товаров (с учетом наличия дефиза, подразумевающего несколько номеров). Эти номера будут уникальны. Далее Каждому номеру присваивается переменная (Компания) и соответствующие ей Название и Цена. Затем исходные преобразуются в промежуточные, где сортируются по номерам и расставляются на итоговый лист таким образом, чтобы каждый уникальный номер был в одной строке. Далее все 3 таблицы (или более....) последовательно просматривают на наличие одинаковых переменных - в какой таблице количество строк с этими переменными больше - та и будет на данном этапе , скажем так, главной. Строки найденных диапазонов объединяются для приведения к виду, максимально похожему на исходный, причем в столбце с номером - без потери данных. Далее создается итоговая таблица, вычисляющая минимальную цену по позициям (нашим ранее найденным диапазонам).

Я не программист и поэтому здесь написал свои предположения по алгоритму для вашей задачи. И я считаю, что написание кода для ее выполнения достаточно трудоемко. Поэтому в этой ветке вы вряд-ли получите сразу готовое решение. Советую вам направится в эту ветку.


Новый день. А что успел сделать ты?
 
Ответить
СообщениеЯ так думаю, что задачка может иметь решение.
Для этого нужно буде выделить все номера товаров (с учетом наличия дефиза, подразумевающего несколько номеров). Эти номера будут уникальны. Далее Каждому номеру присваивается переменная (Компания) и соответствующие ей Название и Цена. Затем исходные преобразуются в промежуточные, где сортируются по номерам и расставляются на итоговый лист таким образом, чтобы каждый уникальный номер был в одной строке. Далее все 3 таблицы (или более....) последовательно просматривают на наличие одинаковых переменных - в какой таблице количество строк с этими переменными больше - та и будет на данном этапе , скажем так, главной. Строки найденных диапазонов объединяются для приведения к виду, максимально похожему на исходный, причем в столбце с номером - без потери данных. Далее создается итоговая таблица, вычисляющая минимальную цену по позициям (нашим ранее найденным диапазонам).

Я не программист и поэтому здесь написал свои предположения по алгоритму для вашей задачи. И я считаю, что написание кода для ее выполнения достаточно трудоемко. Поэтому в этой ветке вы вряд-ли получите сразу готовое решение. Советую вам направится в эту ветку.

Автор - amur84
Дата добавления - 30.11.2012 в 18:33
Hugo Дата: Пятница, 30.11.2012, 18:54 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3691
Репутация: 790 ±
Замечаний: 0% ±

365
Я тоже глянул - рука не поднимается делать smile
И не вполне ясно, как выводить результат.
Алгортим думаю похож как выше описано, но на словаре - выделяем все номера, далее набираем словарь код_фрукта/номер, им в итем отбираем минимальную цену. Что делать с названием - не понятно, но пусть будет название минимальной цены.
Когда поступают новые "фрукты", делаем аналогично, и из словаря каждой паре код_фрукта/номер можем выбрать минимальную цену, или же пополнить словарь из "вновьприбывших".
Со словарём работы немного, но вот делить номера муторно.
И главное - что делать с результатом? По каждому фрукту будет куча строк код_фрукта/номер/минцена, и не факт, что всюду минцена будет одинакова.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ тоже глянул - рука не поднимается делать smile
И не вполне ясно, как выводить результат.
Алгортим думаю похож как выше описано, но на словаре - выделяем все номера, далее набираем словарь код_фрукта/номер, им в итем отбираем минимальную цену. Что делать с названием - не понятно, но пусть будет название минимальной цены.
Когда поступают новые "фрукты", делаем аналогично, и из словаря каждой паре код_фрукта/номер можем выбрать минимальную цену, или же пополнить словарь из "вновьприбывших".
Со словарём работы немного, но вот делить номера муторно.
И главное - что делать с результатом? По каждому фрукту будет куча строк код_фрукта/номер/минцена, и не факт, что всюду минцена будет одинакова.

Автор - Hugo
Дата добавления - 30.11.2012 в 18:54
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!