Ссылка на образец таблицы Google
В столбце E на листе «Cal c» я хочу проверить, есть ли на листе «Данные» человек, у которого такой же A значение, но более высокое значение на B и C. В конце концов, я хочу вернуть «Нет», если нет, вернуть «Да», если да. Если есть человек с таким же значением A, у которого более высокое значение на B, но не на C (или наоборот), верните «возможно» с именем человека (ов). Автоматическое заполнение E возвращенным значением.
Значения в столбцах B, C и D в «Cal c» являются динамическими c и будут изменяться в зависимости от других вычислений. Значения B, C и D в «Data» - это stati c. Длина обоих столбцов может быть разной.
Некоторые примеры:
Имя 1 на листе «Cal c» имеет значения A89, B70, C70.
Человек A на листе «Данные» имеет значения A89, B71, C75. Ни у кого другого нет значений A89 и выше как для B, так и для C.
Верните «Да».
Имя 1 на листе «Cal c» имеет значения A89, B70, C70 .
Человек A на листе «Данные» имеет значения A89, B60, C55. Ни у кого другого нет значений A89 и выше как для B, так и для C.
Возврат «Нет».
Имя 1 на листе «Cal c» имеет значения A89, B70, C70 .
Человек A на листе «Данные» имеет значения A89, B71, C55. Ни у кого больше нет значений A89 и выше как для B, так и для C.
Возврат «Может быть: Человек A».
Имя 1 на листе «Cal c» имеет значения A89, B70, C70.
Человек A на листе «Данные» имеет значения A89, B71, C55. Человек B на листе «Данные» имеет значения A89, B55, C71. Человек A имеет наивысшее значение для B по сравнению с людьми в листе «Данные» с A89, но на C ниже, чем у имени 1 в листе «Cal c». Человек B имеет наивысшее значение на C по сравнению с людьми в листе «Данные» с A89, но B ниже, чем имя 1 в листе «Cal c». Верните «Может быть: человек А, человек Б».
Я попытался начать с получения наивысших значений в листе «Cal c», объединив = ARRAYFORMULA с MAX, но я получаю либо ошибка массива 'другое число' или все просто сравнивается с B3.
Ошибка:
=ARRAYFORMULA(IF(ISBLANK($A3:$A);;$B3&":"&MAX((Data!$B3:$B=$B3)*Data!$C3:$C)&":"&MAX((Data!$B3:$B=$B3)*Data!$D3:$D)))
Рассчитано только с B3:
=ARRAYFORMULA(IF(ISBLANK($A3:$A);;$B3&":"&MAX((Data!$B3:$B=$B3)*Data!$C3:$C)&":"&MAX((Data!$B3:$B=$B3)*Data!$D3:$D)))
Изменить: I ' ve удалил открытые диапазоны, что, по крайней мере, устранило полученную мной ошибку, но по-прежнему не возвращает желаемых чисел (возвращает либо ноль, либо самые высокие числа, принадлежащие первой записи, B3). Я обновил лист соответствующим образом.
=ARRAYFORMULA(IF(ISBLANK($A3:$A999);;$B$3:$B$999&":"&MAX((Data!$B3:$B999=$B$3:$B$999)*Data!$C3:$C999)&":"&MAX((Data!$B3:$B999=$B$3:$B$999)*Data!$D3:$D999)))