Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как подставлять динамический номер столбца в формулу? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как подставлять динамический номер столбца в формулу? (Формулы/Formulas)
Как подставлять динамический номер столбца в формулу?
lopuxi Дата: Пятница, 18.12.2020, 15:31 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
В общем ситуация такая.
Есть таблица, в ней есть значения расположенные по вертикали (ТВ, Радио, Пресса и т.д.) и по горизонтали в шапке (Январь, Февраль, Март и т.д.)

Я хочу использовав формулу =СУММЕСЛИМН для того что бы просуммировать в Январе все значения в таблице с "ТВ"

Но у меня получается проблема. Я могу получить номер колонки с месяцем. =ПОИСКПОЗ($B$1;Лист2!$1:$1;0) допустим находим февраль, колонка №3
Далее я бы мог использовать =ДВССЫЛ("Лист2!R1C3;ЛОЖЬ), но мне то нужно выделить весь столбец и только столбец без указания строки... То есть использовать ДВССЫЛ только с "C3" без "R1", но тогда я получаю ошибку.

Есть ли возможность в формуле динамически подставлять значение именно номера столбца?
Код
=СУММЕСЛИМН(Лист2!$B:$B;Лист2!$A:$A;Лист1!A3)


Прикрепил файл, накидал в ней табличку.
К сообщению приложен файл: ____.xlsx (11.4 Kb)


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Пятница, 18.12.2020, 16:22
 
Ответить
СообщениеВ общем ситуация такая.
Есть таблица, в ней есть значения расположенные по вертикали (ТВ, Радио, Пресса и т.д.) и по горизонтали в шапке (Январь, Февраль, Март и т.д.)

Я хочу использовав формулу =СУММЕСЛИМН для того что бы просуммировать в Январе все значения в таблице с "ТВ"

Но у меня получается проблема. Я могу получить номер колонки с месяцем. =ПОИСКПОЗ($B$1;Лист2!$1:$1;0) допустим находим февраль, колонка №3
Далее я бы мог использовать =ДВССЫЛ("Лист2!R1C3;ЛОЖЬ), но мне то нужно выделить весь столбец и только столбец без указания строки... То есть использовать ДВССЫЛ только с "C3" без "R1", но тогда я получаю ошибку.

Есть ли возможность в формуле динамически подставлять значение именно номера столбца?
Код
=СУММЕСЛИМН(Лист2!$B:$B;Лист2!$A:$A;Лист1!A3)


Прикрепил файл, накидал в ней табличку.

Автор - lopuxi
Дата добавления - 18.12.2020 в 15:31
lopuxi Дата: Пятница, 18.12.2020, 15:40 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
так, стопэ...
у меня только что получилось в собственном же примере реализовать свою идею.
Однако в моей рабочей таблице так же возникает ошибка.

Пока что разбираюсь. Главное что должно значит все работать, надо понять почему у меня в основной таблице не пашет...
К сообщению приложен файл: 3114496.xlsx (11.5 Kb)


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

Пока что разбираюсь. Главное что должно значит все работать, надо понять почему у меня в основной таблице не пашет...

Автор - lopuxi
Дата добавления - 18.12.2020 в 15:40
Kostya_Ye Дата: Пятница, 18.12.2020, 15:45 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 271
Репутация: 228 ±
Замечаний: 0% ±

Excel 2016
lopuxi, и вам добрый день,
вот так ?
Код
=СУММЕСЛИМН(ИНДЕКС(Лист2!B:M;;ПОИСКПОЗ(Лист1!$B$1; Лист2!$B$1:$M$1; 0));Лист2!$A:$A;Лист1!A3)
 
Ответить
Сообщениеlopuxi, и вам добрый день,
вот так ?
Код
=СУММЕСЛИМН(ИНДЕКС(Лист2!B:M;;ПОИСКПОЗ(Лист1!$B$1; Лист2!$B$1:$M$1; 0));Лист2!$A:$A;Лист1!A3)

Автор - Kostya_Ye
Дата добавления - 18.12.2020 в 15:45
lopuxi Дата: Пятница, 18.12.2020, 15:45 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Всем спасибо за внимание! :)
Было очень приятно пообщаться. booze
Ошибку нашел, оказывается у меня "C" была написана на русской раскладке. :bag:


О_о ...и так можно было?
 
Ответить
СообщениеВсем спасибо за внимание! :)
Было очень приятно пообщаться. booze
Ошибку нашел, оказывается у меня "C" была написана на русской раскладке. :bag:

Автор - lopuxi
Дата добавления - 18.12.2020 в 15:45
Kostya_Ye Дата: Пятница, 18.12.2020, 15:46 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 271
Репутация: 228 ±
Замечаний: 0% ±

Excel 2016
lopuxi,
Вот как важно уметь правильно задать вопрос на форуме !! hands
 
Ответить
Сообщениеlopuxi,
Вот как важно уметь правильно задать вопрос на форуме !! hands

Автор - Kostya_Ye
Дата добавления - 18.12.2020 в 15:46
lopuxi Дата: Пятница, 18.12.2020, 15:49 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
СУММЕСЛИМН(ИНДЕКС(Лист2!B:M;;ПОИСКПОЗ(Лист1!$B$1; Лист2!$B$1:$M$1; 0));Лист2!$A:$A;Лист1!A3)


Да, наверно и так можно было, но через индекс не очень удобно. Я через поиск позиции реализовал все. Нахожу нужный мне месяц и определяю какая это колонка и через ДВССЫЛ задаю ее в формуле СУММЕСЛИМН. Так как ручками меняется только месяц, а искомое значение в первом столбце оно всегда статично, формула СУММЕСЛИМН спокойно ищет там то что нужно

Я в итоге сделал так:
Код
=СУММЕСЛИМН(ДВССЫЛ("Лист2!C"&ПОИСКПОЗ($B$1;Лист2!$1:$1;0);ЛОЖЬ);Лист2!$A:$A;Лист1!A3)


Все работает)


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Пятница, 18.12.2020, 16:22
 
Ответить
Сообщение
СУММЕСЛИМН(ИНДЕКС(Лист2!B:M;;ПОИСКПОЗ(Лист1!$B$1; Лист2!$B$1:$M$1; 0));Лист2!$A:$A;Лист1!A3)


Да, наверно и так можно было, но через индекс не очень удобно. Я через поиск позиции реализовал все. Нахожу нужный мне месяц и определяю какая это колонка и через ДВССЫЛ задаю ее в формуле СУММЕСЛИМН. Так как ручками меняется только месяц, а искомое значение в первом столбце оно всегда статично, формула СУММЕСЛИМН спокойно ищет там то что нужно

Я в итоге сделал так:
Код
=СУММЕСЛИМН(ДВССЫЛ("Лист2!C"&ПОИСКПОЗ($B$1;Лист2!$1:$1;0);ЛОЖЬ);Лист2!$A:$A;Лист1!A3)


Все работает)

Автор - lopuxi
Дата добавления - 18.12.2020 в 15:49
китин Дата: Пятница, 18.12.2020, 15:51 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
lopuxi, - Прочитайте Правила форума
- Оформите все формулы тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)
137 сообщений 5 лет на форуме, а правила прочитать не удосужились


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеlopuxi, - Прочитайте Правила форума
- Оформите все формулы тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)
137 сообщений 5 лет на форуме, а правила прочитать не удосужились

Автор - китин
Дата добавления - 18.12.2020 в 15:51
lopuxi Дата: Пятница, 18.12.2020, 16:32 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007, 2013
Оформите все формулы тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)


Поправил
Зато я научился пользоваться смайлами :crazy:
они тут такие же как в моем детсве ICQ были ))
только они почему то не всегда отображаются... :suspect:


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Пятница, 18.12.2020, 16:34
 
Ответить
Сообщение
Оформите все формулы тегами (в режиме правки поста выделите формулу и нажмите кнопку fx, пояснялка здесь)


Поправил
Зато я научился пользоваться смайлами :crazy:
они тут такие же как в моем детсве ICQ были ))
только они почему то не всегда отображаются... :suspect:

Автор - lopuxi
Дата добавления - 18.12.2020 в 16:32
Pelena Дата: Пятница, 18.12.2020, 18:34 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Ещё вариант до кучи
Код
=СУММПРОИЗВ(Лист2!$B$2:$M$1000*(Лист2!$A$2:$A$1000=$A3)*(Лист2!$B$1:$M$1=$B$1))

Все работает
не стоит увлекаться волатильной функцией ДВССЫЛ, которая пересчитывается при каждом чихе. С ИНДЕКС() будет быстрее


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕщё вариант до кучи
Код
=СУММПРОИЗВ(Лист2!$B$2:$M$1000*(Лист2!$A$2:$A$1000=$A3)*(Лист2!$B$1:$M$1=$B$1))

Все работает
не стоит увлекаться волатильной функцией ДВССЫЛ, которая пересчитывается при каждом чихе. С ИНДЕКС() будет быстрее

Автор - Pelena
Дата добавления - 18.12.2020 в 18:34
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как подставлять динамический номер столбца в формулу? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!