2008-11-03 3 views
9

В Excel 2007 У меня есть формула в ячейке, как следующее:Как сделать ссылку на ячейку другого листа, когда имя листа является значением ячейки?

=COUNTIFS('2008-10-31'!$C:$C;">="&'$A7) 

Теперь я хочу, чтобы сделать имя листа («2008-10-31») зависит от значения некоторых (скажем, A1). Что-то вроде:

=COUNTIFS(A1!$C:$C;">="&'$A7) // error 

Есть ли способ сделать это? Или мне нужно написать VBA-Macro для этого?

ответ

13

INDIRECT делает то, что вы хотите. Обратите внимание, что если имя листа имеет пробелы, вам нужно поставить одинарные кавычки вокруг него, т.е.

=COUNTIFS(INDIRECT("'" & A1 & "'!$C:$C"); ">=" & $A7) 
+2

не только тогда, когда она имеет пробелы, но и другие специальные символы, такие как «-» – 2008-11-03 10:20:10

7

Вы ищете НЕПРЯМУЮ функцию рабочего листа:

=INDIRECT("SHEET2!A1") 
=COUNTIFS(INDIRECT(A1 & "!$C:$C"); ">=" & $A7) 

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