Показать полную графическую версию : Опять про эксель
Razdolbay
14-02-2006, 11:50
Какое значение имеет пустая ячейка? Надо заполнить таковые нулями и раскрасить. Руками надоело. А вот как ее автоматически учесть - в поиске\замене, или автоформате?
Pliomera
14-02-2006, 14:08
Тип данных по умолчанию в пустой ячейке - Variant. Это значит, что если ячейка участвует в к-либо вычислении как число, то ее значение будет 0 - ноль, если она участвует как текст - ее значение будет "" - пустая строка.
Надо заполнить таковые нулями и раскрасить.
На ВСЕМ листе?????? Зачем? Можно принудительно указать тип данных в ячейке через "Формат ячейки" -> "Число". В меню "Параметры" включить или отключить показ нулевых значений.
А вот как ее автоматически учесть - в поиске\замене, или автоформате?
Поясните немножко свою мысль. Хотя-бы на примере.
Razdolbay
14-02-2006, 15:48
Поясните немножко свою мысль. Хотя-бы на примере.
Собственно, бОльшую часть я уже услышал. Спасибо.
Тут чуть другой вопрос возник. Имеется таблица, закупки клиентов помесячно за всю историю компании. Надо как-то подсчитать, сколько времени каждый из них с нами работает. Простой "счет" не подходит, он пустые ячейки не учитывает. Надо как-то находить первую закупку и потом считать количество столбцов до сегодняшнего дня. Реально это автоматически свершить?
Pliomera
14-02-2006, 17:41
Если я правильно понял задачу - мы имеем таблицу, в которой по строкам расположены наименования клиентов, а в заголовках вертикальных столбцов - наименования месяцев и лет. В самих же ячейках наверное суммы (?), но некоторые из-них пусты, т.к. в некоторые месяцы некоторые клиенты закупок не совершали. Требуется найти номер (наименование) столбца, в котором конкретный клиент фигурирует впервые, и количество столбцов, на которое данный столбец отстоит от столбца текущего месяца, правильно?
Проще всего поручить выполнение этой работы специально написанному макросу на VBA.
Код может быть таким:
Sub ClientTime()
Dim MountCount As Integer, i As Integer
For i = 2 To Activecell.Column ' Здесь 2 - номер столбца с которого начинаются помесячные записи. Это может быть и не 2, а какой надо.
If Len(ActiveCell.EntireRow.Cells(i).Value) > 0 Then MountCount = MountCount + 1 'Инкремент
Next i
MsgBox MountCount 'Собственно здесь вывод значения можно делать куда угодно...
End Sub
Для работы этого кода надо поместить рамку курсора напротив имени клиента в столбец текущего месяца. В ответе - количество упоминаний о клиенте в пределах строки.
Если остались непонятки - в PM
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.