Функция поиска, возвращающая недопустимое целочисленное значение - PullRequest
1 голос
/ 01 апреля 2020

В настоящее время я работаю над электронной таблицей для сравнения стоимости акций и пытаюсь найти ошибки, используя Lookup или VLookup.

enter image description here

По некоторым причинам, это возвращает «8», в результате чего оператор if выдает false.

=IF(LOOKUP(L12,$L$8:$L11,$Q$8:Q$13)=Q12,FALSE,"MISTAKE")

Он говорит «$ Q $ 8: Q $ 13 = 8», и я понятия не имею, почему это может быть. Я провел последние 2 дня, работая над этим и ища решения для этого онлайн, а также читая do c. Однако я не могу решить эту проблему.

1 Ответ

1 голос
/ 01 апреля 2020

Попробуйте удалить все из столбца Z и поместить это в Z1:

={
  "Whatever Header you have there in column Z";
  ARRAYFORMULA(
    IF(
      IFNA(VLOOKUP(L2:L, {L$2:L, Q$2:Q}, 2, 0)) = Q2:Q,
        FALSE,
        "MISTAKE"
    )
  )
}

С ARRAYFORMULA поместите в верхний ряд так, как вам не придется копировать и вставлять формулу каждый раз, когда вы вставляете новую строку.

Но если вам просто нужно, чтобы ваша формула была исправлена, и если я вас правильно понял, тогда ваша формула в Z12 должна быть (один из способов):

=IF(
  IFNA(VLOOKUP(L12, {L$8:L11, Q$8:Q11}, 2, 0), Q12) = Q12,
    FALSE,
    "MISTAKE"
)
...