Я хочу использовать INDIRECT в формуле, такой как =INDIRECT(CONCATENATE(A1,"+",A2),0) ;

где A1 = 7 и A2 = 8 .

Он все время выдает ошибку #REF , но если я использую формулу INDIRECT например, такую: =INDIRECT(B1) ; где содержимое B1 - "J5" а содержимое J5 - 11 , все в порядке, и косвенный возврат 11.

Но, насколько я знаю, это должно работать в обоих случаях. По крайней мере, это работает на моем другом компьютере.

Я что-то здесь не так делаю?

2 ответа2

2

Если вы просто пытаетесь добавить A1 к A2 тогда =SUM(A1, A2) будет иметь больше смысла.

Если вы пытаетесь сделать так, чтобы вы хотели добавить две ячейки вместе, но вы хотите динамически ссылаться на ячейки на основе некоторых других критериев (что является единственной причиной, почему вы хотели бы INDIRECT), то вам нужно будет сделать что-то вроде =INDIRECT("A1") + INDIRECT("A2") или SUM(INDIRECT("A1"), INDIRECT("A2")) . Хотя, написано так, это действительно обходной способ делать вещи.

Вместо этого, если вы установите для B1 значение "A1" а для B2 - "A2" тогда =SUM(INDIRECT(B1), INDIRECT(B2)) ... тогда вы можете изменить значения B1 и B2 на любые ячейки, которые вы бы выбрали. хотел бы сложить вместе.

Отредактировано, чтобы добавить: Второй необязательный параметр необходим, только если вы собираетесь использовать стиль ссылки R1C1 на ячейку. Когда вы соедините A1 с «+» с A2 результатом будет A1+A2 который не является ссылкой ни на что. Если вы хотите использовать стиль ссылок R1C1 вы можете узнать больше о том, как здесь

0

Похоже, вы неправильно ссылаетесь на свою ячейку. после того, как конкатенация Excel принимает =INDIRECT("7+8",0) который не является допустимым адресом ячейки в формате A1 или R1C1 .

Я бы предложил изменить ваш CONCATENATE на CONCATENATE("R" & A1 & "C" & A2) что сделало бы INDIRECT("R7C8",0) который, как я полагаю, является вашей целью.

Я использовал & вместо + для ясности, что я не делаю сложение, но + тоже будет работать нормально.

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