2013-11-21 5 views
0

У меня есть рабочая книга по погоде, но со всеми фоновыми процессами на скрытых листах. В настоящее время он поддерживает только 4 города - например, в Нью-Йорке - каждый город имеет собственный рабочий лист, и мне нужно его продлить. Когда местоположение выбрано (через выпадающее меню), данные вызывают из соответствующего листа и продолжаются оттуда. Я в настоящее время используют эту формулу, чтобы посмотреть, что данные городов:EXCEL: Есть ли способ вызывать и реплицировать данные из другого листа в зависимости от результата другой формулы?

=IF('Choose Variables'!$D$10="NYC - New York",NYC!G9, 
IF('Choose Variables'!$D$10="Santiago",Santiago!G9, 
IF('Choose Variables'!$D$10="London",London!G9, 
IF('Choose Variables'!$D$10="Rio de Janiero",'Rio'!G9, 
"Data not available")))) 

Затем перетащите эту формулу вниз ~ 4800 и через 3 клетки, чтобы получить различные данные, необходимые.

Это прекрасно работает, но, как вы можете себе представить, добавление ~ еще 50 городов будет трудным, если не сказать больше. У меня были google и = Vlookup, = lookup и т. Д. Мне не помогут.

TLDR; Есть ли способ вызова и репликации конкретных данных из другого листа, зависящего от результата другой формулы? Это будет проходить довольно быстро, и я не хочу изучать Макрос только для этого, но любые другие предложения были бы замечательными. Спасибо заранее.

ответ

0

Ваш NYC проблематичен, потому что текст «NYC-New York» не соответствует имени рабочего листа NYC (в отличие от других ваших примеров), но если вы можете сделать все эти соответствия, вы можете использовать функцию INDIRECT для преобразования текстового значения в ячейка к действительной ссылке, например

=IFERROR(INDIRECT("'"&'Choose Variables'!$D$10&"'!G9"),"Data not available")

одна проблема с косвенными, что вы делаете значение G9 в текстовое значение, так что не «перетаскивать» - если вы хотите, чтобы увеличить G9 при перетаскивании вниз или через изменения в этот

=IFERROR(INDIRECT("'"&'Choose Variables'!$D$10&"'!"&CELL("address",G9)),"Data not available")

Если вы не можете сделать текст в D10 всегда точно совпадает с именем листа (или вы не хотите), то вы всегда можете сделать таблицу из двух столбцов (имя его таблицу) с текст ячейки в первом столбце, например NYC - Нью-Йорк и название листа в следующем, например. NYC, то вы можете использовать ВПР как этот

=IFERROR(INDIRECT("'"&VLOOKUP('Choose Variables'!$D$10,table,2,0)&"'!"&CELL("address",G9)),"Data not available")

+0

Это выглядит блестяще, спасибо. Не могли бы вы пояснить, что вы имеете в виду, когда говорите «адрес»? Если I C + V эта формула в моем листе, она использует G9 с того же листа, что и я. – user3018395

+0

Ahhh, я проработал. Это фантастика. Спасибо. – user3018395