рассчитать разницу между двумя парами столбцов (товар / запас) - PullRequest
1 голос
/ 06 октября 2019

В электронной таблице Google у меня есть 2 пары столбцов, EAN + номер на складе

Некоторые EAN присутствуют в столбцах A и C, некоторые только в столбце A, а некоторые только в столбце B.

Пример:

A               B   C               D  E              F
8573489753888   1   8729029847359   2  
8789026119040   1   8434234872389   1
8789026118692   3   8789026118609   2
8729029847359   1   8789026118692   1

Мне нужно найти подарок EAN в столбцах A и C и рассчитать разницу в запасах (столбцы B и D). Результат должен быть указан в столбцах E и F. Я создал скрипт, который делает это, но, поскольку я продолжаю набирать максимальное время выполнения (список становится длинным), я надеюсь, что это можно сделать и без скрипта.

Результаты должны быть следующими:

A               B   C               D  E              F
8573489753888   1   8729029847359   2  8789026118692  2
8789026119040   1   8434234872389   1  8729029847359  -1
8789026118692   3   8789026118609   2
8729029847359   1   8789026118692   1

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Хорошее решение. Я попробовал только с vlookup, и это становится действительно сложно: =IF(ISNA(VLOOKUP(E1;A:B;2;FALSE()));IF(ISNA(VLOOKUP(E1;C:D;2;FALSE()));0;VLOOKUP(E1;C:D;2;FALSE()));VLOOKUP(E1;A:B;2;FALSE())-IF(ISNA(VLOOKUP(E1;C:D;2;FALSE()));0;VLOOKUP(E1;C:D;2;FALSE()))

1 голос
/ 07 октября 2019

полная разница:

=ARRAYFORMULA(QUERY({A1:B; C1:C, D1:D*-1}, 
 "select Col1,sum(Col2) 
  where Col1 is not null 
  group by Col1 
  label sum(Col2)''", 0))

enter image description here

  • реверс:

    0


соответствующая разница:

=ARRAYFORMULA(QUERY({A1:B, IFERROR(VLOOKUP(A1:A, C1:D, 2, 0))}, 
 "select Col1,Col2-Col3 
  where Col3 is not null 
  label Col2-Col3''", 0))

0

  • реверс:

    enter image description here

...