Я использую Excel 2010. Допустим, у меня есть рабочая книга, которая содержит 13 листов. Первый лист называется "Сводка", а остальные 12 - месяцы года (январь-декабрь). В "Сводке" я хочу попросить пользователя выбрать месяц. Затем я использую « =DATE(YEAR(E1),MONTH(E1)+1,1) » для увеличения до следующего месяца. Это делается в общей сложности 2 раза, поэтому пользователь вводит 06/01/2016 и получает июнь, июль и август. Теперь я хочу взять цифры за каждый из трех названных месяцев и суммировать их в таблице "Сводка". Проблема, с которой я сталкиваюсь, связана с использованием формулы INDIRECT() и того факта, что ячейки Months отформатированы не как текст, а как дата (на самом деле пользовательские даты).

Как бы я мог ссылаться на таблицы в июне, июле и августе в формуле, если данные в ячейках не являются текстовыми? Что-то вроде =B1!H3 если я пытаюсь получить доступ =July!H3 . Надеюсь, это имеет смысл. Если нет, дайте мне знать, и я могу попытаться выяснить это. Спасибо!

1 ответ1

1

Вот одно из решений:

Допустим, пользователь вводит свою дату в E1 .

  • F1 содержит =DATE(YEAR(E1),MONTH(E1)+1,1)
  • G1 содержит =DATE(YEAR(F1),MONTH(F1)+1,1)
  • H1 содержит =DATE(YEAR(G1),MONTH(G1)+1,1)

(Я сократил названия месяцев для этой следующей части)

Вы можете использовать функцию CHOOSE для предоставления списка вариантов, один из которых будет выбран на основе числа, указанного в первом аргументе. В качестве примера предположим, что вы хотите получить значение A1 из одной из названных таблиц:

  • F2 содержит =CHOOSE(MONTH(F1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
  • G2 содержит =CHOOSE(MONTH(G1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
  • H2 содержит =CHOOSE(MONTH(H1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)

и мы скажем, если вы хотите, чтобы сумма в I2 просто сделать

=SUM(F2:H2)

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

=SUM(CHOOSE(MONTH(F1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1), CHOOSE(MONTH(G1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1), CHOOSE(MONTH(H1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1))

(абсолютные ссылки необязательны)

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