Производственный календарь - Excel - PullRequest
0 голосов
/ 20 февраля 2019

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

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

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

Есть ли способ сделать то, что я спрашиваю в Excel?Я предполагаю, что календарь должен искать категорию, например, DUCT, а затем помещать что-либо с Duct в соответствующую строку календаря.

таблицу можно найти здесь http://www.castekauto.net/stack/PlanningSchedulestack.xlsx

TIA

1 Ответ

0 голосов
/ 21 февраля 2019

После некоторых изменений в таблице планирования, которые включают в себя:

  • Заполнение столбца A с указанием дня недели
  • Выделение заголовков столбцов (например, для воздуховода)
  • Стандартизация полей, которые вам нужны (Composite Hose изменено на Hose, например, для соответствия листу расписания)

Я использовал следующую формулу массива (вводится с помощью Ctrl + Сдвиг + Ввод ):

=IFERROR(INDEX(INDIRECT("Table3["&C$6&"]"),SMALL(IF((Table3[Helper]=PLAN!$A7)*(Table3[STOCK CATEGORY]=PLAN!C$5),ROW(Table3[ITEM CODE])-8),ROW(7:7)-MATCH("zzz",$B$1:$B7,1)+1)),"")

Пример загруженной рабочей книги здесь .


Немного паузыесли вы хотите понять формулу, разбейте ее немного:

IFERROR(Result, "") просто покажет пустое значение, если результатом будет ошибка (больше нет элементов, которые можно отобразить)

INDEX(Column Result,SMALL(Matches, N)) Здесь Column Result - это результат того, что нам нужно.Это может быть код товара, описание или количество.Matches - это список индексов для строк, которые соответствуют определенным критериям (тип материала, будь то в ту же неделю и день), а N - это N -й результат, который нам нужен.Если N равно 1, то мы получим первый результат совпадений, если N равно 2, мы получим 2-е.

Исходя из вышеизложенного, я использовал INDIRECT("Table3["&C$6&"]") для результата столбца, чтобы сделатьформула немного более гибкая.Когда это так, формула решит, какой столбец нужно вернуть, будь то код товара, описание или количество.

Соответствия определяются как IF((Table3[Helper]=PLAN!$A7)*(Table3[STOCK CATEGORY]=PLAN!C$5),ROW(Table3[ITEM CODE])-8), который в основном проверяет, совпадают ли неделя и день,вместе с категорией акций.Если оба совпадения, то вернуть номер строки этих строк (результат - массив).

N определяется ROW(7:7)-MATCH("zzz",$B$1:$B7,1)+1), что является своего рода небольшим алгоритмом, который я использовал, чтобы после каждого новогодень, я получаю новый N, начиная с 1, который увеличивается на 1, пока не будет достигнут новый день.Это в основном берет текущую строку, вычитает последнюю строку до текущей строки из столбца B и добавляет 1. Если два находятся в одной строке, результат будет 1. Если текущая строка на одну строку ниже последней строки изстолбец B, результат будет 2 и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...