Функция смещения Excel возвращает ошибку #VALUE! при сочетании с функцией строки

Функция смещения Excel возвращает ошибку #VALUE! при сочетании с функцией строки

Почему следующая функция Excel возвращает ошибку? Ошибка возникает только тогда, когда возвращаемая ссылка больше 1 ячейки. В формуле возвращаемая ссылка имеет высоту 1 строки и 2 строки.

    =OFFSET($A$2,ROW(G6),0,1,2) 

решение1

Ваша формула может возвращать результат двумя способами:#ЦЕНИТЬ!ошибка здесь, в зависимости от того, как вы пытаетесь ее использовать:

Во-первых, если у вас есть формула, которая возвращает массив значений, то это имеет значение.гдевы вводите формулу (если не «введен массив»).

Поместите эту формулу в ячейку A10 (не массив), и вы увидите значение из ячейки A8, поместите формулу в ячейку B10, и вы увидите значение из ячейки B8, поместите формулу куда-нибудь, кроме столбцов A и B, и вы получите#ЦЕНИТЬ!Это стандартное поведение в Excel для функций такого типа.

Во-вторых, если вы попытаетесь ввести формулу в двухъячейковый горизонтальный диапазон, чтобы увидеть оба значения (как предлагает Чафф), то вы также получите#ЦЕНИТЬ!ошибка, котораяявляетсявызванныйРЯДфункция.

Это происходит потому, чтоРЯД()возвращает «массив» (даже если это одна строка, как здесь), который некоторые функции не обрабатывают должным образом — вы можете это увидеть, если выделитеСТРОКА(G6)и нажмите клавишу F9 — вы увидите {6} вместо 6. Решение состоит в том, чтобы использовать в формуле только 6 или, если вы хотите воспользоваться гибкостью, предоставляемойРЯД, вы можете обернуть в другую функцию, напримерСУММА, например

=OFFSET($A$2,SUM(ROW(G6)),0,1,2)

несколько других функций будут выполнять ту же работу, что иСУММАздесь, напримерМАКС,МИН.....или вы можете заменитьРЯДсРЯДЫ, например

=OFFSET($A$2,ROWS(G$1:G6),0,1,2)

Связанный контент