Это простое руководство о том, как создать и отобразить столбчатую диаграмму в ячейке; метод, который очень хорошо работает при создании управленческих отчетов.
Шаги:
1. В столбце A введите значения, которые вы хотите отобразить, т.е. в ячейку A1 введите значение 10, в ячейку A2 20 и т. Д.
2. В столбце B1 введите следующую формулу: = ПОВТОР («n», A1). Эта формула просто указывает Excel повторить значение, хранящееся между «», по числу в ячейке A1.
3. Измените шрифт на «Wingdings».
4. См. Пример 1 в прикрепленном файле Excel.
5. Если вы хотите уменьшить длину столбчатой диаграммы, просто разделите «A1» в приведенной выше формуле на 10 или на любое другое число, которое имеет наибольший смысл. Например, формула будет выглядеть так = ПОВТОР («n», A1 / 10). См. Пример 2 в прикрепленном файле Excel.
Следует отметить, что, изменяя «n» в приведенной выше формуле, вы можете отображать разные изображения. Например, заглавная «J» будет отображать улыбающееся лицо, а заглавная «L» - грустное лицо. См. Пример 3 в прикрепленном файле Excel.
Работа с отрицательными ценностями
Приведенные выше формулы хорошо работают, когда вы имеете дело с положительными значениями. Однако, если значение в столбце A отрицательное, график в столбце B изменится на строку, состоящую из ряда различных символов, что приведет к потере желаемого эффекта (см. Пример 4 в прилагаемой электронной таблице).
Один из способов преодолеть это ограничение - использовать оператор IF, например:
= ЕСЛИ (A21 <0, ПОВТОР («n», ABS (A21 / 10)), ПОВТОР («n», A21 / 10))
Объяснение приведенной выше формулы:
1. Предположим, что значение, которое вы пытаетесь отобразить на гистограмме, находится в ячейке A21. Это значение также отрицательное.
2. Формула начинается с того, что если значение в A21 меньше 0, т. Е. Отрицательное, то повторите «n» на абсолютное значение (ABS), содержащееся в ячейке A21, а затем разделите это число на 10. Используя абсолютное значение, вы получите скажите Excel игнорировать отрицательный знак и рассматривать число как положительное значение.
3. Следующая часть формулы сообщает Excel, что делать, если значение больше 0.
4. См. Пример 4 в прикрепленном файле.
Интересным дополнением к вышесказанному было бы использование условного форматирования для изменения цвета графика, чтобы сказать красный для отрицательных значений и синий для положительных значений. Дайте волю своему воображению!
В следующем руководстве будет описано, как создать диаграмму в ячейке, подобной той, которая отображается в таблице выше в столбце «Тренд».
Диаграмма создается с помощью функции CellChart. Вы должны ввести его в Excel, как любую другую стандартную функцию, например, СУММ, СРЕДНЕЕ или ВПР и т. Д. Эта функция называется «Пользовательская функция» и не является стандартной функцией, доступной в Microsoft Excel. Он должен быть создан пользователем с помощью VBA.
При вводе в Excel функция CellChart выглядит так:
При более внимательном рассмотрении функции CellChart диапазон для диаграммы определяется в первой части функции, C3: F3 в приведенном выше примере. Затем определяется цвет диаграммы, 203 используя приведенный выше пример.
Теперь о материалах VBA
1. Войдите в окно проекта VBA, щелкнув правой кнопкой мыши имя листа и выбрав «Просмотреть код» или выбрав «ALT, F11».
2. С правой стороны щелкните правой кнопкой мыши имя проекта и выберите вставку «модуль».
3. Скопируйте и вставьте следующий код в новый модуль, который вы только что создали:
'Создает новую функцию с именем Cell Chart Function CellChart (Plots As Range, Color As Long) As String' Определяет переменные, которые будут использоваться позже в коде Const cMargin = 2 Dim rng As Range, arr () As Variant, i As Long, j As Long, k As Long Dim dblMin As Double, dblMax As Double, shp As Shape 'Следующее вычисляет графики, которые будут использоваться для диаграммы Set rng = Application.Caller ShapeDelete rng For i = 1 To Plots.Count Если j = 0, то j = i ElseIf Plots (, j)> Plots (, i) Then j = i End If If k = 0 Then k = i ElseIf Plots (, k)0 Затем .Line.ForeColor.RGB = Color Else .Line.ForeColor.SchemeColor = -Color End With End With CellChart = "" Конечная функция Sub ShapeDelete (rngSelect As Range) 'Определяет переменные, которые будут использоваться позже в коде Dim rng As Range, shp As Shape, blnDelete As Boolean For each shp In rngSelect.Worksheet.Shapes blnDelete = False Set rng = Intersect (Range (shp.TopLeftCell, shp.BottomRightCell), rngSelect) Если не rng Is Nothing Then If rng .Address = Range (shp.TopLeftCell, shp.BottomRightCell) .Address Then blnDelete = True End If If blnDelete Then shp.Delete Next End Sub
4. Щелкните по кнопке сохранения.
5. Щелкните маленький значок Excel в правом верхнем углу под меню «Файл», чтобы выйти из окна проекта VBA и вернуться в Excel.
6. Введите функцию CellChart в любую ячейку, как показано выше.
7. См. Рабочий пример вышеуказанного в прилагаемой книге.
Для получения дополнительной информации об этом типе построения диаграмм в ячейках посетите:
В диаграммах ячеек