Страницы: 1
RSS
Замена пустых ячеек на среднее соседних
 
Подскажите куда копать. Подозреваю, что как-то связано с функцией Просмотр, но никак не могу понять логику этой функции. Видел ребята очень сложные конструкции ей выстраивают.

У меня задача простая. Есть столбец данных, есть пропуски данных. Цель - заменить пропуски средним значением соседних ячеек выше-ниже. Пример прилагаю. Заранее спасибо за помощь.
 
Код
Sub test()
  Set r = [a2:a13].SpecialCells(xlCellTypeBlanks)
  If Not r Is Nothing Then r.FormulaR1C1 = "=(R[-1]C+R[1]C)/2"
End Sub
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
oleg28,
Код
=ЕСЛИ(ЕПУСТО(RC[-2]);
СРЗНАЧ(R[-1]C;R[1]C)
;RC[-2]) 
 
Евгений Кириллов, для чего так растягивать сообщение?
 
Копируете формулу,
Выделяете диапазон,
F5, выделить, пустые ячейки
Вставить
 
Цитата
vikttur пишет:
для чего так растягивать сообщение?
В строке 3 - его текущая формула, выделил таким способом (осознанно). Существенно на высоту комментария не повлияло.
 
После скопированного имени - 2 пробела, между частями формулы - по 1 пробелу. лишнее это.
Прошу следить за "качеством" :)
 
Спасибо за помощь, но у меня что-то не всплывает. Возвращает ошибку.
Макрос - да, но мне пока до них далеко. А задача именно в разобраться.

P.S. В идеале без F5 - задача именно добиться авторасчета.
 
тогда макрос нужно писать в области UsedRange и постоянно вычислять после изменений на листве ь.е. записать то что выше в событие изменение листа.
Автоматизация приложений, разработка ботов, парсинг сайтов, поиск информации и многое другое на языках : Delphi, C++, VBA. Информация в профиле.
 
Цитата
oleg28 пишет: Возвращает ошибку.
ошибку #ЗНАЧ ? попробуйте тогда
Код
=ЕСЛИ(A2="";(Ч(A1)+Ч(A3))/2;A2)
F1 творит чудеса
Страницы: 1
Наверх