--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Простой вопрос по Экселю

9
15
С друзьями на NN.RU
В социальных сетях
Поделиться
неспец
04.11.2006
Вопрос в файле
Желательно именно формулу, не макрос? Макросом-то это делается элементарным циклом, а вот как с помощью стандартных функций это реализовать - не соображу...
неспец
04.11.2006
Приведи пример как с помощью макроса сделать, может докумекаю?
Не знал, как макрос запускать по изменению - спасибо Monstria. Вписал цикл в этот пример. Не нашёл метод "проверка на пустое значение", решил тупо сравнивать с пустой строкой. Можно, конечно, не на первой пустой ячейке осанавливаться, а действительно на последней заполненной в этом столбце - ну это уже смотря по требованиям.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Target.Column = 1 Then
For i = 1 To 65535
If Me.Cells(i, 1).Value = "" Then
Me.Cells(9, 5).Value = Me.Cells(i - 1, 1).Value
GoTo end_sub
End If
Next i
End If
end_sub:
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
Monstria
04.11.2006
А зачем так? - Тратит ресурсы.. проше же просто отследить изменения в ячейке...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Me.Cells(9, 5).Value = Target.Value
End If
End Sub
Или тебе надо знать именно последнее значение?
Не мне - автору нужно:
В ячейку Е9 нужно поставить формулу, чтобы там отображалось последнее из введенных в столбец А число

Правда, такая формулировка расплывчата. Я понял, что последнее в столбце.
Monstria
04.11.2006
Ну, если нужно только последнее число - то M1Xan·· изяшьнее справился, а тебе могу посоветовать использовать в этом случае цикл не FOR а DO WHILE
:) Так проше будет :)
Monstria
04.11.2006
Попробуй - я конечно не гений, но работает :)
Ответ в файле :)
M1Xan
04.11.2006
Может это и изврат, но вроде работает :)
=ИНДЕКС(A:A;СУММ(A:A)/СРЗНАЧ(A:A))
т.е. сумма, деленная на среднее, дает кол-во введенных чисел...
ЗЫ: я в экселе вообще чайник, так что просьба не пинать, если что :)
Monstria
04.11.2006
Вопрос в том, что бы отображелось не колличество введенных чисел, а значение последней введеной.. я вроде же сделал так, что записывается последнее введенное число в первом слобце.. вроде задачу так понял..
M1Xan
04.11.2006
Именно так.
Зная количество чисел, получить значение последнего элементарно, с помощью ф-ции ИНДЕКС() , я просто про это не сказал, но в формуле это написано.

Вообще меня удивило, что нет функции, возвращающей количество заполненных ячеек в интервале... Хотя понятно, что многие другие функции ее используют как внутреннюю.
Monstria
04.11.2006
Увы - может я просто боян? Но у меня ваша формула не работает.. И логика формулы до меня не дошла - ишу описание (ИНДЕКС) потом постораюсь вникнуть во все остальное :(
Monstria
04.11.2006
Может ты и прав, только автор топика не уточнил идёт ли последовательность чисел в арифмитическом порядке и порядок ввода онных - всегда ли в новой строке?
p.s. Наверное я боюн всеже :)
Monstria
04.11.2006
M1Xan писал(а)
Возвращает значение или ссылку на значение из таблицы или интервала. Функция ИНДЕКС() имеет две синтаксические формы: ссылка и массив (Массив. Объект, используемый для получения нескольких значений в результате вычисления одной формулы или для работы с набором аргументов, расположенных в различных ячейках и сгруппированных по строкам или столбцам. Диапазон массива использует общую формулу; константа массива представляет собой группу констант, используемых в качестве аргументов.). Ссылочная форма всегда возвращает ссылку; форма массива всегда возвращает значение или массив значений.

ИНДЕКС(массив;номер_строки;номер_столбца) возвращает значение указанной ячейки или массив значений в аргументе «массив».

ИНДЕКС(ссылка ;номер_строки;номер_столбца;номер_области) возвращает ссылку на указанные ячейки или ячейки в аргументе «ссылка».



Если учесть, что числа идут в арифмитическом порядке, если каждый раз значения вводится с новой строки - то работает... А если нет? Если ты изменяешь уже сушествуюшию надпись - то не работает!!!

Но если выполняется первое условие - то твоё решение изяшьно +1
;)
неспец
04.11.2006
Всем откликнувшимся - большое спасибо. Оба варианта работают. Тему можно считать закрытой.
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Форум Тема (Автор) Последний ответ Ответов
Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.

Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.