Идет обработка данных, иногда данных нет, и тогда надо вернуть эквивалент пустой ячейки. 1)
Код
=ЕСЛИ(ЕЧИСЛО(A1); A1*1000; "")
2)
Код
=ЕСЛИ(ЕЧИСЛО(A1); A1*1000; НД())
В 1м случае такие функции как AVERAGE() СРЗНАЧ() нормально воспринимают "" как пустую ячейку, но построитель графиков трактует "" как 0 (ноль). В 2м случае такие функции как AVERAGE() СРЗНАЧ() возвращает #Н/Д, а построитель графиков соединят прямой соседние данные. При настройках по умолчанию, построитель графиков для пустых ячеек делает разрыв.
Что вернуть в формуле, чтобы и построитель графиков и функции типа AVERAGE() СРЗНАЧ() воспринимали результат как пустую ячейку? Для построителя графиков послабление: не обязательно делать разрыв, можно соединять прямой. Главное не падать в ноль.
VBA типа: [vba]
Код
Sub FindAndClearEmptyInFormulas() Dim rCell As Range With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rCell In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas) If rCell.Value = "" Then rCell.ClearContents Next rCell With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba] не предлагать. [moder]Приложите файл-пример.[/moder]
Идет обработка данных, иногда данных нет, и тогда надо вернуть эквивалент пустой ячейки. 1)
Код
=ЕСЛИ(ЕЧИСЛО(A1); A1*1000; "")
2)
Код
=ЕСЛИ(ЕЧИСЛО(A1); A1*1000; НД())
В 1м случае такие функции как AVERAGE() СРЗНАЧ() нормально воспринимают "" как пустую ячейку, но построитель графиков трактует "" как 0 (ноль). В 2м случае такие функции как AVERAGE() СРЗНАЧ() возвращает #Н/Д, а построитель графиков соединят прямой соседние данные. При настройках по умолчанию, построитель графиков для пустых ячеек делает разрыв.
Что вернуть в формуле, чтобы и построитель графиков и функции типа AVERAGE() СРЗНАЧ() воспринимали результат как пустую ячейку? Для построителя графиков послабление: не обязательно делать разрыв, можно соединять прямой. Главное не падать в ноль.
VBA типа: [vba]
Код
Sub FindAndClearEmptyInFormulas() Dim rCell As Range With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rCell In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas) If rCell.Value = "" Then rCell.ClearContents Next rCell With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba] не предлагать. [moder]Приложите файл-пример.[/moder]AlexKniga