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

Вход

Регистрация

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

 

= Мир MS Excel/Вставка формулы с учётом изменения адреса - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка формулы с учётом изменения адреса (Макросы/Sub)
Вставка формулы с учётом изменения адреса
viper825 Дата: Понедельник, 02.11.2020, 16:01 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Доброго времени!
Люди добрые, подскажите пожалуйста, как макросом можно вставить формулу в графу "СРЕДНЯЯ ПО ВСЕМ ПРОДУКТАМ" (в таком же формате как написано сейчас, с прямыми ссылками на ячейку) при том, что кол-во продуктов может быть разное (от 1 до 10) и цен на эти продукты тоже разное кол-во (где-то тоже от 1 до 10), т.е. итоговые столбцы по продуктам "гуляют" и адрес заранее неизвестен.

Заранее спасибо за уделённое время!
К сообщению приложен файл: 1650102.xls (33.5 Kb)
 
Ответить
СообщениеДоброго времени!
Люди добрые, подскажите пожалуйста, как макросом можно вставить формулу в графу "СРЕДНЯЯ ПО ВСЕМ ПРОДУКТАМ" (в таком же формате как написано сейчас, с прямыми ссылками на ячейку) при том, что кол-во продуктов может быть разное (от 1 до 10) и цен на эти продукты тоже разное кол-во (где-то тоже от 1 до 10), т.е. итоговые столбцы по продуктам "гуляют" и адрес заранее неизвестен.

Заранее спасибо за уделённое время!

Автор - viper825
Дата добавления - 02.11.2020 в 16:01
Pelena Дата: Понедельник, 02.11.2020, 17:30 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Код
=СРЗНАЧЕСЛИ($B$3:$Q$3;"Средняя цена*";B4:Q4)
К сообщению приложен файл: 3648479.xls (34.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Код
=СРЗНАЧЕСЛИ($B$3:$Q$3;"Средняя цена*";B4:Q4)

Автор - Pelena
Дата добавления - 02.11.2020 в 17:30
Gustav Дата: Понедельник, 02.11.2020, 17:32 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
А по-человечески не хотите сделать формулой? Например, так (для R4 - и протягиваемая ниже):
Код
=СУММЕСЛИ(B$3:Q$3;"Средняя*";B4:Q4)/СЧЁТЕСЛИ(B$3:Q$3;"Средняя*")

По слову "Средняя" в заголовке промежуточных колонок всегда будет понятно, откуда тянутся значения - уж всяко поудобнее, чем внутри формулы список из абсолютных адресов анализировать.
P.S.
=СРЗНАЧЕСЛИ($B$3:$Q$3;"Средняя цена*";B4:Q4)
Ха! Уже и сразу СРЗНАЧЕСЛИ есть - тем более!


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 02.11.2020, 17:36
 
Ответить
СообщениеА по-человечески не хотите сделать формулой? Например, так (для R4 - и протягиваемая ниже):
Код
=СУММЕСЛИ(B$3:Q$3;"Средняя*";B4:Q4)/СЧЁТЕСЛИ(B$3:Q$3;"Средняя*")

По слову "Средняя" в заголовке промежуточных колонок всегда будет понятно, откуда тянутся значения - уж всяко поудобнее, чем внутри формулы список из абсолютных адресов анализировать.
P.S.
=СРЗНАЧЕСЛИ($B$3:$Q$3;"Средняя цена*";B4:Q4)
Ха! Уже и сразу СРЗНАЧЕСЛИ есть - тем более!

Автор - Gustav
Дата добавления - 02.11.2020 в 17:32
viper825 Дата: Понедельник, 02.11.2020, 18:04 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
:) Спасибо большое!
Называется горе от ума... сто раз пользовался уже этой формулой, сейчас полез куда-то)
 
Ответить
Сообщение:) Спасибо большое!
Называется горе от ума... сто раз пользовался уже этой формулой, сейчас полез куда-то)

Автор - viper825
Дата добавления - 02.11.2020 в 18:04
Gustav Дата: Понедельник, 02.11.2020, 19:04 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Обладая некоторой привычкой доводить дело до конца (иногда ;) ), даю некое направление в решении исходной задачи средствами VBA. Это именно набросок, не законченное и, тем более, не универсальное решение:
[vba]
Код
Sub createFormula_in_R4()
    Dim a, s
    a = Application.Evaluate("=IF(ISERR(SEARCH(""Средняя"",B3:Q3)), """", ADDRESS(ROW(B4),COLUMN(B4:Q4),4))")
    s = Application.Evaluate("=SUBSTITUTE(TRIM(""" & Join(a) & """),"" "","","")")
    Range("R4").Formula = "=AVERAGE(" & s & ")"
End Sub
[/vba]
В результате выполнения макроса в ячейку R4 вводится формула:
Код
=СРЗНАЧ(B4;I4;M4)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеОбладая некоторой привычкой доводить дело до конца (иногда ;) ), даю некое направление в решении исходной задачи средствами VBA. Это именно набросок, не законченное и, тем более, не универсальное решение:
[vba]
Код
Sub createFormula_in_R4()
    Dim a, s
    a = Application.Evaluate("=IF(ISERR(SEARCH(""Средняя"",B3:Q3)), """", ADDRESS(ROW(B4),COLUMN(B4:Q4),4))")
    s = Application.Evaluate("=SUBSTITUTE(TRIM(""" & Join(a) & """),"" "","","")")
    Range("R4").Formula = "=AVERAGE(" & s & ")"
End Sub
[/vba]
В результате выполнения макроса в ячейку R4 вводится формула:
Код
=СРЗНАЧ(B4;I4;M4)

Автор - Gustav
Дата добавления - 02.11.2020 в 19:04
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставка формулы с учётом изменения адреса (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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