Выберите наибольшее число в диапазоне, которое также меньше соответствующего числа в строке другого диапазона - PullRequest
0 голосов
/ 15 января 2019

У меня есть два набора данных в столбцах A и B. Я хотел бы выбрать максимальное значение из столбца A, которое также меньше, чем значение в соответствующей строке в столбце B. Я думаю, что я должен быть в состоянии сделать это с помощью функции MAXIFS, но все примеры, которые я могу найти, сравниваются со статическими значениями. Я пробовал эти варианты

=MAXIFS(A1:A10, B1:B10, "<")
=MAXIFS(A1:A10, B1:B10, A&"<"&B)

но ни один из них не сработал, как ожидалось. В первом случае это всегда 0, что означает, что условие никогда не выполняется, во втором - ошибка.

Я знаю, что мог бы сделать это, создав отдельную область ячеек, которая сначала отфильтровывает данные, не соответствующие условному условию, а затем просто выберет максимум из того, что осталось, но я бы лучше сделала это в одной ячейке если возможно.

Существует ли синтаксис для этого сравнения и, если да, то что это?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Насколько мне известно, нет способа заставить его работать с MAXIFS.

Вы можете написать это

=maxifs(A:A,A:A,"<"&B:B)

и он примет его, но он просто использует первое значение в столбце B и не проводит параллельное сравнение.

Так что вы должны сделать это по-другому, например, с комбинацией Max и If:

=ArrayFormula(max(if(A:A<B:B,A:A)))

или вы можете использовать max с фильтром или запросом:

=max(filter(A:A,A:A<B:B))

=max(query(A:B,"select A where A<B"))
0 голосов
/ 15 января 2019
=ARRAY_CONSTRAIN(ARRAYFORMULA(
 IF(LEN(INDIRECT(ADDRESS(ROW(), COLUMN(B:B))))>0,
 IF(INDIRECT(ADDRESS(ROW(), COLUMN(B:B)))<MAX($A$1:$A),
 MAX($A$1:$A), LARGE(UNIQUE($A$1:$A), 2)), )), 1, 1)

4

...