1

Вот формула, которую я пытаюсь заставить работать:=Sum(J1,concatenate("$j","$",value(4-1))) .

Я хочу получить результат: sum(J1,J3) , но я получаю сообщение об ошибке. Если я оцениваю формулу, предпоследний результат будет следующим: sum($j$1,"$j$3") .

Откуда взялись эти кавычки и как от них избавиться?

С уважением,
Т. ван Эллен, Бельгия

3 ответа3

0

Это то, что вы ищете?

=SUM(INDIRECT(CONCATENATE("$J$1,$J$",VALUE(4-1))))

Он передает функции Sum() адреса ячеек, преобразованные функцией Indirect().

0

Рассматривать:

=SUM(J1,INDIRECT(CONCATENATE("$j","$",VALUE(4-1))))

0

Мне не хватает объяснения, почему что-то не работает, поэтому я и сам отправляю ответ.

Функция SUM рассчитывает только общее количество ячеек и требует ячейку или диапазон ячеек в качестве параметров.

Функция Concatenate возвращает текст, а не ячейку или диапазон ячеек.

Поскольку изначально Excel не достаточно мал, чтобы попытаться определить, содержит ли текст ячейку, в Excel появилась функция, которая может преобразовывать текст, содержащий ссылку на ячейку, в фактический диапазон ячеек.

Функция называется indirect .

Функция indirect может принимать в качестве входных данных ячейку или текст и возвращать диапазон ячеек.

Ваша формула станет

=SUM($J$1, INDIRECT(CONCATENATE("$J$",VALUE(4-1))))

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

=SUM(J1, INDIRECT(CONCATENATE("J",VALUE(4-1))))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .