2015-08-06 7 views
0

У меня есть вызов в Excel, надеюсь, вы, ребята, можете решить для меня.Динамический расчет в Excel на основе значения ячейки

У меня есть раскрывающийся список (недели), где я выбираю неделю 2015-18 - 2016-17. (nr 1 на картинке)

В ячейке под названием LY (nr 2 на картинке) Я хочу, чтобы это набирало результат динамического диапазона сумм, основанный на вводе недель.

Picture of setup of the text above

Логика Расчет:

  • Если я выбрать неделю 2015-20, то VBA или формула должна суммировать (F5: F7)/(G5: G7).
  • Итак, другими словами, я хочу динамический расчет, который начинается с недели 2015-18 (F5/G5), а затем суммирует значения до значения, которое я выбрал в «Недель»

Picture of the setup of the logic values

  • Значение этого расчета должно быть указано в LY (первое изображение, nr 2).

Я действительно надеюсь, что вы можете решить это для меня. У меня есть больше строк для расчета, поэтому, если бы вы могли придумать «глобальный» код, который будет работать для этого, было бы замечательно

+0

Фотографии не отображаются. –

+0

Пожалуйста, не публикуйте здесь, просто спрашивая: «Если бы вы могли создать глобальный код». Это сайт вопросов и ответов, который требует конкретных вопросов для предоставления конкретных ответов. Вы что-то пробовали? Вы знакомы с VBA? Решение формулы, вероятно, лучше всего здесь - вы что-то пробовали? Посмотрите на функцию INDIRECT(), чтобы начать с нее. –

+0

Привет, я пробовал с SUMIF, OFFSET (с MATCH), мне удалось получить значение с недели (например, 2015-19), но не удалось суммировать разные недели togheter – Dendera

ответ

0

ok, поэтому вам не нужен VBA для этого .....

ради более легких обновлений; отметьте weekrange правой кнопкой мыши их и дать им название, с Define name

Я назвал его yearlyweeks

Эти две раскрывающиеся меню списков, будет содержать значение, соответствующее тексту, указывающей на этой неделе.

Таким образом, мы можем использовать это, чтобы получить клетки обратиться по значению (если этот текст является уникальным в названных yearlyweeks диапазон):

=ADDRESS(MATCH(H8,yearlyweeks, 0), 2) 

где H8 является адрес ячейки из DROPDOWNLIST клетки. 2 является индекс столбца в столбце «B»

это приведет к чему-то вроде:

$B$2 

, где 2 показывает относительный индекс строки, в диапазоне, не абсолютный номер строки.

мы действительно не заинтересованы в колонке, или относительной строке, только абсолютной подряд, но до сих пор мы можем жить с относительной ..:

=ROW(INDIRECT(ADDRESS(MATCH(H8,yearlyweeks, 0), 2))) 

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

позволяет вычислить ячейки в I10 и J10 ..

  • I10 удерживать относительную строку для начала недели
  • J10 для закончившейся недели

ниже создать новый набор ячеек с:

="F"&(I10 + 7) 

и

="G"&(J10 + 7) 

, где 7 является строка смещения yearlyweeks

в еще еще одной ячейки J12 мы делаем строку диапазона:

=CONCATENATE(I11;":";J11) 

, а затем делает расчет в последней ячейке:

=SUM(INDIRECT(J12)) 

Теперь я могу сделайте это как один лайнер, но вы действительно ненавидите его

Смежные вопросы