IFS имеет несоответствующие размеры диапазона. Ожидаемое количество строк: 1. количество столбцов: 1. Фактическое количество строк: 1000, количество столбцов: 1

#if-statement #google-sheets #google-sheets-formula #nested-if #ifs

Вопрос:

Моя формула выглядит следующим образом:

 =ARRAYFORMULA(IFS(AND(H2:H gt;= -B39, H2:H lt;= B40), 100, H2:H gt; B37, 0))  

Однако эта строка продолжает выдавать ошибку:

 IFS has mismatched range sizes. Expected row count: 1. column count: 1. Actual row count: 1000, column count: 1.  

Есть идеи, как это исправить?

У меня есть похожие формулы, подобные этой, которая работает:

 =ARRAYFORMULA(IFS(F2:F lt;= 0, 100, F2:F gt;= B19, 0, true, (B19 - F2:F) / B19 * 100))  

Не уверен, что я делаю так по-другому с первой формулой, которая вызвала бы проблему.

Ответ №1:

AND не поддерживается в ARRAYFORMULA

 =ARRAYFORMULA(IFS((H2:H gt;= -B39)*(H2:H lt;= B40), 100, H2:H gt; B37, 0))  

и IFS в некоторых случаях ARRAYFORMULA также не подходит для

пробовать:

 =ARRAYFORMULA(IF((H2:H gt;= -B39)*(H2:H lt;= B40), 100, IF( H2:H gt; B37, 0, )))  

Комментарии:

1. Спасибо! Теперь мне просто интересно, как я должен был это знать. Это где-то задокументировано? Ошибка наверняка заключается в том, что вы упускаете ведущую роль…

2. @Waltari, конечно, это не задокументировано, как и многое другое

3. Конечно :Д…