Excel, помогите в сочетании Index - Match и Sumifs? - PullRequest
0 голосов
/ 01 октября 2018

У меня есть три таблицы, как показано на следующем рисунке: SalesOrderTable, OrderAdjustmentTable и TotalSalesTable.

enter image description here

SalesOrderTable

Каждый номер заказа в SalesOrderTable представляет номер заказа для продукта из того жесчет-фактура.Он имеет A, B или C, если счет выставляется для более чем одного продукта, но не для одного продукта.Например: заказ 1703 состоит из двух продуктов, поэтому в конце каждого номера заказа есть A и B.Заказ 1704 имеет заказ только для Apple, поэтому он не имеет буквы в конце.

OrderAdjustmentTable

Если для каждого номера заказа есть какие-либо корректировки, они вводятся вручную в столбцы настроек.

TotalSalesTable

В этой таблице указана сумма всех продаж и корректировок для одного и того же номера заказа.Итак, заказ на 1705 год - это комбинации 1705А, 1705В, 1705С.

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

Столбец общей суммы заказа:

=SUMIF(SalesOrderTable[Order Number], LEFT(G4,LEN(SalesOrderTable[Order Number])-1),SalesOrderTable[Order Sales Amount])

Столбец общей суммы заказа:

=sumifs(OrderAdjustmentTable[#All],OrderAdjustmentTable[Order Number],MATCH(B19,LEFT(SalesOrderTable[Order Number],LEN(SalesOrderTable[Order Number])-1), 0), "*Adjustment",OrderAdjustmentTable[#All])

Я знаю, что это может иметь отношение к совпадению и сумме, но всеформулы, которые я сделал, привели к сообщениям об ошибках.Кто-нибудь может мне помочь с тем, что я сделал не так с этими формулами выше, и как мне их исправить?Я нахожусь в своем уме и буду признателен за любые советы.Большое спасибо!

Редактировать:

Что я хочу достичь, это заполнить:

Столбец общей суммы заказа в TotalSalesTable со всеми заказами с одинаковым номером заказа,независимо от их азбуки.Таким образом, общая сумма за 1705 будет общей суммой заказа для 1705A, 1705B, 1705C.

Для общей корректировки заказа я хочу иметь все значения корректировок для столбца номера заказа в TotalSalesTable из OrderAdjustmentTable, независимо от их ABC.Таким образом, общие корректировки для 1705 в TotalSalesTable будут 1705B и 1705C.

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Пока нет заказов, перекрывающихся с буквами и без букв (например, SalesOrderTable, имеющий записи для 1703, 1703A и 1703B), следующая формула должна работать в ячейке C19, откуда ее можно скопировать:

Общая сумма заказа:

=SUMIFS(SalesOrderTable[Order Sales Amount],SalesOrderTable[Order Number],$B19)+SUMIFS(SalesOrderTable[Order Sales Amount],SalesOrderTable[Order Number],$B19&"*")

Эта формула складывает воедино точные и приблизительные совпадения, но, как я уже сказал, если какие-либо заказы имеют или не имеют буквы, что-то, скорее всего, будет дублировано / удвоеноподсчитаны.У вас также должна быть возможность воспроизвести формулу для столбца «Общая корректировка заказа».

0 голосов
/ 01 октября 2018

Если возиться с этим на секунду, ввод LEFT в SUMIF, похоже, вызывает проблемы (по крайней мере, на Mac).

Я бы порекомендовал рассчитать номер заказа без букв в отдельномколонка первая.LEFT возвращает строку символов, поэтому мне пришлось обернуть ее в VALUE, чтобы SUMIF совпадало.Поскольку все ваши четыре цифры, я просто использовал VALUE(LEFT([@[Order Number]],4))

Тогда это просто стандартная запись SUMIF:

=SUMIF(Table1[Base Num],[@[Order Number]],Table1[Order Sales Amount])

Пример: https://www.dropbox.com/s/yj6ktl14jqglxsm/Example.xlsx?dl=0

Существуют различные способы получения номера заказа, но вы должны быть осторожны со своим примером:

LEFT(G4,LEN(SalesOrderTable[Order Number])-1), потому что это будет работать правильно для 1703A и 12990B, носбросит число с 1701.

РЕДАКТИРОВАТЬ: Это один из способов получить номер заказа, если ваше число цифр меняется: =IFERROR(VALUE(A2),VALUE(LEFT(A2,LEN(A2)-1)))

Это говорит: «если VALUE(A2) возвращает ошибку (это означает, что в нем есть буква), удалите последний символ, в противном случае используйте VALUE(A2), поскольку это уже число. "

...