Как вычесть значение двух ячеек, если vlookup совпадает с двумя другими ячейками в Google Sheets - PullRequest
0 голосов
/ 05 июля 2019

Формула для сравнения B3 в листе 1 с столбцом A в листе 2 (имя заданного диапазона - COUNTY).Если они совпадают, вычтите значение A3 из D2 ИЛИ сравните C3 на листе 1 со столбцом A на листе 2 (Определенное имя диапазона - COUNTY).Если они совпадают, добавьте значение A3 к D2.Это то, что у меня есть сейчас, и оно не складывается и не вычитается.Это просто уносит предыдущую сумму.

=IFERROR(SUMIFS(OR(VLOOKUP($B3,COUNTY),D2-$A3,OR(VLOOKUP($C3,COUNTY),D2+$A3))),D2)

Example

Ответы [ 2 ]

1 голос
/ 06 июля 2019

Вы можете сделать это, используя MATCH в сочетании с функцией ISERROR. В ячейку D3 напишите следующую формулу:

=D2 - IF(ISERROR(MATCH(B3,COUNTY,0)),0,A3) + IF(ISERROR(MATCH(C3,COUNTY,0)),0,A3)

Вы можете скопировать это в столбец D.

Способ, которым это работает, состоит в том, что он начинается с D2, затем вычитается, используя IF / ISERROR:

  • По 0 (определено в формуле), если U2 (ячейка B3) не в диапазоне COUNTY, поскольку ISERROR вернет TRUE
  • По 4 (ячейка A3), если U2 (ячейка B3) равно в диапазоне COUNTY, поскольку ISERROR вернет FALSE

Вторая часть формулы работает аналогично, но с добавлением.

Вы можете проверить ссылки на функции, используемые здесь:

1 голос
/ 06 июля 2019

вы были близки, но все ваши формулы после IFERROR все неверны / неполны. вставьте это в D3 ячейку и перетащите вниз:

=IF(REGEXMATCH(B3, TEXTJOIN("|", 1, County)), D2-A3, 
 IF(REGEXMATCH(C3, TEXTJOIN("|", 1, County)), D2+A3, D2))

0

...