
У меня есть два разных листа в Excel с двумя столбцами на каждом листе. Первый столбец содержит название товара, а второй столбец — количество.
Как узнать разницу в количествах?
Элементы на обоих листах не отсортированы и расположены в разном порядке.
решение1
Вам нужна функция VLOOKUP()
.
Настроить Sheet2
так
а Sheet1
вот так
Введите следующую формулу C2
и нажмите ctrl-enter/copy-paste/fill-down/auto-fill в оставшуюся часть столбца таблицы:
=ABS(B2-VLOOKUP(A2,Sheet2!$A$1:$B$8,2,FALSE))
Объяснение:
Функция VLOOKUP()
работает, выполняя поиск значения первого аргумента в первом столбце диапазона, указанного во втором аргументе, и возвращает значение из той же строки в столбце, указанном третьим аргументом. (Третий аргумент — это индекс столбца, начинающийся с единицы, для столбцов диапазона второго аргумента.)
Функция ABS()
нужна только для того, чтобы сделать все разности положительными. Ее можно опустить, если вам также нужно знать, больше или меньше ли величина в , Sheet2
чем та, что в Sheet1
.
Ошибка #N/A
возникает, когда элемент в Sheet1
не имеет соответствующей записи в Sheet2
. При необходимости это можно изменить на любую строку с помощью IFERROR()
функции.
решение2
Как это работает:
Запишите это в ячейку
G3
иSheet 2
заполните ее.=IFERROR(VLOOKUP(Sheet1!A3,$A$3:$B$9,2,False)-Sheet1!B3,"Not Found")
VLOOKUP
Функция находит и сопоставляет элементы между листами и вычитает количество, если они найдены, в противном случаеIFERROR
возвращаетNot Found
сообщение.
Или вы можете использовать его также в ячейке H3
и Sheet 2
заполнить ее.
=IFERROR(ABS(IF(COUNTIF(A$3:A$9,Sheet1!A3)<>0,Sheet1!B3-INDEX(B$3:B$9,MATCH(Sheet1!A3,A$3:A$9,0))," ")),"Not Found")
- В первой части формулы
COUNTIF
найдите соответствие междуItems
обоими листами и, если возвращается1
, то следующая часть формулыSubtracts Quantities
между листами, которая поддерживаетсяINDEX & MATCH
комбинацией.
При необходимости измените ссылки на ячейки в формуле.